|
Open CASCADE Technology
6.7.1
|
Root class for basic storage/retrieval algorithms.
A Storage_Schema object processes:
More...
#include <Storage_Schema.hxx>

Public Member Functions | |
| Storage_Schema () | |
Builds a storage/retrieval algorithm based on a <br> given data schema. | |
| void | SetVersion (const TCollection_AsciiString &aVersion) |
| returns version of the schema More... | |
| TCollection_AsciiString | Version () const |
| returns the version of the schema More... | |
| void | SetName (const TCollection_AsciiString &aSchemaName) |
| set the schema's name More... | |
| TCollection_AsciiString | Name () const |
| returns the schema's name More... | |
| void | Write (Storage_BaseDriver &s, const Handle< Storage_Data > &aData) const |
Writes the data aggregated in aData into the <br> container defined by the driver s. The storage | |
| Handle_Storage_Data | Read (Storage_BaseDriver &s) const |
Returns the data read from the container defined <br> by the driver s. The retrieval operation is | |
| Handle_Storage_HeaderData | ReadHeaderSection (Storage_BaseDriver &s) const |
read the header part of the stream <br> Arguments: | |
| Handle_Storage_TypeData | ReadTypeSection (Storage_BaseDriver &s) const |
fill the TypeData with the names of the type used <br>
in a stream <br>
Arguments: | |
| Handle_Storage_RootData | ReadRootSection (Storage_BaseDriver &s) const |
read root part of the file <br> Arguments: | |
| virtual const TColStd_SequenceOfAsciiString & | SchemaKnownTypes () const |
| returns the known types of a schema More... | |
| Standard_Boolean | HasUnknownType (Storage_BaseDriver &aDriver, TColStd_SequenceOfAsciiString &theUnknownTypes) const |
| indicates whether the are types in the driver which are not known from the schema and for which no callbacks have been set. The unknown types can be read in <theUnknownTypes>. More... | |
| Handle_TColStd_HSequenceOfAsciiString | GetAllSchemaKnownTypes () const |
| returns the all known types of a schema and their nested schemes. More... | |
| void | SetNestedSchemas (const Handle< Storage_HArrayOfSchema > &theSchemas) |
| void | ClearNestedSchemas () |
| Handle_Storage_HArrayOfSchema | NestedSchemas () const |
| void | AddReadUnknownTypeCallBack (const TCollection_AsciiString &aTypeName, const Handle< Storage_CallBack > &aCallBack) |
| add two functions to the callback list More... | |
| void | RemoveReadUnknownTypeCallBack (const TCollection_AsciiString &aTypeName) |
| remove a callback for a type More... | |
| Handle_TColStd_HSequenceOfAsciiString | InstalledCallBackList () const |
| returns a list of type name with installed callback. More... | |
| void | ClearCallBackList () |
| clear all callback from schema instance. More... | |
| void | UseDefaultCallBack () |
| install a callback for all unknown type. the objects with unknown types will be skipped. (look SkipObject method in BaseDriver) More... | |
| void | DontUseDefaultCallBack () |
| tells schema to uninstall the default callback. More... | |
| Standard_Boolean | IsUsingDefaultCallBack () const |
| ask if the schema is using the default callback. More... | |
| void | SetDefaultCallBack (const Handle< Storage_CallBack > &f) |
| overload the default function for build.(use to set an error message or skip an object while reading an unknown type). More... | |
| void | ResetDefaultCallBack () |
| reset the default function defined by Storage package. More... | |
| Handle_Storage_CallBack | DefaultCallBack () const |
| returns the read function used when the UseDefaultCallBack() is set. More... | |
| virtual Handle_Storage_CallBack | CallBackSelection (const TCollection_AsciiString &tName) const |
| virtual Handle_Storage_CallBack | AddTypeSelection (const Handle< Standard_Persistent > &sp) const |
| void | WritePersistentObjectHeader (const Handle< Standard_Persistent > &sp, Storage_BaseDriver &s) |
| void | ReadPersistentObjectHeader (Storage_BaseDriver &s) |
| void | WritePersistentReference (const Handle< Standard_Persistent > &sp, Storage_BaseDriver &s) |
| void | ReadPersistentReference (Handle< Standard_Persistent > &sp, Storage_BaseDriver &s) |
| Standard_Boolean | AddPersistent (const Handle< Standard_Persistent > &sp, const Standard_CString tName) const |
| Standard_Boolean | PersistentToAdd (const Handle< Standard_Persistent > &sp) const |
Public Member Functions inherited from MMgt_TShared | |
| virtual void | Delete () const |
| Memory deallocator for transient classes. More... | |
Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor. More... | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing. More... | |
| Standard_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. More... | |
| virtual | ~Standard_Transient () |
| Destructor must be virtual. More... | |
| virtual void | ShallowDump (Standard_OStream &) const |
| virtual const Handle_Standard_Type & | DynamicType () const |
| Returns a type information object about this object. More... | |
| Standard_Boolean | IsInstance (const Handle_Standard_Type &theType) const |
| Returns a true value if this is an instance of Type. More... | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| Returns a true value if this is an instance of TypeName. More... | |
| Standard_Boolean | IsKind (const Handle_Standard_Type &theType) const |
| Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
| virtual Handle_Standard_Transient | This () const |
| Returns a Handle which references this object. Must never be called to objects created in stack. More... | |
| Standard_Integer | GetRefCount () const |
| Get the reference counter of this object. More... | |
Static Public Member Functions | |
| static TCollection_AsciiString | ICreationDate () |
| return a current date string More... | |
| static Standard_Boolean | CheckTypeMigration (const TCollection_AsciiString &theTypeName, TCollection_AsciiString &theNewName) |
| returns True if theType migration is identified //! the callback support provides a way to read a file with a incomplete schema. ex. : A file contains 3 types a,b and c. The application's schema contains only 2 type a and b. If you try to read the file in the application, you will have an error.To bypass this problem you can give to your application's schema a callback used when the schema dosent know how to handle this type. More... | |
Protected Member Functions | |
| Standard_Boolean | IsNested () const |
| Handle_Storage_CallBack | ResolveUnknownType (const TCollection_AsciiString &aTypeName, const Handle< Standard_Persistent > &aPers, const Storage_SolveMode aMode) const |
| Standard_Boolean | HasTypeBinding (const TCollection_AsciiString &aTypeName) const |
| void | BindType (const TCollection_AsciiString &aTypeName, const Handle< Storage_CallBack > &aCallBack) const |
| Handle_Storage_CallBack | TypeBinding (const TCollection_AsciiString &aTypeName) const |
Root class for basic storage/retrieval algorithms.
A Storage_Schema object processes:
| Storage_Schema::Storage_Schema | ( | ) |
Builds a storage/retrieval algorithm based on a <br>
given data schema.
Example
For example, if ShapeSchema is the class
inheriting from Storage_Schema and containing
the description of your application data schema,
you create a storage/retrieval algorithm as follows:
Handle(ShapeSchema) s = new
ShapeSchema;
-----— –
USER API – -----------------------------------------------------------—
-----— –
| Standard_Boolean Storage_Schema::AddPersistent | ( | const Handle< Standard_Persistent > & | sp, |
| const Standard_CString | tName | ||
| ) | const |
| void Storage_Schema::AddReadUnknownTypeCallBack | ( | const TCollection_AsciiString & | aTypeName, |
| const Handle< Storage_CallBack > & | aCallBack | ||
| ) |
add two functions to the callback list
|
virtual |
|
protected |
|
virtual |
|
static |
returns True if theType migration is identified
//! the callback support provides a way to read a file
with a incomplete schema.
ex. : A file contains 3 types a,b and c.
The application's schema contains only 2
type a and b. If you try to read the file in
the application, you will have an error.To
bypass this problem you can give to your
application's schema a callback used when
the schema dosent know how to handle this
type.
| void Storage_Schema::ClearCallBackList | ( | ) |
clear all callback from schema instance.
| void Storage_Schema::ClearNestedSchemas | ( | ) |
| Handle_Storage_CallBack Storage_Schema::DefaultCallBack | ( | ) | const |
returns the read function used when the
UseDefaultCallBack() is set.
| void Storage_Schema::DontUseDefaultCallBack | ( | ) |
tells schema to uninstall the default callback.
| Handle_TColStd_HSequenceOfAsciiString Storage_Schema::GetAllSchemaKnownTypes | ( | ) | const |
returns the all known types of a schema and their
nested schemes.
|
protected |
| Standard_Boolean Storage_Schema::HasUnknownType | ( | Storage_BaseDriver & | aDriver, |
| TColStd_SequenceOfAsciiString & | theUnknownTypes | ||
| ) | const |
indicates whether the are types in the driver
which are not known from the schema and for which
no callbacks have been set. The unknown types can
be read in <theUnknownTypes>.
|
static |
return a current date string
| Handle_TColStd_HSequenceOfAsciiString Storage_Schema::InstalledCallBackList | ( | ) | const |
returns a list of type name with installed
callback.
|
protected |
| Standard_Boolean Storage_Schema::IsUsingDefaultCallBack | ( | ) | const |
ask if the schema is using the default callback.
| TCollection_AsciiString Storage_Schema::Name | ( | ) | const |
returns the schema's name
| Handle_Storage_HArrayOfSchema Storage_Schema::NestedSchemas | ( | ) | const |
| Standard_Boolean Storage_Schema::PersistentToAdd | ( | const Handle< Standard_Persistent > & | sp | ) | const |
| Handle_Storage_Data Storage_Schema::Read | ( | Storage_BaseDriver & | s | ) | const |
Returns the data read from the container defined <br>
by the driver s. The retrieval operation is
performed according to the data schema with
which this algorithm is working.
These data are aggregated in a Storage_Data
object which may be browsed in order to extract
the root objects from the container.
| Handle_Storage_HeaderData Storage_Schema::ReadHeaderSection | ( | Storage_BaseDriver & | s | ) | const |
read the header part of the stream <br>
Arguments:
s: driver to read
| void Storage_Schema::ReadPersistentObjectHeader | ( | Storage_BaseDriver & | s | ) |
| void Storage_Schema::ReadPersistentReference | ( | Handle< Standard_Persistent > & | sp, |
| Storage_BaseDriver & | s | ||
| ) |
| Handle_Storage_RootData Storage_Schema::ReadRootSection | ( | Storage_BaseDriver & | s | ) | const |
read root part of the file <br>
Arguments:
s: driver to read
| Handle_Storage_TypeData Storage_Schema::ReadTypeSection | ( | Storage_BaseDriver & | s | ) | const |
fill the TypeData with the names of the type used <br>
in a stream <br>
Arguments:
s: driver to read
| void Storage_Schema::RemoveReadUnknownTypeCallBack | ( | const TCollection_AsciiString & | aTypeName | ) |
remove a callback for a type
| void Storage_Schema::ResetDefaultCallBack | ( | ) |
reset the default function defined by Storage
package.
|
protected |
|
virtual |
returns the known types of a schema
| void Storage_Schema::SetDefaultCallBack | ( | const Handle< Storage_CallBack > & | f | ) |
overload the default function for build.(use to
set an error message or skip an object while
reading an unknown type).
| void Storage_Schema::SetName | ( | const TCollection_AsciiString & | aSchemaName | ) |
set the schema's name
| void Storage_Schema::SetNestedSchemas | ( | const Handle< Storage_HArrayOfSchema > & | theSchemas | ) |
| void Storage_Schema::SetVersion | ( | const TCollection_AsciiString & | aVersion | ) |
returns version of the schema
|
protected |
| void Storage_Schema::UseDefaultCallBack | ( | ) |
install a callback for all unknown type. the
objects with unknown types will be skipped. (look
SkipObject method in BaseDriver)
| TCollection_AsciiString Storage_Schema::Version | ( | ) | const |
returns the version of the schema
| void Storage_Schema::Write | ( | Storage_BaseDriver & | s, |
| const Handle< Storage_Data > & | aData | ||
| ) | const |
Writes the data aggregated in aData into the <br>
container defined by the driver s. The storage
operation is performed according to the data
schema with which this algorithm is working.
Note: aData may aggregate several root objects
to be stored together.
| void Storage_Schema::WritePersistentObjectHeader | ( | const Handle< Standard_Persistent > & | sp, |
| Storage_BaseDriver & | s | ||
| ) |
| void Storage_Schema::WritePersistentReference | ( | const Handle< Standard_Persistent > & | sp, |
| Storage_BaseDriver & | s | ||
| ) |
1.8.5