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

LicenseFeature.h
Go to the documentation of this file.
1 #ifndef LS_LICENSE_FEATURE_H
2 #define LS_LICENSE_FEATURE_H
3
4 #ifdef _MSC_VER
5 #pragma once
6 #pragma warning( push )
7 #pragma warning( disable : 4251 )
8 #endif
9
10 #include <string>
11 #include <ctime>
12 #include "PODTypes.h"
13 #include "APIDef.h"
14 #include "ConsumptionPeriod.h"
15
16 namespace LicenseSpring
17 {
20 class LS_API LicenseFeature
21 {
22 public:
24 LicenseFeature();
25
30 LicenseFeature( const std::string& code, const std::string& name, LSFeatureType type );
31
53 LicenseFeature( const std::string& code, const std::string& name, LSFeatureType type,
54 int32_t maxConsumption, int32_t totalConsumption, int32_t localConsumption,
55 const tm& expiryDate, bool allowOverages, int32_t maxOverages,
56 bool resetConsumption, bool allowUnlimitedConsumptions, ConsumptionPeriod consumptionPeriod, const std::string& metadata,
57 bool isFloating, bool isOfflineFloating, int32_t floatingTimeout, int32_t floatingUsers,
58 int32_t floatingInUseCount, const tm& floatingStartDateTime, const tm& floatingEndDateTime );
59
62 const std::string& code() const;
63
66 const std::string& name() const;
67
70 LSFeatureType featureType() const;
71
75 int32_t maxConsumption() const;
76
80 int32_t totalConsumption() const;
81
86 int32_t localConsumption() const;
87
90 int32_t maxOverages() const;
91
94 bool isOveragesAllowed() const;
95
98 ConsumptionPeriod consumptionPeriod() const;
99
102 bool isResetConsumptionEnabled() const;
103
106 bool isUnlimitedConsumptionAllowed() const;
107
112 tm expiryDate() const;
113
117 tm expiryDateUtc() const;
118
121 const std::string& metadata() const;
122
125 bool isExpired() const;
126
129 bool isFloating() const;
130
133 bool isOfflineFloating() const;
134
137 int32_t floatingTimeout() const;
138
141 int32_t floatingUsers() const;
142
145 int32_t floatingInUseCount() const;
146
152 tm floatingEndDateTime() const;
153
158 tm floatingEndDateTimeUtc() const;
159
163 bool floatingIsExpired() const;
164
171 static LSFeatureType FeatureTypeFromString( const std::string& value );
172
178 static std::string FeatureTypeToString( LSFeatureType value );
179
183 std::string toString() const;
184
185 private:
186 std::string m_code;
187 std::string m_name;
188 LSFeatureType m_featureType;
189 int32_t m_maxConsumption;
190 int32_t m_totalConsumption;
191 int32_t m_localConsumption;
192 int32_t m_maxOverages;
193 bool m_allowOverages;
194 bool m_allowUnlimitedConsumptions;
195 bool m_resetConsumption;
196 ConsumptionPeriod m_consumptionPeriod;
197 tm m_expiryDate;
198 std::string m_metadata;
199 bool m_isFloating;
200 bool m_isOfflineFloating;
201 int32_t m_floatingTimeout;
202 int32_t m_floatingUsers;
203 int32_t m_floatingInUseCount;
204 tm m_floatingStartDateTime;
205 tm m_floatingEndDateTime;
206 };
207 }
208
209 #ifdef _MSC_VER
210 #pragma warning( pop )
211 #endif
212
213 #endif // LS_LICENSE_FEATURE_H
LicenseSpring
Definition: BaseManager.h:15
APIDef.h
LicenseSpring::ConsumptionPeriod
Class used for encapsulating LSConsumptionPeriod and converting cosumption period to/from string...
Definition: ConsumptionPeriod.h:10
ConsumptionPeriod.h
LicenseSpring::LicenseFeature
Class that encapsulates information about license feature.
Definition: LicenseFeature.h:20
LSFeatureType
LSFeatureType
Product feature type.
Definition: PODTypes.h:18
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