10Duke Scale C++ Client
Loading...
Searching...
No Matches
License.h
1#ifndef TENDUKE_SE_LICENSING_LICENSE_H
2#define TENDUKE_SE_LICENSING_LICENSE_H
3
4#include "./LicenseFeature.h"
5#include "./LicenseKey.h"
6
7#include <memory>
8#include <string>
9#include <utility>
10#include <vector>
11
12namespace tenduke { namespace se { namespace licensing {
13
15const char QTY_DIMENSION_SEATS[] = "SEATS";
17const char QTY_DIMENSION_USE_COUNT[] = "USE_COUNT";
19const char QTY_DIMENSION_USE_TIME[] = "USE_TIME";
21const char QTY_DIMENSION_NONE[] = "NONE";
22
27{
28public:
33 {
34 NONE = -1,
35 SEATS = 0,
36 USE_COUNT,
37 USE_TIME
38 };
39
45 static const char * dimensionToString(enum QuantityDimension quantityDimension)
46 {
47 switch(quantityDimension) {
48 case SEATS: return QTY_DIMENSION_SEATS;
49 case USE_COUNT: return QTY_DIMENSION_USE_COUNT;
50 case USE_TIME: return QTY_DIMENSION_USE_TIME;
51 default: return QTY_DIMENSION_NONE;
52 }
53 }
54
60 static enum QuantityDimension stringToDimension(const std::string &string)
61 {
62 if (string == QTY_DIMENSION_SEATS) {
63 return QuantityDimension::SEATS;
64 }
65 if (string == QTY_DIMENSION_USE_COUNT) {
66 return QuantityDimension::USE_COUNT;
67 }
68 if (string == QTY_DIMENSION_USE_TIME) {
69 return QuantityDimension::USE_TIME;
70 }
71 return QuantityDimension::NONE;
72 }
73
74public:
97 std::string allowedVersionLowerBound
98 , std::string allowedVersionUpperBound
99 , std::string allowedVersionsDisplayName
100 , const std::int64_t concurrentUserAppInstancesPerSeat
101 , const std::int64_t concurrentUserDevicesPerSeat
102 , std::string created
103 , std::string displayName
104 , std::string featureNames
105 , const std::vector<::tenduke::se::licensing::LicenseFeature> &features
106 , std::string id
107 , std::string modified
108 , std::string productName
109 , const std::int64_t qty
111 , std::string qtyEnforcementType
112 , std::string validFrom
113 , std::string validUntil
114 , const std::shared_ptr<const ::tenduke::se::licensing::LicenseKey> &licenseKey = nullptr
120 , created(std::move(created))
121 , displayName(std::move(displayName))
122 , featureNames(std::move(featureNames))
124 , id(std::move(id))
126 , modified(std::move(modified))
127 , productName(std::move(productName))
128 , qty(qty)
131 , validFrom(std::move(validFrom))
132 , validUntil(std::move(validUntil))
133 {}
134
135public:
137 const std::string allowedVersionLowerBound;
139 const std::string allowedVersionUpperBound;
141 const std::string allowedVersionsDisplayName;
147 const std::string created;
149 const std::string displayName;
151 const std::string featureNames;
153 const std::vector<::tenduke::se::licensing::LicenseFeature> features;
155 const std::string id;
157 const std::shared_ptr<const ::tenduke::se::licensing::LicenseKey> licenseKey;
158 //const std::shared_ptr<const tenduke::se::licensing::LicenseMetadata> licenseMetadata;
160 const std::string modified;
162 const std::string productName;
164 const std::int64_t qty;
168 const std::string qtyEnforcementType;
170 const std::string validFrom;
172 const std::string validUntil;
173};
174
175
176}}}
177
178#endif //TENDUKE_SE_LICENSING_LICENSE_H
10Duke Scale license.
Definition License.h:27
const std::string allowedVersionLowerBound
Allowed version lower bound.
Definition License.h:137
const std::shared_ptr< const ::tenduke::se::licensing::LicenseKey > licenseKey
LicenseKey.
Definition License.h:157
const std::string id
Id.
Definition License.h:155
const std::string validUntil
Valid until.
Definition License.h:172
const std::string allowedVersionUpperBound
Allowed version upper bound.
Definition License.h:139
const std::int64_t concurrentUserDevicesPerSeat
Concurrent user devices per seat.
Definition License.h:145
const std::string displayName
Display name.
Definition License.h:149
License(std::string allowedVersionLowerBound, std::string allowedVersionUpperBound, std::string allowedVersionsDisplayName, const std::int64_t concurrentUserAppInstancesPerSeat, const std::int64_t concurrentUserDevicesPerSeat, std::string created, std::string displayName, std::string featureNames, const std::vector<::tenduke::se::licensing::LicenseFeature > &features, std::string id, std::string modified, std::string productName, const std::int64_t qty, const enum QuantityDimension qtyDimension, std::string qtyEnforcementType, std::string validFrom, std::string validUntil, const std::shared_ptr< const ::tenduke::se::licensing::LicenseKey > &licenseKey=nullptr)
Constructs new instance.
Definition License.h:96
static enum QuantityDimension stringToDimension(const std::string &string)
Parses string to QuantityDimension.
Definition License.h:60
QuantityDimension
Quantity dimensions.
Definition License.h:33
const std::string created
Creation timestamp.
Definition License.h:147
const std::vector<::tenduke::se::licensing::LicenseFeature > features
Features.
Definition License.h:153
const std::string validFrom
Valid from.
Definition License.h:170
const std::string featureNames
Feature names.
Definition License.h:151
const std::int64_t concurrentUserAppInstancesPerSeat
Concurrent user app instances per seat.
Definition License.h:143
enum QuantityDimension qtyDimension
Quantity dimension.
Definition License.h:166
const std::string qtyEnforcementType
Quantity enforcement type.
Definition License.h:168
const std::string modified
Modification timestamp.
Definition License.h:160
const std::string productName
Product name.
Definition License.h:162
const std::int64_t qty
Qty.
Definition License.h:164
const std::string allowedVersionsDisplayName
Allowed version display name.
Definition License.h:141
static const char * dimensionToString(enum QuantityDimension quantityDimension)
Returns string representation of the quantity dimension enumeration.
Definition License.h:45
const char QTY_DIMENSION_USE_TIME[]
String representation "quantity dimension" use time.
Definition License.h:19
const char QTY_DIMENSION_USE_COUNT[]
String representation "quantity dimension" use count.
Definition License.h:17
const char QTY_DIMENSION_SEATS[]
String representation "quantity dimension" seats.
Definition License.h:15
const char QTY_DIMENSION_NONE[]
String representation "quantity dimension" none.
Definition License.h:21
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7