mirror of
https://github.com/Open-Cascade-SAS/OCCT.git
synced 2026-05-12 02:40:22 +08:00
139 lines
5.2 KiB
C++
139 lines
5.2 KiB
C++
// Copyright (c) 2017 OPEN CASCADE SAS
|
|
//
|
|
// This file is part of Open CASCADE Technology software library.
|
|
//
|
|
// This library is free software; you can redistribute it and/or modify it under
|
|
// the terms of the GNU Lesser General Public License version 2.1 as published
|
|
// by the Free Software Foundation, with special exception defined in the file
|
|
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
|
// distribution for complete text of the license and disclaimer of any warranty.
|
|
//
|
|
// Alternatively, this file may be used under the terms of Open CASCADE
|
|
// commercial license or contractual agreement.
|
|
|
|
#ifndef _StdStorage_HeaderData_HeaderFile
|
|
#define _StdStorage_HeaderData_HeaderFile
|
|
|
|
#include <Standard.hxx>
|
|
#include <Standard_Type.hxx>
|
|
|
|
#include <Standard_Integer.hxx>
|
|
#include <TColStd_SequenceOfAsciiString.hxx>
|
|
#include <TColStd_SequenceOfExtendedString.hxx>
|
|
#include <Storage_Error.hxx>
|
|
#include <Standard_Transient.hxx>
|
|
class Storage_BaseDriver;
|
|
|
|
class StdStorage_HeaderData;
|
|
DEFINE_STANDARD_HANDLE(StdStorage_HeaderData, Standard_Transient)
|
|
|
|
//! Storage header data section that contains some
|
|
//! auxiliary information (application name, schema version,
|
|
//! creation date, comments and so on...)
|
|
class StdStorage_HeaderData
|
|
: public Standard_Transient
|
|
{
|
|
friend class StdStorage_Data;
|
|
|
|
public:
|
|
|
|
DEFINE_STANDARD_RTTIEXT(StdStorage_HeaderData, Standard_Transient)
|
|
|
|
//! Reads the header data section from the container defined by theDriver.
|
|
//! Returns Standard_True in case of success. Otherwise, one need to get
|
|
//! an error code and description using ErrorStatus and ErrorStatusExtension
|
|
//! functions correspondingly.
|
|
Standard_EXPORT Standard_Boolean Read(const Handle(Storage_BaseDriver)& theDriver);
|
|
|
|
//! Writes the header data section to the container defined by theDriver.
|
|
//! Returns Standard_True in case of success. Otherwise, one need to get
|
|
//! an error code and description using ErrorStatus and ErrorStatusExtension
|
|
//! functions correspondingly.
|
|
Standard_EXPORT Standard_Boolean Write(const Handle(Storage_BaseDriver)& theDriver);
|
|
|
|
//! Return the creation date
|
|
Standard_EXPORT TCollection_AsciiString CreationDate() const;
|
|
|
|
//! Return the Storage package version
|
|
Standard_EXPORT TCollection_AsciiString StorageVersion() const;
|
|
|
|
//! Get the version of the schema
|
|
Standard_EXPORT TCollection_AsciiString SchemaVersion() const;
|
|
|
|
//! Set the version of the application
|
|
Standard_EXPORT void SetApplicationVersion(const TCollection_AsciiString& aVersion);
|
|
|
|
//! Get the version of the application
|
|
Standard_EXPORT TCollection_AsciiString ApplicationVersion() const;
|
|
|
|
//! Set the name of the application
|
|
Standard_EXPORT void SetApplicationName(const TCollection_ExtendedString& aName);
|
|
|
|
//! Get the name of the application
|
|
Standard_EXPORT TCollection_ExtendedString ApplicationName() const;
|
|
|
|
//! Set the data type
|
|
Standard_EXPORT void SetDataType(const TCollection_ExtendedString& aType);
|
|
|
|
//! Returns data type
|
|
Standard_EXPORT TCollection_ExtendedString DataType() const;
|
|
|
|
//! Add <theUserInfo> to the user information
|
|
Standard_EXPORT void AddToUserInfo(const TCollection_AsciiString& theUserInfo);
|
|
|
|
//! Return the user information
|
|
Standard_EXPORT const TColStd_SequenceOfAsciiString& UserInfo() const;
|
|
|
|
//! Add <theUserInfo> to the user information
|
|
Standard_EXPORT void AddToComments(const TCollection_ExtendedString& aComment);
|
|
|
|
//! Return the user information
|
|
Standard_EXPORT const TColStd_SequenceOfExtendedString& Comments() const;
|
|
|
|
//! Returns the number of persistent objects
|
|
Standard_EXPORT Standard_Integer NumberOfObjects() const;
|
|
|
|
//! Returns a status of the latest call to Read / Write functions
|
|
Standard_EXPORT Storage_Error ErrorStatus() const;
|
|
|
|
//! Returns an error message if any of the latest call to Read / Write functions
|
|
Standard_EXPORT TCollection_AsciiString ErrorStatusExtension() const;
|
|
|
|
//! Clears error status
|
|
Standard_EXPORT void ClearErrorStatus();
|
|
|
|
Standard_EXPORT void SetNumberOfObjects(const Standard_Integer anObjectNumber);
|
|
|
|
Standard_EXPORT void SetStorageVersion(const TCollection_AsciiString& aVersion);
|
|
|
|
Standard_EXPORT void SetCreationDate(const TCollection_AsciiString& aDate);
|
|
|
|
Standard_EXPORT void SetSchemaVersion(const TCollection_AsciiString& aVersion);
|
|
|
|
Standard_EXPORT void SetSchemaName(const TCollection_AsciiString& aName);
|
|
|
|
private:
|
|
|
|
Standard_EXPORT StdStorage_HeaderData();
|
|
|
|
Standard_EXPORT void SetErrorStatus(const Storage_Error anError);
|
|
|
|
Standard_EXPORT void SetErrorStatusExtension(const TCollection_AsciiString& anErrorExt);
|
|
|
|
Standard_Integer myNBObj;
|
|
TCollection_AsciiString myStorageVersion;
|
|
TCollection_AsciiString mySchemaVersion;
|
|
TCollection_AsciiString mySchemaName;
|
|
TCollection_AsciiString myApplicationVersion;
|
|
TCollection_ExtendedString myApplicationName;
|
|
TCollection_ExtendedString myDataType;
|
|
TCollection_AsciiString myDate;
|
|
TColStd_SequenceOfAsciiString myUserInfo;
|
|
TColStd_SequenceOfExtendedString myComments;
|
|
Storage_Error myErrorStatus;
|
|
TCollection_AsciiString myErrorStatusExt;
|
|
|
|
};
|
|
|
|
#endif // _StdStorage_HeaderData_HeaderFile
|