    

 ## On this page

  

 

 # ansys::Project::Storage Class Reference

 Last update: 24.03.2026 

Base class for file storage management module. [More...](classansys_1_1_project_1_1_storage.xhtml#details)

`#include "Storage.hpp"`

Inheritance diagram for ansys::Project::Storage:

 ![](/sites/default/files/migrate-content/common_fluids_format_2026_r1_1/classansys_1_1_project_1_1_storage.png)



## <a id="pub-types" name="pub-types"></a>Public Types

enum [EraseOptions](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727f) { [EraseFolderOnly](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727fa0a93151649911c33b4432bdeafc4f9aa), [EraseFolderAndFiles](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727fabe6d6df4e50d365a3d6c3e0d3d36ef4c), [EraseRecursively](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727fabf7a9bc30546a00063f135d272445fd7) } ## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

 [Storage](classansys_1_1_project_1_1_storage.xhtml#a2374cab30c3fe446708866f0c24351cc) (const std::string &amp;pTypename) Constructor. [More...](classansys_1_1_project_1_1_storage.xhtml#a2374cab30c3fe446708866f0c24351cc)  
 virtual [~Storage](classansys_1_1_project_1_1_storage.xhtml#a0a620fa8087cbd638207d4cab5c541bd) () Destructor. [More...](classansys_1_1_project_1_1_storage.xhtml#a0a620fa8087cbd638207d4cab5c541bd)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [createFolder](classansys_1_1_project_1_1_storage.xhtml#a5425696f2817236f5886b54dc3cd1ac9) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pParentPath, const [Path](classansys_1_1_project_1_1_path.xhtml) &amp;pFolderPath)=0 Create a folder in the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."), using the specified name. [More...](classansys_1_1_project_1_1_storage.xhtml#a5425696f2817236f5886b54dc3cd1ac9)  
 virtual bool [isFolder](classansys_1_1_project_1_1_storage.xhtml#a5809221b3618eb84e4eebaf0357af195) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pPath)=0 Indicates if a folder exists at the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."). [More...](classansys_1_1_project_1_1_storage.xhtml#a5809221b3618eb84e4eebaf0357af195)  
 virtual bool [isFile](classansys_1_1_project_1_1_storage.xhtml#a8b8642b9831aa539f231897e48cf3298) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pPath)=0 Indicates if a file exists at the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."). [More...](classansys_1_1_project_1_1_storage.xhtml#a8b8642b9831aa539f231897e48cf3298)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [copyFile](classansys_1_1_project_1_1_storage.xhtml#ad95b9bf3b4c5dba9ab6768f70d1ebbc5) (const std::string &amp;pSource, const std::string &amp;pTarget)=0 Copy file from source to location, can be two different [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") types. [More...](classansys_1_1_project_1_1_storage.xhtml#ad95b9bf3b4c5dba9ab6768f70d1ebbc5)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [getFileTimestamp](classansys_1_1_project_1_1_storage.xhtml#ad6d0085c5c82a3e811ebeab6a6aeede8) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pFile, int &amp;pTime)=0 Compute a timestamp for the specified file. [More...](classansys_1_1_project_1_1_storage.xhtml#ad6d0085c5c82a3e811ebeab6a6aeede8)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [getFileChecksum](classansys_1_1_project_1_1_storage.xhtml#a0ad50007b1ad077038e823eb3bb21b7d) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pFile, std::string &amp;pChecksum)=0 Compute a checksum for the specified file. [More...](classansys_1_1_project_1_1_storage.xhtml#a0ad50007b1ad077038e823eb3bb21b7d)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [eraseFile](classansys_1_1_project_1_1_storage.xhtml#ab2f8205ecdd044f7718cea9881c94dfc) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pFile)=0 Erase the file at the specified location. [More...](classansys_1_1_project_1_1_storage.xhtml#ab2f8205ecdd044f7718cea9881c94dfc)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [eraseFolder](classansys_1_1_project_1_1_storage.xhtml#ae3c62e8ea9637b802eebe488e4a62fe4) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pFile, [EraseOptions](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727f) pRecursive)=0 Erase the folder and content at the specified location. [More...](classansys_1_1_project_1_1_storage.xhtml#ae3c62e8ea9637b802eebe488e4a62fe4)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [moveFile](classansys_1_1_project_1_1_storage.xhtml#a1eb6dbf782620c41e87dda556d3989b8) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pSource, const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pTarget)=0 Rename the file or folder. [More...](classansys_1_1_project_1_1_storage.xhtml#a1eb6dbf782620c41e87dda556d3989b8)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [matchFiles](classansys_1_1_project_1_1_storage.xhtml#a6069a427195a8247e9f78803d4ff520f) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pPath, std::string pWildcard, std::vector&lt; [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &gt; &amp;pMatchFiles)=0 File query by wildcard pattern in the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."). [More...](classansys_1_1_project_1_1_storage.xhtml#a6069a427195a8247e9f78803d4ff520f)  
 virtual std::string [getFileCompressionSuffix](classansys_1_1_project_1_1_storage.xhtml#affb5603e8c05d4fb8b24c9d8547ef356) () const =0 Returns the required file suffix for compressFile API. [More...](classansys_1_1_project_1_1_storage.xhtml#affb5603e8c05d4fb8b24c9d8547ef356)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [compressFiles](classansys_1_1_project_1_1_storage.xhtml#a4c42b21f9f607bbff1940ad3dbbcf6d9) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pRootFolder, std::vector&lt; [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &gt; &amp;pSourceFiles, const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pTargetArchive)=0 Compress a list of files into a new zipped archive. [More...](classansys_1_1_project_1_1_storage.xhtml#a4c42b21f9f607bbff1940ad3dbbcf6d9)  
 virtual [Error](classansys_1_1_project_1_1_error.xhtml) [extractFile](classansys_1_1_project_1_1_storage.xhtml#abe1ec2924e9c518adc1a9207a65f5dd0) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pArchive, const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pTargetLocation)=0 Extract a zipped archive to the specified location. [More...](classansys_1_1_project_1_1_storage.xhtml#abe1ec2924e9c518adc1a9207a65f5dd0)  
 ## <a id="pub-static-methods" name="pub-static-methods"></a>Static Public Member Functions

static void [registerInterface](classansys_1_1_project_1_1_storage.xhtml#a3f9f604fc9b1d14b05acd8ee3ff7b98e) (const std::string &amp;pType, [Storage](classansys_1_1_project_1_1_storage.xhtml) \*pInterface) Register a [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object to work with a specific [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") type. [More...](classansys_1_1_project_1_1_storage.xhtml#a3f9f604fc9b1d14b05acd8ee3ff7b98e)  
 static [Storage](classansys_1_1_project_1_1_storage.xhtml) \* [getInterface](classansys_1_1_project_1_1_storage.xhtml#abdef10f9ae138161ef673d5cc516f83b) (const std::string &amp;pType) Retrieve the [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object to use with a specific [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") type. [More...](classansys_1_1_project_1_1_storage.xhtml#abdef10f9ae138161ef673d5cc516f83b)  
 <a id="details" name="details"></a>## Detailed Description

Base class for file storage management module.

The [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") framework only access files on disk through the [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") interface, [StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml "Class for Storage on standard filesystem, for file:// URL.") is used to access local files ( [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") with no type, or of type <file://> ). Additional storage frameworks can be defined, and bound to [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") types. See [registerInterface()](classansys_1_1_project_1_1_storage.xhtml#a3f9f604fc9b1d14b05acd8ee3ff7b98e "Register a Storage object to work with a specific URL type.")



## Member Enumeration Documentation

<a id="a7a0ea834ae0902dfa37762ef350e727f" name="a7a0ea834ae0902dfa37762ef350e727f"></a>## [◆ ](#a7a0ea834ae0902dfa37762ef350e727f)EraseOptions

 enum [ansys::Project::Storage::EraseOptions](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727f)

Enumerator<a id="a7a0ea834ae0902dfa37762ef350e727fa0a93151649911c33b4432bdeafc4f9aa" name="a7a0ea834ae0902dfa37762ef350e727fa0a93151649911c33b4432bdeafc4f9aa"></a>EraseFolderOnly <a id="a7a0ea834ae0902dfa37762ef350e727fabe6d6df4e50d365a3d6c3e0d3d36ef4c" name="a7a0ea834ae0902dfa37762ef350e727fabe6d6df4e50d365a3d6c3e0d3d36ef4c"></a>EraseFolderAndFiles <a id="a7a0ea834ae0902dfa37762ef350e727fabf7a9bc30546a00063f135d272445fd7" name="a7a0ea834ae0902dfa37762ef350e727fabf7a9bc30546a00063f135d272445fd7"></a>EraseRecursively 



## Constructor &amp; Destructor Documentation

<a id="a2374cab30c3fe446708866f0c24351cc" name="a2374cab30c3fe446708866f0c24351cc"></a>## [◆ ](#a2374cab30c3fe446708866f0c24351cc)Storage()

 ansys::Project::Storage::Storage  ( const std::string &amp;  *pTypename*) 

Constructor.

Parameters pTypenameType of [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") handled by this [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") 



<a id="a0a620fa8087cbd638207d4cab5c541bd" name="a0a620fa8087cbd638207d4cab5c541bd"></a>## [◆ ](#a0a620fa8087cbd638207d4cab5c541bd)~Storage()

 ansys::Project::Storage::~Storage  ( )   virtual 

Destructor.





## Member Function Documentation

<a id="a4c42b21f9f607bbff1940ad3dbbcf6d9" name="a4c42b21f9f607bbff1940ad3dbbcf6d9"></a>## [◆ ](#a4c42b21f9f607bbff1940ad3dbbcf6d9)compressFiles()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::compressFiles  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pRootFolder*,    std::vector&lt; [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &gt; &amp;  *pSourceFiles*,    const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pTargetArchive*   )   pure virtual 

Compress a list of files into a new zipped archive.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a330746e96245fb171a6508fb7bb52ac5).





<a id="ad95b9bf3b4c5dba9ab6768f70d1ebbc5" name="ad95b9bf3b4c5dba9ab6768f70d1ebbc5"></a>## [◆ ](#ad95b9bf3b4c5dba9ab6768f70d1ebbc5)copyFile()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::copyFile  ( const std::string &amp;  *pSource*,    const std::string &amp;  *pTarget*   )   pure virtual 

Copy file from source to location, can be two different [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") types.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a384d3752e0537b2f74d684bf890f1e67).





<a id="a5425696f2817236f5886b54dc3cd1ac9" name="a5425696f2817236f5886b54dc3cd1ac9"></a>## [◆ ](#a5425696f2817236f5886b54dc3cd1ac9)createFolder()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::createFolder  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pParentPath*,    const [Path](classansys_1_1_project_1_1_path.xhtml) &amp;  *pFolderPath*   )   pure virtual 

Create a folder in the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format."), using the specified name.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a123e1a2a831423afe21b4332e6ce0236).





<a id="ab2f8205ecdd044f7718cea9881c94dfc" name="ab2f8205ecdd044f7718cea9881c94dfc"></a>## [◆ ](#ab2f8205ecdd044f7718cea9881c94dfc)eraseFile()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::eraseFile  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pFile*)   pure virtual 

Erase the file at the specified location.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#ab42176b62556669397ba33e1a5238a12).





<a id="ae3c62e8ea9637b802eebe488e4a62fe4" name="ae3c62e8ea9637b802eebe488e4a62fe4"></a>## [◆ ](#ae3c62e8ea9637b802eebe488e4a62fe4)eraseFolder()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::eraseFolder  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pFile*,    [EraseOptions](classansys_1_1_project_1_1_storage.xhtml#a7a0ea834ae0902dfa37762ef350e727f)  *pRecursive*   )   pure virtual 

Erase the folder and content at the specified location.

Parameters pRecursiveIndicate if should erase folder only (assumed empty), folder and its files, or folder and any number of subfolders. Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#aece46fb1eab83d340f92bfeaff6b9569).





<a id="abe1ec2924e9c518adc1a9207a65f5dd0" name="abe1ec2924e9c518adc1a9207a65f5dd0"></a>## [◆ ](#abe1ec2924e9c518adc1a9207a65f5dd0)extractFile()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::extractFile  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pArchive*,    const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pTargetLocation*   )   pure virtual 

Extract a zipped archive to the specified location.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#ad9efc72d9decce9ba776d778f6d09e1c).





<a id="a0ad50007b1ad077038e823eb3bb21b7d" name="a0ad50007b1ad077038e823eb3bb21b7d"></a>## [◆ ](#a0ad50007b1ad077038e823eb3bb21b7d)getFileChecksum()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::getFileChecksum  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pFile*,    std::string &amp;  *pChecksum*   )   pure virtual 

Compute a checksum for the specified file.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a039595fe58e424d1d2fa26b65c61bc89).





<a id="affb5603e8c05d4fb8b24c9d8547ef356" name="affb5603e8c05d4fb8b24c9d8547ef356"></a>## [◆ ](#affb5603e8c05d4fb8b24c9d8547ef356)getFileCompressionSuffix()

 virtual std::string ansys::Project::Storage::getFileCompressionSuffix  ( )  const  pure virtual 

Returns the required file suffix for compressFile API.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a1be30dbb6aac0f0a9f66df7313608810).





<a id="ad6d0085c5c82a3e811ebeab6a6aeede8" name="ad6d0085c5c82a3e811ebeab6a6aeede8"></a>## [◆ ](#ad6d0085c5c82a3e811ebeab6a6aeede8)getFileTimestamp()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::getFileTimestamp  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pFile*,    int &amp;  *pTime*   )   pure virtual 

Compute a timestamp for the specified file.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#acf398f76d7b193aaf9dac8e636d3ffb9).





<a id="abdef10f9ae138161ef673d5cc516f83b" name="abdef10f9ae138161ef673d5cc516f83b"></a>## [◆ ](#abdef10f9ae138161ef673d5cc516f83b)getInterface()

 [Storage](classansys_1_1_project_1_1_storage.xhtml) \* ansys::Project::Storage::getInterface  ( const std::string &amp;  *pType*)   static 

Retrieve the [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object to use with a specific [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") type.





<a id="a8b8642b9831aa539f231897e48cf3298" name="a8b8642b9831aa539f231897e48cf3298"></a>## [◆ ](#a8b8642b9831aa539f231897e48cf3298)isFile()

 virtual bool ansys::Project::Storage::isFile  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pPath*)   pure virtual 

Indicates if a file exists at the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.").

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a1c20950181bd70ba4cc45e539288e09f).





<a id="a5809221b3618eb84e4eebaf0357af195" name="a5809221b3618eb84e4eebaf0357af195"></a>## [◆ ](#a5809221b3618eb84e4eebaf0357af195)isFolder()

 virtual bool ansys::Project::Storage::isFolder  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pPath*)   pure virtual 

Indicates if a folder exists at the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.").

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#aeae85eee1f1895be16cc074c2f210be4).





<a id="a6069a427195a8247e9f78803d4ff520f" name="a6069a427195a8247e9f78803d4ff520f"></a>## [◆ ](#a6069a427195a8247e9f78803d4ff520f)matchFiles()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::matchFiles  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pPath*,    std::string  *pWildcard*,    std::vector&lt; [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &gt; &amp;  *pMatchFiles*   )   pure virtual 

File query by wildcard pattern in the specified [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.").

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#a577705e0cfe27c0f9b58ec0f95c280dd).





<a id="a1eb6dbf782620c41e87dda556d3989b8" name="a1eb6dbf782620c41e87dda556d3989b8"></a>## [◆ ](#a1eb6dbf782620c41e87dda556d3989b8)moveFile()

 virtual [Error](classansys_1_1_project_1_1_error.xhtml) ansys::Project::Storage::moveFile  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pSource*,    const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pTarget*   )   pure virtual 

Rename the file or folder.

Implemented in [ansys::Project::StorageFilesystem](classansys_1_1_project_1_1_storage_filesystem.xhtml#afbb37c05fcf05d79db86bfb4b3cba4ec).





<a id="a3f9f604fc9b1d14b05acd8ee3ff7b98e" name="a3f9f604fc9b1d14b05acd8ee3ff7b98e"></a>## [◆ ](#a3f9f604fc9b1d14b05acd8ee3ff7b98e)registerInterface()

 void ansys::Project::Storage::registerInterface  ( const std::string &amp;  *pType*,    [Storage](classansys_1_1_project_1_1_storage.xhtml) \*  *pInterface*   )   static 

Register a [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object to work with a specific [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") type.

This function takes ownership of the provided [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") pointer. The registered [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object will be automatically deleted when it is replaced, unregistered, or when the program terminates. The caller must not delete the pointer after passing it to this function.

Parameters pTypeThe [URL](classansys_1_1_project_1_1_u_r_l.xhtml "The address of a local or remote file, using the URI format.") type to associate with this [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") interface pInterfaceRaw pointer to a [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") object allocated with 'new'. Ownership is transferred to the [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") registry.WarningDo not delete pInterface after calling this function. The [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") registry manages its lifetime. If a [Storage](classansys_1_1_project_1_1_storage.xhtml "Base class for file storage management module.") interface for pType already exists, a warning is printed and the old interface is replaced (and automatically deleted).