| 
    Open CASCADE Technology 7.8.2.dev
    
   | 
 
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.   | |
| virtual Standard_Boolean | IsOpenIStream (const std::shared_ptr< std::istream > &theStream) const =0 | 
| Returns TRUE if current input stream is opened for reading operations.   | |
| virtual Standard_Boolean | IsOpenOStream (const std::shared_ptr< std::ostream > &theStream) const =0 | 
| Returns TRUE if current output stream is opened for writing operations.   | |
| 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().   | |
| 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().   | |
| 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.   | |
| OSD_FileSystem () | |
| Constructor.   | |
| virtual | ~OSD_FileSystem () | 
| Destructor.   | |
  Public Member Functions inherited from Standard_Transient | |
| Standard_Transient () | |
| Empty constructor.   | |
| Standard_Transient (const Standard_Transient &) | |
| Copy constructor – does nothing.   | |
| Standard_Transient & | operator= (const Standard_Transient &) | 
| Assignment operator, needed to avoid copying reference counter.   | |
| virtual | ~Standard_Transient () | 
| Destructor must be virtual.   | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const | 
| Returns a type descriptor about this object.   | |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const | 
| Returns a true value if this is an instance of Type.   | |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const | 
| Returns a true value if this is an instance of TypeName.   | |
| 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.   | |
| 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.   | |
| 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.   | |
| Standard_Integer | GetRefCount () const noexcept | 
| Get the reference counter of this object.   | |
| void | IncrementRefCounter () noexcept | 
| Increments the reference counter of this object.   | |
| Standard_Integer | DecrementRefCounter () noexcept | 
| Decrements the reference counter of this object; returns the decremented value.   | |
| virtual void | Delete () const | 
| Memory deallocator for transient classes.   | |
Static Public Member Functions | |
| static const Handle< OSD_FileSystem > & | DefaultFileSystem () | 
| Returns a global file system, which a selector between registered file systems (OSD_FileSystemSelector).   | |
| 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.   | |
| static void | RemoveDefaultProtocol (const Handle< OSD_FileSystem > &theFileSystem) | 
| Unregisters file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem().   | |
  Static Public Member Functions inherited from Standard_Transient | |
| static constexpr const char * | get_type_name () | 
| Returns a type descriptor about this object.   | |
| static const opencascade::handle< Standard_Type > & | get_type_descriptor () | 
| Returns type descriptor of Standard_Transient class.   | |
Additional Inherited Members | |
  Public Types inherited from Standard_Transient | |
| typedef void | base_type | 
| Returns a type descriptor about this object.   | |
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_CachedFileSystem, OSD_FileSystemSelector, and OSD_LocalFileSystem.
      
  | 
  pure virtual | 
Returns TRUE if current output stream is opened for writing operations.
Implemented in OSD_CachedFileSystem, OSD_FileSystemSelector, and OSD_LocalFileSystem.
      
  | 
  pure virtual | 
Returns TRUE if URL defines a supported protocol.
Implemented in OSD_CachedFileSystem, OSD_FileSystemSelector, 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_CachedFileSystem, and OSD_FileSystemSelector.
      
  | 
  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_CachedFileSystem, OSD_FileSystemSelector, and OSD_LocalFileSystem.
      
  | 
  static | 
Unregisters file system within the global file system selector returned by OSD_FileSystem::DefaultFileSystem().