    

 ## On this page

  

 

 # ansys::Project::ProjectStoragePolicy Class Reference

 Last update: 16.07.2025 

[Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") storage settings, control folder management, folder names, etc. [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#details)

`#include "ProjectStoragePolicy.hpp"`

## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

 [ProjectStoragePolicy](classansys_1_1_project_1_1_project_storage_policy.xhtml#a796f624b5195e85e2e6d1438aae4e5f3) (const std::string pName) Constructor - default storage policies. [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a796f624b5195e85e2e6d1438aae4e5f3)  
 void [setProjectSubfolderEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#a531a4a6db648de63a07566b3cfcfaf54) (bool pFlag) bool [isProjectSubfolderEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#a2be7b219115ccfabd10ec76eec615024) () const indicates if the project is a managed project (with a sidecard folder to store files) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a2be7b219115ccfabd10ec76eec615024)  
 void [setSubProjectMode](classansys_1_1_project_1_1_project_storage_policy.xhtml#a053d476b7e53ac5eab403e82549ec615) (const std::string &amp;pSubprojectMode) std::string [getSubProjectMode](classansys_1_1_project_1_1_project_storage_policy.xhtml#a96410b6d24c2160ccca6c0a1231c83e5) () const indicates the type of the subproject (the type of the head node of the subproject) - default state is none (empty string) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a96410b6d24c2160ccca6c0a1231c83e5)  
 void [setSimFolderName](classansys_1_1_project_1_1_project_storage_policy.xhtml#a986365423cee33e4f4ccef640b035fcb) (const std::string &amp;pName) std::string [getSimFolderName](classansys_1_1_project_1_1_project_storage_policy.xhtml#abc5273cd8bf336f2b2ef50b95a08c70a) () const returns the name of the simulation folder in the current policy (default is none) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#abc5273cd8bf336f2b2ef50b95a08c70a)  
 void [setProjectSubfolderSuffix](classansys_1_1_project_1_1_project_storage_policy.xhtml#aaae0dc8bdbcf2600d2350121dd727d70) (const std::string &amp;pSuffix) std::string [getProjectSubfolderSuffix](classansys_1_1_project_1_1_project_storage_policy.xhtml#afd7b7487b032863932e9ddc7f28822db) () const indicates the the filename suffix added to a project folder (default is .cffdb) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#afd7b7487b032863932e9ddc7f28822db)  
 void [setProjectSubfolderCustomName](classansys_1_1_project_1_1_project_storage_policy.xhtml#a93526a7d1a56d469400628ea7391c21f) (const std::string &amp;pCustomFolder) std::string [getProjectSubfolderCustomName](classansys_1_1_project_1_1_project_storage_policy.xhtml#ad11cd0726e363557d2687a9953be8914) () const indicates if the project folder has a specific name - default is none (will use project index filename + suffix) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#ad11cd0726e363557d2687a9953be8914)  
 void [setAttr](classansys_1_1_project_1_1_project_storage_policy.xhtml#a8a9212b1e52d8f43673f19a5dd27e50d) (const std::string &amp;pKey, const std::string &amp;pValue) std::string [getAttr](classansys_1_1_project_1_1_project_storage_policy.xhtml#aeb4ce83a9ff4ae09d9d69e00649adf1d) (const std::string &amp;pKey) const void [saveToMeta](classansys_1_1_project_1_1_project_storage_policy.xhtml#a255b54d30b865d8f2ed8b7a68fe1d3ef) (MetadataHoof &amp;pMeta) void [loadFromMeta](classansys_1_1_project_1_1_project_storage_policy.xhtml#a8cc10dc4fee5e6658fa43684d53725af) (const MetadataHoof &amp;pMeta) void [setReadOnly](classansys_1_1_project_1_1_project_storage_policy.xhtml#af47a9235fc8b954c14bec443651c671c) (bool pFlag) bool [isReadOnly](classansys_1_1_project_1_1_project_storage_policy.xhtml#a3dd58ce3f552dc734da4ee7402dae8e0) () const indicates if the project is read-only, cannot be saved back and many operations will fail [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a3dd58ce3f552dc734da4ee7402dae8e0)  
 void [setApplicationName](classansys_1_1_project_1_1_project_storage_policy.xhtml#ad0740910f100893801079c0b62608621) (const std::string &amp;pName) std::string [getApplicationName](classansys_1_1_project_1_1_project_storage_policy.xhtml#a8aae9c1ab4c6ee30c9bf48fca821c5f2) () const return the application owner of this project (optional - default is empty) [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a8aae9c1ab4c6ee30c9bf48fca821c5f2)  
 [URL](classansys_1_1_project_1_1_u_r_l.xhtml) [getLockInfoFilename](classansys_1_1_project_1_1_project_storage_policy.xhtml#a3198e10db4a1528ec7013e314917dd9b) (const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;pProjectLocation) const if project lock is enabled, returns the lock filename for the specified project location [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a3198e10db4a1528ec7013e314917dd9b)  
 void [setUseLockInfo](classansys_1_1_project_1_1_project_storage_policy.xhtml#ac9ec77d9b55c73bd6b211a9c660d7d27) (bool pUseFeature, bool pUseInReadOnly=false) bool [isLockInfoEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#a6f6b3aafaf32b38b045302ae533a5c58) () const indicates if project lock feature is enabled [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a6f6b3aafaf32b38b045302ae533a5c58)  
 bool [isLockInfoOnReadOnlyEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#a2a5a04e54acf832efaeefdc6a1c8538a) () const indicates if project lock will prevent reading even in read-only mode [More...](classansys_1_1_project_1_1_project_storage_policy.xhtml#a2a5a04e54acf832efaeefdc6a1c8538a)  
 void [setAutoUpgradeEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#aac3caf991d0ecabf88002fe8d271d8b2) (bool pFlag) bool [getAutoUpgradeEnabled](classansys_1_1_project_1_1_project_storage_policy.xhtml#a33ce9eaefe4d08c597c83e0435d20670) () const <a id="details" name="details"></a>## Detailed Description

[Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") storage settings, control folder management, folder names, etc.

The storage policy is to be set before creating a new project, or the read project settings can be retrieved after opening an existing project. The policy is saved in the project file itself.

Default policies:

- Managed project (a project folder is created and managed aside the project file)
- [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") folder suffix: .cffdb
- [Project](classansys_1_1_project_1_1_project.xhtml "Base class for Project API, also see SimProject.") lock: disabled
- Automatic upgrades: enabled



## Constructor &amp; Destructor Documentation

<a id="a796f624b5195e85e2e6d1438aae4e5f3" name="a796f624b5195e85e2e6d1438aae4e5f3"></a>## [◆ ](#a796f624b5195e85e2e6d1438aae4e5f3)ProjectStoragePolicy()

 ansys::Project::ProjectStoragePolicy::ProjectStoragePolicy  ( const std::string  *pName*) 

Constructor - default storage policies.





## Member Function Documentation

<a id="a8aae9c1ab4c6ee30c9bf48fca821c5f2" name="a8aae9c1ab4c6ee30c9bf48fca821c5f2"></a>## [◆ ](#a8aae9c1ab4c6ee30c9bf48fca821c5f2)getApplicationName()

 std::string ansys::Project::ProjectStoragePolicy::getApplicationName  ( )  const

return the application owner of this project (optional - default is empty)





<a id="aeb4ce83a9ff4ae09d9d69e00649adf1d" name="aeb4ce83a9ff4ae09d9d69e00649adf1d"></a>## [◆ ](#aeb4ce83a9ff4ae09d9d69e00649adf1d)getAttr()

 std::string ansys::Project::ProjectStoragePolicy::getAttr  ( const std::string &amp;  *pKey*)  const





<a id="a33ce9eaefe4d08c597c83e0435d20670" name="a33ce9eaefe4d08c597c83e0435d20670"></a>## [◆ ](#a33ce9eaefe4d08c597c83e0435d20670)getAutoUpgradeEnabled()

 bool ansys::Project::ProjectStoragePolicy::getAutoUpgradeEnabled  ( )  const





<a id="a3198e10db4a1528ec7013e314917dd9b" name="a3198e10db4a1528ec7013e314917dd9b"></a>## [◆ ](#a3198e10db4a1528ec7013e314917dd9b)getLockInfoFilename()

 [URL](classansys_1_1_project_1_1_u_r_l.xhtml) ansys::Project::ProjectStoragePolicy::getLockInfoFilename  ( const [URL](classansys_1_1_project_1_1_u_r_l.xhtml) &amp;  *pProjectLocation*)  const

if project lock is enabled, returns the lock filename for the specified project location





<a id="ad11cd0726e363557d2687a9953be8914" name="ad11cd0726e363557d2687a9953be8914"></a>## [◆ ](#ad11cd0726e363557d2687a9953be8914)getProjectSubfolderCustomName()

 std::string ansys::Project::ProjectStoragePolicy::getProjectSubfolderCustomName  ( )  const

indicates if the project folder has a specific name - default is none (will use project index filename + suffix)





<a id="afd7b7487b032863932e9ddc7f28822db" name="afd7b7487b032863932e9ddc7f28822db"></a>## [◆ ](#afd7b7487b032863932e9ddc7f28822db)getProjectSubfolderSuffix()

 std::string ansys::Project::ProjectStoragePolicy::getProjectSubfolderSuffix  ( )  const

indicates the the filename suffix added to a project folder (default is .cffdb)





<a id="abc5273cd8bf336f2b2ef50b95a08c70a" name="abc5273cd8bf336f2b2ef50b95a08c70a"></a>## [◆ ](#abc5273cd8bf336f2b2ef50b95a08c70a)getSimFolderName()

 std::string ansys::Project::ProjectStoragePolicy::getSimFolderName  ( )  const

returns the name of the simulation folder in the current policy (default is none)





<a id="a96410b6d24c2160ccca6c0a1231c83e5" name="a96410b6d24c2160ccca6c0a1231c83e5"></a>## [◆ ](#a96410b6d24c2160ccca6c0a1231c83e5)getSubProjectMode()

 std::string ansys::Project::ProjectStoragePolicy::getSubProjectMode  ( )  const

indicates the type of the subproject (the type of the head node of the subproject) - default state is none (empty string)





<a id="a6f6b3aafaf32b38b045302ae533a5c58" name="a6f6b3aafaf32b38b045302ae533a5c58"></a>## [◆ ](#a6f6b3aafaf32b38b045302ae533a5c58)isLockInfoEnabled()

 bool ansys::Project::ProjectStoragePolicy::isLockInfoEnabled  ( )  const

indicates if project lock feature is enabled





<a id="a2a5a04e54acf832efaeefdc6a1c8538a" name="a2a5a04e54acf832efaeefdc6a1c8538a"></a>## [◆ ](#a2a5a04e54acf832efaeefdc6a1c8538a)isLockInfoOnReadOnlyEnabled()

 bool ansys::Project::ProjectStoragePolicy::isLockInfoOnReadOnlyEnabled  ( )  const

indicates if project lock will prevent reading even in read-only mode





<a id="a2be7b219115ccfabd10ec76eec615024" name="a2be7b219115ccfabd10ec76eec615024"></a>## [◆ ](#a2be7b219115ccfabd10ec76eec615024)isProjectSubfolderEnabled()

 bool ansys::Project::ProjectStoragePolicy::isProjectSubfolderEnabled  ( )  const

indicates if the project is a managed project (with a sidecard folder to store files)





<a id="a3dd58ce3f552dc734da4ee7402dae8e0" name="a3dd58ce3f552dc734da4ee7402dae8e0"></a>## [◆ ](#a3dd58ce3f552dc734da4ee7402dae8e0)isReadOnly()

 bool ansys::Project::ProjectStoragePolicy::isReadOnly  ( )  const

indicates if the project is read-only, cannot be saved back and many operations will fail





<a id="a8cc10dc4fee5e6658fa43684d53725af" name="a8cc10dc4fee5e6658fa43684d53725af"></a>## [◆ ](#a8cc10dc4fee5e6658fa43684d53725af)loadFromMeta()

 void ansys::Project::ProjectStoragePolicy::loadFromMeta  ( const MetadataHoof &amp;  *pMeta*) 





<a id="a255b54d30b865d8f2ed8b7a68fe1d3ef" name="a255b54d30b865d8f2ed8b7a68fe1d3ef"></a>## [◆ ](#a255b54d30b865d8f2ed8b7a68fe1d3ef)saveToMeta()

 void ansys::Project::ProjectStoragePolicy::saveToMeta  ( MetadataHoof &amp;  *pMeta*) 





<a id="ad0740910f100893801079c0b62608621" name="ad0740910f100893801079c0b62608621"></a>## [◆ ](#ad0740910f100893801079c0b62608621)setApplicationName()

 void ansys::Project::ProjectStoragePolicy::setApplicationName  ( const std::string &amp;  *pName*) 





<a id="a8a9212b1e52d8f43673f19a5dd27e50d" name="a8a9212b1e52d8f43673f19a5dd27e50d"></a>## [◆ ](#a8a9212b1e52d8f43673f19a5dd27e50d)setAttr()

 void ansys::Project::ProjectStoragePolicy::setAttr  ( const std::string &amp;  *pKey*,    const std::string &amp;  *pValue*   ) 





<a id="aac3caf991d0ecabf88002fe8d271d8b2" name="aac3caf991d0ecabf88002fe8d271d8b2"></a>## [◆ ](#aac3caf991d0ecabf88002fe8d271d8b2)setAutoUpgradeEnabled()

 void ansys::Project::ProjectStoragePolicy::setAutoUpgradeEnabled  ( bool  *pFlag*) 





<a id="a93526a7d1a56d469400628ea7391c21f" name="a93526a7d1a56d469400628ea7391c21f"></a>## [◆ ](#a93526a7d1a56d469400628ea7391c21f)setProjectSubfolderCustomName()

 void ansys::Project::ProjectStoragePolicy::setProjectSubfolderCustomName  ( const std::string &amp;  *pCustomFolder*) 





<a id="a531a4a6db648de63a07566b3cfcfaf54" name="a531a4a6db648de63a07566b3cfcfaf54"></a>## [◆ ](#a531a4a6db648de63a07566b3cfcfaf54)setProjectSubfolderEnabled()

 void ansys::Project::ProjectStoragePolicy::setProjectSubfolderEnabled  ( bool  *pFlag*) 





<a id="aaae0dc8bdbcf2600d2350121dd727d70" name="aaae0dc8bdbcf2600d2350121dd727d70"></a>## [◆ ](#aaae0dc8bdbcf2600d2350121dd727d70)setProjectSubfolderSuffix()

 void ansys::Project::ProjectStoragePolicy::setProjectSubfolderSuffix  ( const std::string &amp;  *pSuffix*) 





<a id="af47a9235fc8b954c14bec443651c671c" name="af47a9235fc8b954c14bec443651c671c"></a>## [◆ ](#af47a9235fc8b954c14bec443651c671c)setReadOnly()

 void ansys::Project::ProjectStoragePolicy::setReadOnly  ( bool  *pFlag*) 





<a id="a986365423cee33e4f4ccef640b035fcb" name="a986365423cee33e4f4ccef640b035fcb"></a>## [◆ ](#a986365423cee33e4f4ccef640b035fcb)setSimFolderName()

 void ansys::Project::ProjectStoragePolicy::setSimFolderName  ( const std::string &amp;  *pName*) 





<a id="a053d476b7e53ac5eab403e82549ec615" name="a053d476b7e53ac5eab403e82549ec615"></a>## [◆ ](#a053d476b7e53ac5eab403e82549ec615)setSubProjectMode()

 void ansys::Project::ProjectStoragePolicy::setSubProjectMode  ( const std::string &amp;  *pSubprojectMode*) 





<a id="ac9ec77d9b55c73bd6b211a9c660d7d27" name="ac9ec77d9b55c73bd6b211a9c660d7d27"></a>## [◆ ](#ac9ec77d9b55c73bd6b211a9c660d7d27)setUseLockInfo()

 void ansys::Project::ProjectStoragePolicy::setUseLockInfo  ( bool  *pUseFeature*,    bool  *pUseInReadOnly* = `false`   )