GME  13
MgaMetaConnJoint.h
Go to the documentation of this file.
00001 
00002 #ifndef MGA_MGAMETACONNJOINT_H
00003 #define MGA_MGAMETACONNJOINT_H
00004 
00005 // --------------------------- CMgaMetaConnJoint
00006 
00007 class ATL_NO_VTABLE CMgaMetaConnJoint : 
00008         public CComObjectRootEx<CComSingleThreadModel>,
00009         public CComCoClass<CMgaMetaConnJoint, &__uuidof(MgaMetaConnJoint)>,
00010         public IDispatchImpl<IMgaMetaConnJoint, &__uuidof(IMgaMetaConnJoint), &__uuidof(__MGAMetaLib)>
00011 {
00012 public:
00013         IUnknown *GetUnknown() const { return (IMgaMetaConnJoint*)this; }
00014 
00015 DECLARE_REGISTRY_RESOURCEID(IDR_MGAMETACONNJOINT)
00016 DECLARE_ONLY_AGGREGATABLE(CMgaMetaConnJoint)
00017 
00018 BEGIN_COM_MAP(CMgaMetaConnJoint)
00019         COM_INTERFACE_ENTRY(IMgaMetaConnJoint)
00020         COM_INTERFACE_ENTRY2(IDispatch, IMgaMetaConnJoint)
00021 END_COM_MAP()
00022 
00023 public:
00024         STDMETHOD(get_PointerSpecs)(IMgaMetaPointerSpecs **p)
00025         { return ComGetCollectionValue<IMgaMetaPointerSpec>(
00026                 GetUnknown(), ATTRID_PTRSPECS_COLL, p); }
00027 
00028         STDMETHOD(get_Parent)(IMgaMetaConnection **p)
00029         { return ComGetPointerValue(GetUnknown(), ATTRID_CONNJOINTS_COLL,p); }
00030 
00031         STDMETHOD(get_PointerSpecByName)(BSTR name, IMgaMetaPointerSpec **p)
00032         { return ComGetCollValueByName(name, GetUnknown(), ATTRID_PTRSPECS_COLL, ATTRID_PTRSPECNAME, p); }
00033 
00034         STDMETHOD(GetPointerSpecByNameDisp)(BSTR name, IMgaMetaPointerSpec **p)
00035         { return get_PointerSpecByName( name, p); }
00036 // ------- Edit
00037 
00038 public:
00039         STDMETHOD(CreatePointerSpec)(IMgaMetaPointerSpec **p)
00040         { return ComCreateMetaObj(GetUnknown(), METAID_METAPOINTERSPEC, ATTRID_PTRSPECS_COLL, p); }
00041 
00042 // ------- Methods
00043 
00044 public:
00045         static void Traverse(CMgaMetaProject *metaproject, CCoreObjectPtr &me);
00046         static bool CheckPaths(CCoreObjectPtr &self, jointpaths_type &jointpaths);
00047 };
00048 
00049 #endif//MGA_MGAMETACONNJOINT_H