//+------------------------------------------------------------------- // // File: oleobj.hxx // // Contents: COleObject declarations // // History: 24-Nov-92 DeanE Created // //--------------------------------------------------------------------- #ifndef __OLEOBJ_HXX__ #define __OLEOBJ_HXX__ //+------------------------------------------------------------------- // Class: COleObject // // Synopsis: COleObject implements the IOleObject interface for OLE // objects within the server. There will be one instantiation // per OLE object. // // Methods: QueryInterface IUnknown // AddRef IUnknown // Release IUnknown // SetClientSite IOleObject // GetClientSite IOleObject // SetHostNames IOleObject // Close IOleObject // SetMoniker IOleObject // GetMoniker IOleObject // InitFromData IOleObject // GetClipboardData IOleObject // DoVerb IOleObject // EnumVerbs IOleObject // Update IOleObject // IsUpToDate IOleObject // GetUserType IOleObject // SetExtent IOleObject // GetExtent IOleObject // Advise IOleObject // Unadvise IOleObject // EnumAdvise IOleObject // GetMiscStatus IOleObject // SetColorScheme IOleObject // // History: 17-Dec-92 DeanE Created //-------------------------------------------------------------------- class FAR COleObject : public IOleObject { public: // Constructor/Destructor COleObject(CTestEmbed *pteObject); ~COleObject(); // IUnknown STDMETHODIMP QueryInterface(REFIID iid, void FAR * FAR *ppv); STDMETHODIMP_(ULONG) AddRef (void); STDMETHODIMP_(ULONG) Release (void); // IOleObject STDMETHODIMP SetClientSite (LPOLECLIENTSITE pClientSite); STDMETHODIMP GetClientSite (LPOLECLIENTSITE FAR *ppClientSite); STDMETHODIMP SetHostNames (LPCOLESTR szContainerApp, LPCOLESTR szContainerObj); STDMETHODIMP Close (DWORD dwSaveOption); STDMETHODIMP SetMoniker (DWORD dwWhichMoniker, LPMONIKER pmk); STDMETHODIMP GetMoniker (DWORD dwAssign, DWORD dwWhichMoniker, LPMONIKER FAR *ppmk); STDMETHODIMP InitFromData (LPDATAOBJECT pDataObject, BOOL fCreation, DWORD dwReserved); STDMETHODIMP GetClipboardData( DWORD dwReserved, LPDATAOBJECT FAR *ppDataObject); STDMETHODIMP DoVerb (LONG iVerb, LPMSG pMsg, LPOLECLIENTSITE pActiveSite, LONG lReserved, HWND hwndParent, LPCRECT lprcPosRect); STDMETHODIMP EnumVerbs (IEnumOLEVERB FAR* FAR* ppenmOleVerb); STDMETHODIMP Update (void); STDMETHODIMP IsUpToDate (void); STDMETHODIMP GetUserClassID(CLSID FAR* pClsid); STDMETHODIMP GetUserType (DWORD dwFormOfType, LPOLESTR FAR *pszUserType); STDMETHODIMP SetExtent (DWORD dwDrawAspect, LPSIZEL lpsizel); STDMETHODIMP GetExtent (DWORD dwDrawAspect, LPSIZEL lpsizel); STDMETHODIMP Advise (IAdviseSink FAR *pAdvSink, DWORD FAR *pdwConnection); STDMETHODIMP Unadvise (DWORD dwConnection); STDMETHODIMP EnumAdvise (LPENUMSTATDATA FAR *ppenmAdvise); STDMETHODIMP GetMiscStatus (DWORD dwAspect, DWORD FAR *pdwStatus); STDMETHODIMP SetColorScheme(LPLOGPALETTE lpLogpal); private: ULONG _cRef; // Reference count IOleAdviseHolder FAR *_pOAHolder; // Advise Holder IOleClientSite FAR *_pocs; // This objects client site CTestEmbed *_pteObject; // Object we're associated with IMoniker * _pmkContainer; }; #endif // __OLEOBJ_HXX__