1 #ifndef LS_LICENSE_FILE_STORAGE_H
2 #define LS_LICENSE_FILE_STORAGE_H
7 #pragma warning(disable : 4251)
16 namespace interprocess
30 using ptr_t = std::shared_ptr<LicenseFileStorageBase>;
37 static ptr_t create(
const std::wstring &licensePath = std::wstring());
45 void saveLicense(
const std::string &data)
override;
49 std::string loadLicense()
override;
52 void clear()
override;
57 void setLicenseFileName(
const std::wstring &name);
61 void setLicenseFolderPath(
const std::wstring &path);
66 const std::wstring &licenseFileName()
const;
70 const std::wstring &licenseFolderPath()
const;
74 std::wstring licenseFilePath()
const;
82 std::wstring prepareRead()
const;
87 std::wstring prepareWrite()
const;
92 std::string readLicense(
const std::wstring &filePath)
const;
97 void writeLicense(
const std::wstring &filePath,
const std::string &data)
const;
105 using ptr_t = std::shared_ptr<LicenseFileStorage>;
112 static ptr_t create(
const std::wstring &licensePath = std::wstring());
120 void saveLicense(
const std::string &data)
override;
124 std::string loadLicense()
override;
127 void clear()
override;
140 using ptr_t = std::shared_ptr<LicenseFileStorageEx>;
149 const std::string &appName,
const std::wstring &licensePath = std::wstring());
155 const std::string &appName,
const std::wstring &licensePath = std::wstring());
162 void saveLicense(
const std::string &data)
override;
166 std::string loadLicense()
override;
169 void clear()
override;
175 void setPermissionsUnix(
int permissions);
181 void setPermissionsWin(
void *permissions);
184 void setPermissionsUnrestricted();
189 void setPermissionsDefault();
195 uint32_t lockTimeout()
const;
199 void setLockTimeout(uint32_t timeout);
203 uint32_t m_lockTimeout;
204 boost::interprocess::permissions *m_perm;
214 using ptr_t = std::shared_ptr<FileStorageWithLock>;
221 static ptr_t create(
const std::wstring &licensePath = std::wstring());
229 void saveLicense(
const std::string &data)
override;
233 std::string loadLicense()
override;
236 void clear()
override;
241 uint32_t attemptsCount()
const;
245 void setAttemptsCount(uint32_t count);
250 uint32_t waitTimeout()
const;
254 void setWaitTimeout(uint32_t timeout);
257 uint32_t m_attemptsCount;
258 uint32_t m_waitTimeout;
266 #endif // LS_LICENSE_FILE_STORAGE_H