LicenseSpring C++ SDK 7.31.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
16namespace LicenseSpring
17{
21 {
22 public:
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
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
99
103
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
153
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
#define LS_API
Macros that expands to dllexport, dllimport or nothing on non Windows platforms or in case of static ...
Definition: APIDef.h:22
LSFeatureType
Product feature type.
Definition: PODTypes.h:19
Class used for encapsulating LSConsumptionPeriod and converting cosumption period to/from string.
Class that encapsulates information about license feature.
static std::string FeatureTypeToString(LSFeatureType value)
Helper method, converts LSFeatureType to string.
bool isUnlimitedConsumptionAllowed() const
Checks if unlimited consumption is allowed for Consumption license feature.
tm floatingEndDateTime() const
Getter method for floating license feature expiry date.
LicenseFeature(const std::string &code, const std::string &name, LSFeatureType type, int32_t maxConsumption, int32_t totalConsumption, int32_t localConsumption, const tm &expiryDate, bool allowOverages, int32_t maxOverages, bool resetConsumption, bool allowUnlimitedConsumptions, ConsumptionPeriod consumptionPeriod, const std::string &metadata, bool isFloating, bool isOfflineFloating, int32_t floatingTimeout, int32_t floatingUsers, int32_t floatingInUseCount, const tm &floatingStartDateTime, const tm &floatingEndDateTime)
Constructs license feature with all of provided info.
LicenseFeature()
Constructs invalid license feature with no information.
LSFeatureType featureType() const
Getter method for license feature type.
int32_t floatingInUseCount() const
Getter for current number of simultaneous users using this feature.
bool isOfflineFloating() const
Checks if feature is and offline server floating feature.
const std::string & name() const
Getter method for license feature name.
bool isExpired() const
Checks if license feature expired.
int32_t floatingTimeout() const
Getter for floating license timeout.
const std::string & metadata() const
Getter method for license feature metadata.
static LSFeatureType FeatureTypeFromString(const std::string &value)
Helper method, converts string to LSFeatureType.
bool isResetConsumptionEnabled() const
Checks if consumption reset is allowed for Consumption license feature.
bool isOveragesAllowed() const
Checks if overage is allowed for Consumption license feature.
std::string toString() const
Helper method, compose license feature info into string.
int32_t floatingUsers() const
Getter for maximum number of simultaneous users for this feature.
ConsumptionPeriod consumptionPeriod() const
Returns period of time after which consumption is reset.
bool floatingIsExpired() const
Checks if floating license feature expired.
LicenseFeature(const std::string &code, const std::string &name, LSFeatureType type)
Constructs license feature with given code, name and type.
int32_t totalConsumption() const
Getter method for license feature current total consumption.
bool isFloating() const
Checks if feature is a floating feature.
tm floatingEndDateTimeUtc() const
Getter method for license feature expiry date in UTC.
int32_t localConsumption() const
Getter method for license feature local consumption.
tm expiryDateUtc() const
Getter method for license feature expiry date in UTC.
int32_t maxOverages() const
Returns maximum overage allowed for the license feature.
int32_t maxConsumption() const
Getter method for license feature maximum consumption.
tm expiryDate() const
Getter method for license feature expiry date.
const std::string & code() const
Getter method for license feature code.