summaryrefslogblamecommitdiffstats
path: root/private/oleutest/balls/common/persist.hxx
blob: 7a626d501ad90b2505cb5adad81751e7ef526711 (plain) (tree)
































































                                                                         
//+-------------------------------------------------------------------
//
//  File:	persist.hxx
//
//  Contents:	CPersistStorage declaration
//
//  History:	24-Nov-92   DeanE   Created
//
//---------------------------------------------------------------------

#ifndef __PERSIST_HXX__
#define __PERSIST_HXX__

#include    <embed.hxx>

//+-------------------------------------------------------------------
//  Class:    CPersistStorage
//
//  Synopsis: Test class CPersistStorage
//
//  Methods:  QueryInterface        IUnknown
//            AddRef                IUnknown
//            Release               IUnknown
//            GetClassId            IPersist
//            IsDirty               IPersistStorage
//            InitNew               IPersistStorage
//            Load                  IPersistStorage
//            Save                  IPersistStorage
//            SaveCompleted         IPersistStorage
//
//  History:  24-Nov-92     DeanE   Created
//--------------------------------------------------------------------

class FAR CPersistStorage : public IPersistStorage
{
public:
// Constructor/Destructor
    CPersistStorage(CTestEmbed *pteObject);
    ~CPersistStorage();

// IUnknown - Everyone inherits from this
    STDMETHODIMP	 QueryInterface(REFIID iid, void FAR * FAR *ppv);
    STDMETHODIMP_(ULONG) AddRef        (void);
    STDMETHODIMP_(ULONG) Release       (void);

// IPersist - IPersistStorage inherits from this
    STDMETHODIMP	 GetClassID    (LPCLSID pClassId);

// IPersistStorage
    STDMETHODIMP	 IsDirty       (void);
    STDMETHODIMP	 InitNew       (LPSTORAGE pStg);
    STDMETHODIMP	 Load	       (LPSTORAGE pStg);
    STDMETHODIMP	 Save	       (LPSTORAGE pStgSave,
					BOOL	  fSameAsLoad);
    STDMETHODIMP	 SaveCompleted (LPSTORAGE pStgSaved);
    STDMETHODIMP	 HandsOffStorage (void);

private:
    ULONG       _cRef;          // Reference count
    CTestEmbed *_pteObject;     // Object we're associated with
    BOOL        _fDirty;        // TRUE if object is dirty
};


#endif	//  __PERSIST_HXX__