class CPersistTimeData : public IDataObject, public IPersistStream
{

    public:
        ULONG   m_RefCount ; 
		BOOL	m_bIsDirty ;

    public:
     	
        CPersistTimeData(void);
        ~CPersistTimeData(void);

	// IUnknown member functions
		
        STDMETHODIMP	QueryInterface(REFIID, LPVOID *);
        STDMETHODIMP_(ULONG)	AddRef(void);
        STDMETHODIMP_(ULONG)	Release(void);

	// IDataObject member functions
		
		STDMETHODIMP GetData (LPFORMATETC, LPSTGMEDIUM) ;
    	STDMETHODIMP GetDataHere (LPFORMATETC, LPSTGMEDIUM) ;
    	STDMETHODIMP QueryGetData (LPFORMATETC) ;
    	STDMETHODIMP GetCanonicalFormatEtc (LPFORMATETC, LPFORMATETC) ;
    	STDMETHODIMP SetData (LPFORMATETC, STGMEDIUM  *, BOOL) ;
    	STDMETHODIMP EnumFormatEtc (DWORD, LPENUMFORMATETC *) ;
    	STDMETHODIMP DAdvise (FORMATETC *, DWORD, LPADVISESINK, DWORD *) ;
    	STDMETHODIMP DUnadvise  (DWORD) ;
    	STDMETHODIMP EnumDAdvise  (LPENUMSTATDATA *);  

	// IPersistStream member functions

		STDMETHODIMP GetClassID(CLSID *) ;
		STDMETHODIMP IsDirty( void) ;
		STDMETHODIMP Load(IStream *) ;
		STDMETHODIMP Save(IStream *, BOOL) ;
		STDMETHODIMP GetSizeMax(ULARGE_INTEGER *) ;

};

