Open CASCADE Technology
7.7.0
|
Base interface for a file stream provider. It is intended to be implemented for specific file protocol. More...
#include <OSD_FileSystem.hxx>
Public Member Functions | |
virtual Standard_Boolean | IsSupportedPath (const TCollection_AsciiString &theUrl) const =0 |
Returns TRUE if URL defines a supported protocol. More... | |
virtual Standard_Boolean | IsOpenIStream (const std::shared_ptr< std::istream > &theStream) const =0 |
Returns TRUE if current input stream is opened for reading operations. More... | |
virtual Standard_Boolean | IsOpenOStream (const std::shared_ptr< std::ostream > &theStream) const =0 |
Returns TRUE if current output stream is opened for writing operations. More... | |
virtual std::shared_ptr< std::istream > | OpenIStream (const TCollection_AsciiString &theUrl, const std::ios_base::openmode theMode, const int64_t theOffset=0, const std::shared_ptr< std::istream > &theOldStream=std::shared_ptr< std::istream >()) |
Opens stream for specified file URL for reading operations (std::istream). Default implementation create a stream from file buffer returned by OSD_FileSystem::OpenFileBuffer(). More... | |
virtual std::shared_ptr< std::ostream > | OpenOStream (const TCollection_AsciiString &theUrl, const std::ios_base::openmode theMode) |
Opens stream for specified file URL for writing operations (std::ostream). Default implementation create a stream from file buffer returned by OSD_FileSystem::OpenFileBuffer(). More... | |
virtual std::shared_ptr< std::streambuf > | OpenStreamBuffer (const TCollection_AsciiString &theUrl, const std::ios_base::openmode theMode, const int64_t theOffset=0, int64_t *theOutBufSize=NULL)=0 |
Opens stream buffer for specified file URL. More... | |
OSD_FileSystem () | |
Constructor. More... | |
virtual | ~OSD_FileSystem () |
Destructor. 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 | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::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 opencascade::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... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Static Public Member Functions | |
static const Handle< OSD_FileSystem > & | DefaultFileSystem () |
Returns a global file system, which a selector between registered file systems (OSD_FileSystemSelector). More... | |
static void | AddDefaultProtocol (const Handle< OSD_FileSystem > &theFileSystem, bool theIsPreferred=false) |
Registers file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem(). Note that registering protocols is not thread-safe operation and expected to be done once at application startup. More... | |
static void | RemoveDefaultProtocol (const Handle< OSD_FileSystem > &theFileSystem) |
Unregisters file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem(). More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Base interface for a file stream provider. It is intended to be implemented for specific file protocol.
OSD_FileSystem::OSD_FileSystem | ( | ) |
Constructor.
|
virtual |
Destructor.
|
static |
Registers file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem(). Note that registering protocols is not thread-safe operation and expected to be done once at application startup.
[in] | theFileSystem | file system to register |
[in] | theIsPreferred | add to the beginning of the list when TRUE, or add to the end otherwise |
|
static |
Returns a global file system, which a selector between registered file systems (OSD_FileSystemSelector).
|
pure virtual |
Returns TRUE if current input stream is opened for reading operations.
Implemented in OSD_FileSystemSelector, OSD_CachedFileSystem, and OSD_LocalFileSystem.
|
pure virtual |
Returns TRUE if current output stream is opened for writing operations.
Implemented in OSD_FileSystemSelector, OSD_CachedFileSystem, and OSD_LocalFileSystem.
|
pure virtual |
Returns TRUE if URL defines a supported protocol.
Implemented in OSD_FileSystemSelector, OSD_CachedFileSystem, and OSD_LocalFileSystem.
|
virtual |
Opens stream for specified file URL for reading operations (std::istream). Default implementation create a stream from file buffer returned by OSD_FileSystem::OpenFileBuffer().
theUrl | [in] path to open |
theMode | [in] flags describing the requested input mode for the stream (std::ios_base::in will be implicitly added) |
theOffset | [in] expected stream position from the beginning of the file (beginning of the stream by default); -1 would keep seek position undefined (in case of re-using theOldStream) |
theOldStream | [in] a pointer to existing stream pointing to theUrl to be reused (without re-opening) |
Reimplemented in OSD_FileSystemSelector, and OSD_CachedFileSystem.
|
virtual |
Opens stream for specified file URL for writing operations (std::ostream). Default implementation create a stream from file buffer returned by OSD_FileSystem::OpenFileBuffer().
theUrl | [in] path to open |
theMode | [in] flags describing the requested output mode for the stream (std::ios_base::out will be implicitly added) |
Reimplemented in OSD_FileSystemSelector, and OSD_CachedFileSystem.
|
pure virtual |
Opens stream buffer for specified file URL.
theUrl | [in] path to open |
theMode | [in] flags describing the requested input mode for the stream |
theOffset | [in] expected stream position from the beginning of the buffer (beginning of the stream buffer by default) |
theOutBufSize | [out] total buffer size (only if buffer is opened for read) |
Implemented in OSD_FileSystemSelector, OSD_CachedFileSystem, and OSD_LocalFileSystem.
|
static |
Unregisters file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem().