1 // Created on: 1997-02-06 2 // Created by: Kernel 3 // Copyright (c) 1997-1999 Matra Datavision 4 // Copyright (c) 1999-2014 OPEN CASCADE SAS 5 // 6 // This file is part of Open CASCADE Technology software library. 7 // 8 // This library is free software; you can redistribute it and/or modify it under 9 // the terms of the GNU Lesser General Public License version 2.1 as published 10 // by the Free Software Foundation, with special exception defined in the file 11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 12 // distribution for complete text of the license and disclaimer of any warranty. 13 // 14 // Alternatively, this file may be used under the terms of Open CASCADE 15 // commercial license or contractual agreement. 16 17 #ifndef _Storage_HeaderData_HeaderFile 18 #define _Storage_HeaderData_HeaderFile 19 20 #include <Standard.hxx> 21 #include <Standard_Type.hxx> 22 23 #include <Standard_Integer.hxx> 24 #include <TCollection_AsciiString.hxx> 25 #include <TCollection_ExtendedString.hxx> 26 #include <TColStd_SequenceOfAsciiString.hxx> 27 #include <TColStd_SequenceOfExtendedString.hxx> 28 #include <Storage_Error.hxx> 29 #include <Standard_Transient.hxx> 30 class Storage_Schema; 31 class Storage_BaseDriver; 32 class TCollection_AsciiString; 33 class TCollection_ExtendedString; 34 35 36 class Storage_HeaderData; 37 DEFINE_STANDARD_HANDLE(Storage_HeaderData, Standard_Transient) 38 39 40 class Storage_HeaderData : public Standard_Transient 41 { 42 43 public: 44 45 46 Standard_EXPORT Storage_HeaderData(); 47 48 Standard_EXPORT Standard_Boolean Read (const Handle(Storage_BaseDriver)& theDriver); 49 50 //! return the creation date 51 Standard_EXPORT TCollection_AsciiString CreationDate() const; 52 53 //! return the Storage package version 54 Standard_EXPORT TCollection_AsciiString StorageVersion() const; 55 56 //! get the version of the schema 57 Standard_EXPORT TCollection_AsciiString SchemaVersion() const; 58 59 //! get the schema's name 60 Standard_EXPORT TCollection_AsciiString SchemaName() const; 61 62 //! set the version of the application 63 Standard_EXPORT void SetApplicationVersion (const TCollection_AsciiString& aVersion); 64 65 //! get the version of the application 66 Standard_EXPORT TCollection_AsciiString ApplicationVersion() const; 67 68 //! set the name of the application 69 Standard_EXPORT void SetApplicationName (const TCollection_ExtendedString& aName); 70 71 //! get the name of the application 72 Standard_EXPORT TCollection_ExtendedString ApplicationName() const; 73 74 //! set the data type 75 Standard_EXPORT void SetDataType (const TCollection_ExtendedString& aType); 76 77 //! returns data type 78 Standard_EXPORT TCollection_ExtendedString DataType() const; 79 80 //! add <theUserInfo> to the user information 81 Standard_EXPORT void AddToUserInfo (const TCollection_AsciiString& theUserInfo); 82 83 //! return the user information 84 Standard_EXPORT const TColStd_SequenceOfAsciiString& UserInfo() const; 85 86 //! add <theUserInfo> to the user information 87 Standard_EXPORT void AddToComments (const TCollection_ExtendedString& aComment); 88 89 //! return the user information 90 Standard_EXPORT const TColStd_SequenceOfExtendedString& Comments() const; 91 92 //! the number of persistent objects 93 //! Return: 94 //! the number of persistent objects readed 95 Standard_EXPORT Standard_Integer NumberOfObjects() const; 96 97 Standard_EXPORT Storage_Error ErrorStatus() const; 98 99 Standard_EXPORT TCollection_AsciiString ErrorStatusExtension() const; 100 101 Standard_EXPORT void ClearErrorStatus(); 102 103 104 friend class Storage_Schema; 105 106 107 DEFINE_STANDARD_RTTIEXT(Storage_HeaderData,Standard_Transient) 108 109 public: 110 111 Standard_EXPORT void SetNumberOfObjects (const Standard_Integer anObjectNumber); 112 113 Standard_EXPORT void SetStorageVersion (const TCollection_AsciiString& aVersion); 114 SetStorageVersion(const Standard_Integer theVersion)115 void SetStorageVersion (const Standard_Integer theVersion) 116 { 117 SetStorageVersion (TCollection_AsciiString (theVersion)); 118 } 119 120 Standard_EXPORT void SetCreationDate (const TCollection_AsciiString& aDate); 121 122 Standard_EXPORT void SetSchemaVersion (const TCollection_AsciiString& aVersion); 123 124 Standard_EXPORT void SetSchemaName (const TCollection_AsciiString& aName); 125 126 private: 127 128 Standard_EXPORT void SetErrorStatus (const Storage_Error anError); 129 130 Standard_EXPORT void SetErrorStatusExtension (const TCollection_AsciiString& anErrorExt); 131 132 Standard_Integer myNBObj; 133 TCollection_AsciiString myStorageVersion; 134 TCollection_AsciiString mySchemaVersion; 135 TCollection_AsciiString mySchemaName; 136 TCollection_AsciiString myApplicationVersion; 137 TCollection_ExtendedString myApplicationName; 138 TCollection_ExtendedString myDataType; 139 TCollection_AsciiString myDate; 140 TColStd_SequenceOfAsciiString myUserInfo; 141 TColStd_SequenceOfExtendedString myComments; 142 Storage_Error myErrorStatus; 143 TCollection_AsciiString myErrorStatusExt; 144 145 146 }; 147 148 149 150 151 152 153 154 #endif // _Storage_HeaderData_HeaderFile 155