home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************
- THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- PARTICULAR PURPOSE.
-
- Copyright 1997 Microsoft Corporation. All Rights Reserved.
- **************************************************************************/
-
- /******************************************************************************
-
- File: PerStor.h
-
- Description: CPersistStorage definitions.
-
- ******************************************************************************/
-
- #ifndef PERSISTSTORAGE_H
- #define PERSISTSTORAGE_H
-
- /**************************************************************************
- #include statements
- **************************************************************************/
-
- #include "DOServer.h"
-
- /**************************************************************************
-
- CPersistStorage class definition
-
- **************************************************************************/
-
- class COleDocument;
-
- class CPersistStorage : public IPersistStorage
- {
- friend class CPersistFile;
-
- private:
- COleDocument *m_pOleDoc;
- LPSTORAGE m_pStorage;
- LPSTREAM m_pColorStream;
- BOOL m_fSameAsLoad;
-
- public:
- CPersistStorage(COleDocument*);
- ~CPersistStorage();
-
- //IUnknown methods
- STDMETHODIMP QueryInterface(REFIID, LPVOID*);
- STDMETHODIMP_(DWORD) AddRef();
- STDMETHODIMP_(DWORD) Release();
-
- //IPersistStorage methods
- STDMETHODIMP InitNew(LPSTORAGE);
- STDMETHODIMP GetClassID(LPCLSID);
- STDMETHODIMP Save(LPSTORAGE, BOOL);
- STDMETHODIMP SaveCompleted(LPSTORAGE);
- STDMETHODIMP Load(LPSTORAGE);
- STDMETHODIMP IsDirty();
- STDMETHODIMP HandsOffStorage();
-
- private:
- void ReleaseStreamsAndStorage();
- void OpenStreams(LPSTORAGE);
- void CreateStreams(LPSTORAGE);
- void CreateStreams(LPSTORAGE, LPSTREAM*);
-
- };
-
- #endif //PERSISTSTORAGE_H
-