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