10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::se::licensing::FluentConsumptionBuilder< Builder > Class Template Reference

#include <FluentConsumptionBuilder.h>

Detailed Description

template<typename Builder>
class tenduke::se::licensing::FluentConsumptionBuilder< Builder >

Base class for fluent building of license checkout parameters.

Template Parameters
Builderthe concrete builder instance (for inheritance)

Public Member Functions

 FluentConsumptionBuilder (std::string licenseKey)
 Constructs new instance.
 
Builder & seats (const std::string &pProductName, std::int64_t numSeats)
 Start building a license-consumption for seats.
 
Builder & seat (const std::string &pProductName)
 Start building a license-consumption for one seat.
 
Builder & count (const std::string &pProductName, std::int64_t useCount)
 Start building a license consumption for use count.
 
Builder & count (const std::string &pProductName)
 Starts building a license consumption for one use count.
 
Builder & time (const std::string &pProductName, std::int64_t useTime)
 Starts building a license consumption of use time.
 
Builder & version (const std::string &pClientVersion)
 Set the client version.
 
Builder & licenseId (const std::string &pLicenseId)
 Sets the license id to consume.
 

Protected Member Functions

void buildArgument ()
 Builds one argument.
 
void startArgument (::tenduke::se::licensing::License::QuantityDimension pQtyDimension, const std::string &pProductName, std::int64_t pQty)
 Starts building new argument.
 

Protected Attributes

const std::string licenseKey
 License key to use in checkout.
 
std::vector<::tenduke::se::licensing::LicenseCheckoutArgumentsarguments
 Arguments.
 

Constructor & Destructor Documentation

◆ FluentConsumptionBuilder()

template<typename Builder >
tenduke::se::licensing::FluentConsumptionBuilder< Builder >::FluentConsumptionBuilder ( std::string  licenseKey)
inlineexplicit

Constructs new instance.

Parameters
licenseKey-

Member Function Documentation

◆ count() [1/2]

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::count ( const std::string &  pProductName)
inline

Starts building a license consumption for one use count.

Parameters
pProductName-
Returns
this instance for fluent method chaining

◆ count() [2/2]

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::count ( const std::string &  pProductName,
std::int64_t  useCount 
)
inline

Start building a license consumption for use count.

Parameters
pProductName-
useCount-
Returns
this instance for fluent method chaining

◆ licenseId()

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::licenseId ( const std::string &  pLicenseId)
inline

Sets the license id to consume.

Setting the license id instructs the checkout to happen on this particular license. This is optional: If license id is not set, the backend will try to search available license by the product name.

Parameters
pLicenseId-
Returns
this instance for fluent method chaining

◆ seat()

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::seat ( const std::string &  pProductName)
inline

Start building a license-consumption for one seat.

Parameters
pProductName-
Returns
this instance for fluent method chaining

◆ seats()

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::seats ( const std::string &  pProductName,
std::int64_t  numSeats 
)
inline

Start building a license-consumption for seats.

Parameters
pProductName-
numSeats-
Returns
this instance for fluent method chaining

◆ startArgument()

template<typename Builder >
void tenduke::se::licensing::FluentConsumptionBuilder< Builder >::startArgument ( ::tenduke::se::licensing::License::QuantityDimension  pQtyDimension,
const std::string &  pProductName,
std::int64_t  pQty 
)
inlineprotected

Starts building new argument.

Parameters
pQtyDimension-
pProductName-
pQty-

◆ time()

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::time ( const std::string &  pProductName,
std::int64_t  useTime 
)
inline

Starts building a license consumption of use time.

Parameters
pProductName-
useTime-
Returns
this instance for fluent method chaining

◆ version()

template<typename Builder >
Builder & tenduke::se::licensing::FluentConsumptionBuilder< Builder >::version ( const std::string &  pClientVersion)
inline

Set the client version.

If set before any license item definition (building of which start with methods like FluentConsumptionBuilder::seat(), FluentConsumptionBuilder::seats() and so on), it sets default version. The default version is applied on every license to checkout unless overridden at license level by calling the method again.

Parameters
pClientVersion-
Returns
this instance for fluent method chaining

The documentation for this class was generated from the following file: