| LicenseSpring C++ SDK 7.32.0 Easily add Software Licensing to your application

ProductDetails.h
Go to the documentation of this file.
1 #ifndef LS_PRODUCT_DETAILS_H
2 #define LS_PRODUCT_DETAILS_H
3
4 #ifdef _MSC_VER
5 #pragma once
6 #pragma warning( push )
7 #pragma warning( disable : 4251 )
8 #endif
9
10 #include <memory>
11 #include <string>
12 #include "APIDef.h"
13 #include "PODTypes.h"
14 #include "InstallationFile.h"
15
16 namespace LicenseSpring
17 {
20 class LS_API ProductDetails
21 {
22 public:
23 using ptr_t = std::shared_ptr<ProductDetails>;
24
26 ProductDetails();
27
30 bool isTrialAllowed() const;
31
34 bool isVMAllowed() const;
35
38 uint32_t trialPeriod() const;
39
42 uint32_t floatingLicenseTimeout() const;
43
46 const std::string& productName() const;
47
50 const std::string& productCode() const;
51
54 LSAuthMethod authorizationMethod() const;
55
58 const std::string& metadata() const;
59
62 const std::string& latestVersion() const;
63
66 InstallationFile::ptr_t installationFile() const;
67
70 bool isEqual( const ProductDetails& other ) const;
71
74 static ProductDetails fromJsonString( const std::string& jsonString );
75
76 private:
77 bool m_isTrialAllowed;
78 bool m_isVMAllowed;
79 uint32_t m_trialPeriod;
80 uint32_t m_floatingTimeout;
81 std::string m_productName;
82 std::string m_productCode;
83 LSAuthMethod m_authorizationMethod;
84 std::string m_metadata;
85 std::string m_latestVersion;
86 };
87 }
88
89 #ifdef _MSC_VER
90 #pragma warning( pop )
91 #endif
92
93 #endif // LS_PRODUCT_DETAILS_H
LicenseSpring
Definition: BaseManager.h:15
APIDef.h
LSAuthMethod
LSAuthMethod
Product authorization method.
Definition: PODTypes.h:9
LicenseSpring::ProductDetails::ptr_t
std::shared_ptr< ProductDetails > ptr_t
Definition: ProductDetails.h:23
LS_API
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition: APIDef.h:22
PODTypes.h
LicenseSpring::InstallationFile::ptr_t
std::shared_ptr< InstallationFile > ptr_t
Definition: InstallationFile.h:54
InstallationFile.h
LicenseSpring::ProductDetails
Class that encapsulates information about a product.
Definition: ProductDetails.h:20