GME
13
|
00001 // CGMEOLEColl.h : header file 00002 // 00003 00005 // CGMEOLEColl command target 00006 00007 class CGMEOLEColl : public CCmdTarget 00008 { 00009 DECLARE_DYNCREATE(CGMEOLEColl) 00010 public: 00011 CGMEOLEColl(); 00012 00013 // Attributes 00014 public: 00015 CPtrArray m_ptrArray; 00016 00017 // Operations 00018 public: 00019 void CheckIndex(long nIndex); 00020 00021 // Overrides 00022 public: 00023 virtual void OnFinalRelease(); 00024 00025 00026 // OLE dispatch map functions 00027 afx_msg long GetCount(); 00028 afx_msg void Add(LPDISPATCH newValue); 00029 afx_msg long Find(LPDISPATCH findValue); 00030 afx_msg void Remove(const VARIANT FAR& removeValue); 00031 afx_msg void RemoveAll(); 00032 afx_msg LPDISPATCH GetItem(long nIndex); 00033 afx_msg void SetItem(long nIndex, LPDISPATCH newValue); 00034 afx_msg LPUNKNOWN GetNewEnum(); 00035 00036 00037 // Implementation 00038 protected: 00039 virtual ~CGMEOLEColl(); 00040 00041 // Generated message map functions 00042 //{{AFX_MSG(CGMEOLEColl) 00043 // NOTE - the ClassWizard will add and remove member functions here. 00044 //}}AFX_MSG 00045 00046 DECLARE_MESSAGE_MAP() 00047 00048 DECLARE_DISPATCH_MAP() 00049 00050 DECLARE_INTERFACE_MAP() 00051 00052 BEGIN_DUAL_INTERFACE_PART(Dual, IGMEOLEColl) 00053 STDMETHOD(get_Count)(THIS_ long *cnt); 00054 00055 STDMETHOD(Add)(THIS_ IDispatch* newValue); 00056 STDMETHOD(Find)(THIS_ IDispatch* findValue, long *cnt); 00057 STDMETHOD(Remove)(THIS_ VARIANT removeValue); 00058 STDMETHOD(RemoveAll)(THIS); 00059 00060 STDMETHOD(get_Item)(THIS_ long nIndex, IDispatch** val); 00061 STDMETHOD(put_Item)(THIS_ long nIndex, IDispatch* newValue); 00062 STDMETHOD(get__NewEnum)(THIS_ IUnknown** e); 00063 END_DUAL_INTERFACE_PART(Dual) 00064 00065 // add declaration of ISupportErrorInfo implementation 00066 // to indicate we support the OLE Automation error object 00067 DECLARE_DUAL_ERRORINFO() 00068 }; 00069