class CTimeDataDispatch : public IDataObject, public IDispatch
{

    public:
        ULONG               m_RefCount ; 
		IDispatch *			m_pInnerDispatch ;

    public:
     	
        CTimeDataDispatch (void);
        ~CTimeDataDispatch (void);

        //IDropTarget interface members

        STDMETHODIMP	QueryInterface(REFIID, LPVOID FAR *);
        STDMETHODIMP_(ULONG)	AddRef(void);
        STDMETHODIMP_(ULONG)	Release(void);

        STDMETHODIMP GetData (LPFORMATETC, LPSTGMEDIUM) ;
    	STDMETHODIMP GetDataHere (LPFORMATETC, LPSTGMEDIUM) ;
    	STDMETHODIMP QueryGetData (LPFORMATETC) ;
    	STDMETHODIMP GetCanonicalFormatEtc (LPFORMATETC, LPFORMATETC) ;
    	STDMETHODIMP SetData (LPFORMATETC, STGMEDIUM FAR *, BOOL) ;
    	STDMETHODIMP EnumFormatEtc (DWORD, LPENUMFORMATETC FAR*) ;

    	STDMETHODIMP DAdvise (FORMATETC FAR*, DWORD, LPADVISESINK, DWORD FAR*) ;
    	STDMETHODIMP DUnadvise  (DWORD) ;
    	STDMETHODIMP EnumDAdvise  (LPENUMSTATDATA FAR*);  

		// IDispatch interface members

	    STDMETHODIMP GetTypeInfoCount(UINT *pctinfo) ;
	    STDMETHODIMP GetTypeInfo(UINT, LCID, ITypeInfo **pptinfo) ;
		STDMETHODIMP GetIDsOfNames(REFIID, LPOLESTR *, UINT, LCID, DISPID *) ;
		STDMETHODIMP Invoke(DISPID, REFIID, LCID lcid, WORD, DISPPARAMS *,
			VARIANT *, EXCEPINFO *, UINT *) ;
};

