LicenseSpring C++ SDK
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#include "CustomField.h"
16
17namespace LicenseSpring
18{
23{
24public:
25 using ptr_t = std::shared_ptr<ProductDetails>;
26
29
32 bool isTrialAllowed() const;
33
36 bool isVMAllowed() const;
37
40 uint32_t trialPeriod() const;
41
44 uint32_t floatingLicenseTimeout() const;
45
48 const std::string &productName() const;
49
52 const std::string &productCode() const;
53
58
61 const std::string &metadata() const;
62
65 const std::string &latestVersion() const;
66
70
73 std::vector<CustomField> customFields() const;
74
77 bool isEqual(const ProductDetails &other) const;
78
81 static ProductDetails fromJsonString(const std::string &jsonString);
82
83private:
84 bool m_isTrialAllowed;
85 bool m_isVMAllowed;
86 uint32_t m_trialPeriod;
87 uint32_t m_floatingTimeout;
88 std::string m_productName;
89 std::string m_productCode;
90 LSAuthMethod m_authorizationMethod;
91 std::string m_metadata;
92 std::string m_latestVersion;
93 std::vector<CustomField> m_customFields;
94};
95} // namespace LicenseSpring
96
97#ifdef _MSC_VER
98#pragma warning(pop)
99#endif
100
101#endif // LS_PRODUCT_DETAILS_H
#define LS_API
Definition: APIDef.h:23
LSAuthMethod
Product authorization method.
Definition: PODTypes.h:10
std::shared_ptr< InstallationFile > ptr_t
Class that encapsulates information about a product.
uint32_t trialPeriod() const
Getter for trial period value in days.
bool isVMAllowed() const
Checks if running the product on virtual machines is allowed.
static ProductDetails fromJsonString(const std::string &jsonString)
Helper method, creates ProductDetails object from JSON string.
const std::string & latestVersion() const
Getter for latest product version.
bool isTrialAllowed() const
Checks whether trial license is allowed for this product or not.
ProductDetails()
Default constructor, creates empty (invalid) Product details.
uint32_t floatingLicenseTimeout() const
Getter for floating licenses in minutes.
LSAuthMethod authorizationMethod() const
Getter for product authorization method.
const std::string & productName() const
Getter for product name.
std::vector< CustomField > customFields() const
Getter for product custom fields.
InstallationFile::ptr_t installationFile() const
Getter for product installation file.
std::shared_ptr< ProductDetails > ptr_t
const std::string & productCode() const
Getter for product code.
bool isEqual(const ProductDetails &other) const
Compare this object to other.
const std::string & metadata() const
Getter for product metadata.