LicenseSpring C++ SDK
Easily add Software Licensing to your application
FloatingClient.h
Go to the documentation of this file.
1 #ifndef LS_FLOATING_CLIENT_H
2 #define LS_FLOATING_CLIENT_H
3 
4 #ifdef _MSC_VER
5 #pragma once
6 #pragma warning(push)
7 #pragma warning(disable : 4251)
8 #endif
9 
10 #include "License.h"
11 #include "BaseManager.h"
12 #include "FloatingServerInfo.h"
13 
14 namespace LicenseSpring
15 {
19 {
20 public:
21  using ptr_t = std::shared_ptr<FloatingClient>;
22 
28  static FloatingClient::ptr_t create(
29  Configuration::ptr_t config, LicenseStorage::ptr_t storage = nullptr);
30 
36 
39  ~FloatingClient() override;
40 
58  const License::ptr_t registerLicense(
59  const std::string &id, const LicenseID &licenseID = LicenseID());
60 
70  const License::ptr_t borrowLicense(
71  const std::string &id, const std::string &borrowEndDateTime = std::string());
72 
83  bool unregisterLicense(const std::string &id, const LicenseID &licenseID = LicenseID());
84 
93  bool isOnline(bool throwExceptions = false) const;
94 
104  FloatingServerInfo::ptr_t getServerInfo();
105 };
106 } // namespace LicenseSpring
107 
108 #ifdef _MSC_VER
109 #pragma warning(pop)
110 #endif
111 
112 #endif // LS_FLOATING_CLIENT_H
Class for performing requests to LicenseSpring Floating server.
std::shared_ptr< Configuration > ptr_t
Definition: Configuration.h:21
std::shared_ptr< LicenseStorage > ptr_t
Base class for license management.
Definition: BaseManager.h:24
std::shared_ptr< FloatingClient > ptr_t
std::shared_ptr< License > ptr_t
Definition: License.h:37
std::shared_ptr< FloatingServerInfo > ptr_t
#define LS_API
Definition: APIDef.h:23
Class that represents License identifier.
Definition: LicenseID.h:20