GME
13
|
00001 00002 #ifndef MGA_MGAMETAREFERENCE_H 00003 #define MGA_MGAMETAREFERENCE_H 00004 00005 #ifndef MGA_MGAMETAFCO_H 00006 #include "MgaMetaFCO.h" 00007 #endif 00008 00009 // --------------------------- CMgaMetaReference 00010 00011 class ATL_NO_VTABLE CMgaMetaReference : 00012 public CComCoClass<CMgaMetaReference, &__uuidof(MgaMetaReference)>, 00013 public CComObjectRootEx<CComSingleThreadModel>, 00014 public IDispatchImpl<IMgaMetaReference, &__uuidof(IMgaMetaReference), &__uuidof(__MGAMetaLib)>, 00015 public CMgaMetaFCO 00016 { 00017 public: 00018 IUnknown *GetUnknown() const { return (IMgaMetaReference*)this; } 00019 00020 DECLARE_REGISTRY_RESOURCEID(IDR_MGAMETAREFERENCE) 00021 DECLARE_ONLY_AGGREGATABLE(CMgaMetaReference) 00022 00023 BEGIN_COM_MAP(CMgaMetaReference) 00024 COM_INTERFACE_ENTRY(IMgaMetaReference) 00025 COM_INTERFACE_ENTRY(IMgaMetaFCO) 00026 COM_INTERFACE_ENTRY2(IMgaMetaBase, CMgaMetaBase) 00027 COM_INTERFACE_ENTRY2(IDispatch, IMgaMetaReference) 00028 END_COM_MAP() 00029 00030 DECLARE_MGAMETAFCO() 00031 00032 public: 00033 STDMETHOD(get_RefSpec)(IMgaMetaPointerSpec **p) 00034 { return ::QueryInterface(GetUnknown(), p); } 00035 00036 STDMETHOD(CheckPath)(BSTR path, VARIANT_BOOL *p); 00037 00038 // ------- Traverse 00039 00040 public: 00041 static void Traverse(CMgaMetaProject *metaproject, CCoreObjectPtr &me); 00042 00043 }; 00044 00045 #endif//MGA_MGAMETAREFERENCE_H