10Duke Enterprise C++ SDK
Toggle main menu visibility
Loading...
Searching...
No Matches
FluentLicenseRenewBuilder.h
1
#ifndef TENDUKE_EE_LICENSING_FLUENTLICENSERENEWBUILDER_H
2
#define TENDUKE_EE_LICENSING_FLUENTLICENSERENEWBUILDER_H
3
4
#include "./LicenseRenewItem.h"
5
#include "./LicenseRenewParameters.h"
6
#include "../Lease.h"
7
8
#include <cstdint>
9
#include <map>
10
#include <string>
11
#include <vector>
12
13
namespace
tenduke
{
namespace
ee
{
namespace
licensing
{
14
19
template
<
typename
BUILDER>
20
class
FluentLicenseRenewBuilder
21
{
22
public
:
28
BUILDER &
lease
(const ::tenduke::ee::licensing::Lease &
lease
)
29
{
30
leasesToRenew.emplace_back(
::tenduke::ee::licensing::LicenseRenewItem
(
31
lease
.name,
32
lease
.leaseId
33
));
34
return
static_cast<
BUILDER&
>
(*this);
35
}
36
42
BUILDER &
leases
(
const
std::vector<::tenduke::ee::licensing::Lease> &pLeases)
43
{
44
for
(
auto
const
&leaseToRenew : pLeases) {
45
lease
(leaseToRenew);
46
}
47
return
static_cast<
BUILDER&
>
(*this);
48
}
49
57
BUILDER &
leases
(
const
std::map<std::string, ::tenduke::ee::licensing::Lease> &pLeases)
58
{
59
for
(
auto
const
&leaseToRenew : pLeases) {
60
lease
(leaseToRenew.second);
61
}
62
return
static_cast<
BUILDER&
>
(*this);
63
}
64
65
71
BUILDER &
duration
(std::uint64_t pConsumeDuration)
72
{
73
this->consumeDuration = pConsumeDuration;
74
return
static_cast<
BUILDER&
>
(*this);
75
}
76
77
78
protected
:
83
virtual ::tenduke::ee::licensing::LicenseRenewParameters
buildParameters
()
84
{
85
return ::tenduke::ee::licensing::LicenseRenewParameters(
86
leasesToRenew,
87
consumeDuration
88
);
89
}
90
91
private
:
92
std::uint64_t consumeDuration;
93
std::vector<::tenduke::ee::licensing::LicenseRenewItem> leasesToRenew;
94
};
95
96
}}}
97
98
#endif
//TENDUKE_EE_LICENSING_FLUENTLICENSERENEWBUILDER_H
tenduke::ee::licensing::FluentLicenseRenewBuilder
Inheritable base class building renew request parameters fluently.
Definition
FluentLicenseRenewBuilder.h:21
tenduke::ee::licensing::FluentLicenseRenewBuilder::leases
BUILDER & leases(const std::map< std::string, ::tenduke::ee::licensing::Lease > &pLeases)
Adds leases to renew to the request.
Definition
FluentLicenseRenewBuilder.h:57
tenduke::ee::licensing::FluentLicenseRenewBuilder::lease
BUILDER & lease(const ::tenduke::ee::licensing::Lease &lease)
Adds lease to renew to the request.
Definition
FluentLicenseRenewBuilder.h:28
tenduke::ee::licensing::FluentLicenseRenewBuilder::duration
BUILDER & duration(std::uint64_t pConsumeDuration)
Sets "The requested duration of the license token (and the lease) in milliseconds....
Definition
FluentLicenseRenewBuilder.h:71
tenduke::ee::licensing::FluentLicenseRenewBuilder::leases
BUILDER & leases(const std::vector<::tenduke::ee::licensing::Lease > &pLeases)
Adds leases to renew to the request.
Definition
FluentLicenseRenewBuilder.h:42
tenduke::ee::licensing::FluentLicenseRenewBuilder::buildParameters
virtual::tenduke::ee::licensing::LicenseRenewParameters buildParameters()
Builds the parameters.
Definition
FluentLicenseRenewBuilder.h:83
tenduke::ee::licensing::LicenseRenewItem
A license lease to renew.
Definition
LicenseRenewItem.h:12
tenduke::ee::licensing
Classes, functions and globals related to 10Duke Enterprise licensing.
Definition
AuthzLicensingClient.h:13
tenduke::ee
Classes, functions and globals of 10Duke Enterprise C++ Client.
Definition
APIRequest.h:4
tenduke
Root for classes, functions and globals of 10Duke C++ Client.
Definition
APIRequest.h:4
client
enterprise
api
src
licensing
renew
FluentLicenseRenewBuilder.h
Generated by
1.17.0