LicenseSpring C++ SDK  7.31.0
Easily add Software Licensing to your application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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( Configuration::ptr_t config, LicenseStorage::ptr_t storage = nullptr );
29 
35 
37  ~FloatingClient() override;
38 
52  const License::ptr_t registerLicense( const std::string& id, const LicenseID& licenseID = LicenseID() );
53 
59  const License::ptr_t borrowLicense( const std::string& id, const std::string& borrowEndDateTime = std::string() );
60 
69  bool unregisterLicense( const std::string& id, const LicenseID& licenseID = LicenseID() );
70 
78  bool isOnline( bool throwExceptions = false ) const;
79 
87  FloatingServerInfo::ptr_t getServerInfo();
88  };
89 }
90 
91 #ifdef _MSC_VER
92 #pragma warning( pop )
93 #endif
94 
95 #endif // LS_FLOATING_CLIENT_H
Class for performing requests to LicenseSpring Floating server.
std::shared_ptr< Configuration > ptr_t
Definition: Configuration.h:20
std::shared_ptr< LicenseStorage > ptr_t
Base class for license management.
Definition: BaseManager.h:23
std::shared_ptr< FloatingClient > ptr_t
std::shared_ptr< License > ptr_t
Definition: License.h:36
std::shared_ptr< FloatingServerInfo > ptr_t
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition: APIDef.h:22
Class that represents License identifier.
Definition: LicenseID.h:18