LicenseSpring C++ SDK  7.31.0
Easily add Software Licensing to your application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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 {
21  {
22  public:
23  using ptr_t = std::shared_ptr<ProductDetails>;
24 
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
LSAuthMethod
Product authorization method.
Definition: PODTypes.h:9
std::shared_ptr< ProductDetails > 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
std::shared_ptr< InstallationFile > ptr_t
Class that encapsulates information about a product.