GME  13
MgaMetaReference.h
Go to the documentation of this file.
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