[ATL]
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Sun, 2 Nov 2014 13:35:03 +0000 (13:35 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Sun, 2 Nov 2014 13:35:03 +0000 (13:35 +0000)
- Add a couple of macros needed for the time we will be able to support aggregation with ATL

svn path=/branches/shell-experiments/; revision=65182

lib/atl/atlcom.h

index f00aa86..b260e20 100644 (file)
@@ -521,6 +521,11 @@ public:                                                                                                                                                    \
 #define COM_INTERFACE_ENTRY_IID(iid, x)                                                                                        \
        {&iid, offsetofclass(x, _ComMapClass), _ATL_SIMPLEMAPENTRY},
 
+#define COM_INTERFACE_ENTRY(x)                                                  \
+       {&_ATL_IIDOF(x),                                                            \
+       offsetofclass(x, _ComMapClass),                                             \
+       _ATL_SIMPLEMAPENTRY},
+
 #define COM_INTERFACE_ENTRY2_IID(iid, x, x2)                                                                   \
        {&iid,                                                                                                                                          \
                        reinterpret_cast<DWORD_PTR>(static_cast<x *>(static_cast<x2 *>(reinterpret_cast<_ComMapClass *>(_ATL_PACKING)))) - _ATL_PACKING,        \
@@ -579,6 +584,11 @@ public:                                                                                                                                                    \
 public:                                                                                                                                                        \
        typedef ATL::CComCreator<ATL::CComPolyObject<x> > _CreatorClass;
 
+#define COM_INTERFACE_ENTRY_AGGREGATE(iid, punk)                                \
+       {&iid,                                                                      \
+       (DWORD_PTR)offsetof(_ComMapClass, punk),                                    \
+       _Delegate},
+
 #define DECLARE_GET_CONTROLLING_UNKNOWN()                                                                              \
 public:                                                                                                                                                        \
        virtual IUnknown *GetControllingUnknown()                                                                       \