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
LicenseSpring::Configuration::ptr_t
std::shared_ptr< Configuration > ptr_t
Definition: Configuration.h:21
LicenseSpring::LicenseStorage::ptr_t
std::shared_ptr< LicenseStorage > ptr_t
Definition: LicenseStorage.h:20
LicenseSpring::LicenseID
Class that represents License identifier.
Definition: LicenseID.h:20
BaseManager.h
LicenseSpring
Definition: BaseManager.h:16
FloatingServerInfo.h
LicenseSpring::FloatingClient::ptr_t
std::shared_ptr< FloatingClient > ptr_t
Definition: FloatingClient.h:21
LicenseSpring::License::ptr_t
std::shared_ptr< License > ptr_t
Definition: License.h:37
LS_API
#define LS_API
Definition: APIDef.h:23
LicenseSpring::FloatingServerInfo::ptr_t
std::shared_ptr< FloatingServerInfo > ptr_t
Definition: FloatingServerInfo.h:22
LicenseSpring::BaseManager
Base class for license management.
Definition: BaseManager.h:24
LicenseSpring::FloatingClient
Class for performing requests to LicenseSpring Floating server.
Definition: FloatingClient.h:18
License.h