1 // ---------------------------------------------------------------------------- 2 // MODULE : OLEFiles.h 3 // LANGUAGE : C++ 4 // AUTHOR : Yue Zhang 5 // DATE : Tuesday, Janurary 23, 1996 6 // DESCRIPTION : This file defines OLE file object 7 // COMMENT : Enhanced OLE objects which are independent of platform 8 // SCCSID : @(#)olefiles.h 1.2 14:47:41 06 Jan 1997 9 // ---------------------------------------------------------------------------- 10 // Copyright (c) 1999 Digital Imaging Group, Inc. 11 // For conditions of distribution and use, see copyright notice 12 // in Flashpix.h 13 // ---------------------------------------------------------------------------- 14 15 #ifndef OLEFiles_h 16 #define OLEFiles_h 17 18 #ifndef OLECore_h 19 #include "olecore.h" 20 #endif 21 #ifndef FicNom_h 22 #include "filename.h" 23 #endif 24 25 class OLEStorage; 26 27 // Constants 28 // --------- 29 30 // Classes declarations 31 // -------------------- 32 33 class OLEFile; 34 35 // Classes definitions 36 // ------------------- 37 38 class OLEFile : public OLECore 39 { 40 public: 41 OLEFile (const char* theFilename, const char* theStorageName = NULL); 42 OLEFile (const FicNom& filefic, const char* theStorageName = NULL); 43 virtual ~OLEFile (); 44 45 Boolean GetCLSID (CLSID* classID); 46 Boolean GetFileSize (unsigned long* size); 47 48 Boolean OpenOLEFile (CLSID& classID, OLEStorage ** currentStorage = NULL, DWORD mode = OLE_READWRITE_MODE); 49 Boolean CreateOLEFile (CLSID& classID, OLEStorage ** newStorage = NULL); 50 51 void GetFileName (FicNom* fileName); GetFileName()52 char* GetFileName () { return fileName; }; 53 isFileReadOnly()54 Boolean isFileReadOnly() { return isReadOnly; }; 55 56 protected: 57 void Release(); 58 59 char fileName[255]; 60 char storageName[255]; 61 Boolean isEmbeddedStorage; 62 Boolean isReadOnly; 63 FicNom fileFic; 64 65 OLEStorage * rootStorage; // Root storage of the file (see OLEStorages.h) 66 OLEStorage * embeddedStorage; // Embedded storage of the file (see OLEStorages.h) 67 }; 68 69 70 // ---------------------------------------------------------------------------- 71 #endif // OLEFiles_h 72 // ---------------------------------------------------------------------------- 73