GME
13
|
00001 00002 #ifndef MGA_COREMETAATTRIBUTE_H 00003 #define MGA_COREMETAATTRIBUTE_H 00004 00005 class CCoreMetaObject; 00006 00007 // --------------------------- CCoreMetaAttribute 00008 00009 class ATL_NO_VTABLE CCoreMetaAttribute : 00010 public CComObjectRootEx<CComSingleThreadModel>, 00011 public IDispatchImpl<ICoreMetaAttribute, &__uuidof(ICoreMetaAttribute), &__uuidof(__MGACoreLib)>, 00012 public ISupportErrorInfoImpl<&__uuidof(ICoreMetaAttribute)> 00013 { 00014 public: 00015 CCoreMetaAttribute(); 00016 00017 DECLARE_GET_CONTROLLING_UNKNOWN() 00018 00019 BEGIN_COM_MAP(CCoreMetaAttribute) 00020 COM_INTERFACE_ENTRY(ICoreMetaAttribute) 00021 COM_INTERFACE_ENTRY(IDispatch) 00022 END_COM_MAP() 00023 00024 // ------- COM methods 00025 00026 public: 00027 STDMETHODIMP get_Object(ICoreMetaObject **p); 00028 STDMETHODIMP get_AttrID(attrid_type *p); 00029 STDMETHODIMP get_Token(BSTR *p); 00030 STDMETHODIMP get_Name(BSTR *p); 00031 STDMETHODIMP get_ValueType(valtype_type *p); 00032 STDMETHODIMP get_LockAttrID(attrid_type *p); 00033 STDMETHODIMP get_MaxSize(long *p); 00034 00035 // ------- Properties 00036 00037 public: 00038 CCoreMetaObject *object; 00039 attrid_type attrid; 00040 valtype_type valtype; 00041 std::wstring token; 00042 std::wstring name; 00043 00044 // ------- Methods 00045 00046 public: 00047 attrid_type GetAttrID() const { return attrid; } 00048 valtype_type GetValType() const { return valtype; } 00049 }; 00050 00051 #endif//MGA_COREMETAATTRIBUTE_H