1#ifndef TENDUKE_SE_LICENSING_FLUENTRELEASEBUILDER_H
2#define TENDUKE_SE_LICENSING_FLUENTRELEASEBUILDER_H
4#include "./LicenseReleaseArguments.h"
5#include "../../Lease.h"
11namespace tenduke {
namespace se {
namespace licensing {
17template <
typename Builder>
35 const std::string& leaseId,
36 std::int64_t finalUsedQty
42 return static_cast<Builder &
>(*this);
50 Builder &
lease(
const std::string leaseId)
52 return lease(leaseId, 1);
62 const ::tenduke::se::licensing::Lease &
lease,
63 std::int64_t finalUsedQty
65 return this->
lease(lease.leaseId, finalUsedQty);
73 Builder &
lease(const ::tenduke::se::licensing::Lease &
lease)
75 return this->
lease(lease, 1);
83 Builder &
leases(
const std::vector<::tenduke::se::licensing::Lease> &licensesToRelease)
85 for (
auto const& licenseToRelease : licensesToRelease) {
86 lease(licenseToRelease);
88 return static_cast<Builder &
>(*this);
96 std::vector<::tenduke::se::licensing::LicenseReleaseArguments>
arguments;
Base for fluent builder of release parameters.
Definition FluentReleaseBuilder.h:19
Builder & lease(const ::tenduke::se::licensing::Lease &lease, std::int64_t finalUsedQty)
Adds lease to release, with given final-used quantity.
Definition FluentReleaseBuilder.h:61
Builder & lease(const std::string leaseId)
Adds lease id to release, with quantity of 1.
Definition FluentReleaseBuilder.h:50
Builder & lease(const ::tenduke::se::licensing::Lease &lease)
Adds lease to release with quantity of 1.
Definition FluentReleaseBuilder.h:73
const std::string licenseKey
Licensekey.
Definition FluentReleaseBuilder.h:93
FluentReleaseBuilder(std::string licenseKey)
Constructs new instance.
Definition FluentReleaseBuilder.h:25
std::vector<::tenduke::se::licensing::LicenseReleaseArguments > arguments
The individual arguments.
Definition FluentReleaseBuilder.h:96
Builder & lease(const std::string &leaseId, std::int64_t finalUsedQty)
Adds lease id to release, with final used quantity.
Definition FluentReleaseBuilder.h:34
Builder & leases(const std::vector<::tenduke::se::licensing::Lease > &licensesToRelease)
Adds leases to release, each with quantity of 1.
Definition FluentReleaseBuilder.h:83
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7