1#ifndef TENDUKE_SE_LICENSING_REST_SCALELICENSINGAPIIMPL_H
2#define TENDUKE_SE_LICENSING_REST_SCALELICENSINGAPIIMPL_H
4#include "./ScaleLicensingApi.h"
5#include "../../api/licenses/JWTToLease.h"
6#include "../../../config/ClientProperties.h"
7#include "../../../rest/RESTConfiguration.h"
8#include "http/HTTPClient.h"
9#include "http/HTTPRequestAuthenticator.h"
10#include "http/HTTPResponseToException.h"
11#include "json/JSONParser.h"
12#include "jwt/JWTParser.h"
34 const std::shared_ptr<::tenduke::se::rest::RESTConfiguration> &configuration,
35 const std::shared_ptr<const ::tenduke::http::HTTPClient> &httpClient,
36 const std::shared_ptr<const ::tenduke::http::HTTPRequestAuthenticator> &httpRequestAuthenticator,
37 const std::shared_ptr<const ::tenduke::http::HTTPResponseToException> &throwException,
38 const std::shared_ptr<const ::tenduke::json::JSONParser> &jsonParser,
39 const std::shared_ptr<const ::tenduke::jwt::JWTParser> &jwtParser,
40 const std::shared_ptr<const ::tenduke::se::licensing::JWTToLease> &jwtToLease
44 std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest>
checkoutLicenses(const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters)
const override;
45 std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest>
checkoutLicensesWithKey(
const std::string &licenseKey, const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters)
const override;
47 std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseKeyRequest>
describeLicenseKey(
const std::string &licenseKey, const ::tenduke::se::Paging &paging,
bool withMetadata)
const override;
49 std::unique_ptr<::tenduke::se::licensing::rest::EndMeteredUseRequest>
endMeteredLicenseUse(const ::tenduke::se::licensing::EndMeteredUseParameters ¶meters)
const override;
50 std::unique_ptr<::tenduke::se::licensing::rest::EndMeteredUseRequest>
endMeteredLicenseUseByKey(
const std::string &licenseKey, const ::tenduke::se::licensing::EndMeteredUseParameters ¶meters)
const override;
52 std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest>
heartbeatLicenses(const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters)
const override;
53 std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest>
heartbeatLicensesWithKey(
const std::string &licenseKey, const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters)
const override;
54 std::unique_ptr<::tenduke::se::licensing::rest::HeartbeatMeteredUseRequest>
heartbeatMeteredLicenseUse(const ::tenduke::se::licensing::HeartbeatMeteredUseParameters ¶meters)
const override;
55 std::unique_ptr<::tenduke::se::licensing::rest::HeartbeatMeteredUseRequest>
heartbeatMeteredLicenseUseByKey(
const std::string &licenseKey, const ::tenduke::se::licensing::HeartbeatMeteredUseParameters ¶meters)
const override;
57 std::unique_ptr<::tenduke::se::licensing::rest::LicenseReleaseRequest>
releaseLicenses(const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters)
const override;
58 std::unique_ptr<::tenduke::se::licensing::rest::LicenseReleaseRequest>
releaseLicensesWithKey(
const std::string &licenseKey, const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters)
const override;
60 std::unique_ptr<::tenduke::se::licensing::rest::StartMeteredUseRequest>
startMeteredLicenseUse(const ::tenduke::se::licensing::StartMeteredUseParameters ¶meters)
const override;
61 std::unique_ptr<::tenduke::se::licensing::rest::StartMeteredUseRequest>
startMeteredLicenseUseWithKey(
const std::string &licenseKey, const ::tenduke::se::licensing::StartMeteredUseParameters ¶meters)
const override;
71 virtual std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest>
checkout(
72 const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters,
73 const std::string &licenseKey,
84 virtual std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest>
heartbeat(
85 const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters,
86 const std::string &licenseKey,
97 virtual std::unique_ptr<tenduke::se::licensing::rest::LicenseReleaseRequest>
release(
98 const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters,
99 const std::string &licenseKey,
104 const std::shared_ptr<::tenduke::se::ClientProperties> clientProperties;
105 const std::shared_ptr<::tenduke::se::rest::RESTConfiguration> configuration;
108 const std::shared_ptr<const ::tenduke::se::licensing::JWTToLease> jwtToLease;
109 const std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient;
110 const std::shared_ptr<const ::tenduke::http::HTTPRequestAuthenticator> httpRequestAuthenticator;
111 const std::shared_ptr<const ::tenduke::http::HTTPResponseToException> throwException;
112 const std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser;
113 const std::shared_ptr<const ::tenduke::jwt::JWTParser> jwtParser;
ScaleLicensingApiImpl(const std::shared_ptr<::tenduke::se::ClientProperties > &clientProperties, const std::shared_ptr<::tenduke::se::rest::RESTConfiguration > &configuration, const std::shared_ptr< const ::tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const ::tenduke::http::HTTPRequestAuthenticator > &httpRequestAuthenticator, const std::shared_ptr< const ::tenduke::http::HTTPResponseToException > &throwException, const std::shared_ptr< const ::tenduke::json::JSONParser > &jsonParser, const std::shared_ptr< const ::tenduke::jwt::JWTParser > &jwtParser, const std::shared_ptr< const ::tenduke::se::licensing::JWTToLease > &jwtToLease)
Constructs new instance.
Definition ScaleLicensingApiImpl.cpp:254
std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest > heartbeatLicenses(const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters) const override
Does license heartbeat.
Definition ScaleLicensingApiImpl.cpp:162
std::unique_ptr<::tenduke::se::licensing::rest::HeartbeatMeteredUseRequest > heartbeatMeteredLicenseUse(const ::tenduke::se::licensing::HeartbeatMeteredUseParameters ¶meters) const override
Does license heartbeat for metered license use.
Definition ScaleLicensingApiImpl.cpp:185
std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest > checkoutLicenses(const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters) const override
Checkout license(s).
Definition ScaleLicensingApiImpl.cpp:90
std::unique_ptr<::tenduke::se::licensing::rest::EndMeteredUseRequest > endMeteredLicenseUseByKey(const std::string &licenseKey, const ::tenduke::se::licensing::EndMeteredUseParameters ¶meters) const override
Ends metered license use with license key.
Definition ScaleLicensingApiImpl.cpp:148
virtual std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest > heartbeat(const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters, const std::string &licenseKey, bool metered) const
Helper to create heartbeat request.
Definition ScaleLicensingApiImpl.cpp:50
std::unique_ptr<::tenduke::se::licensing::rest::LicenseHeartbeatRequest > heartbeatLicensesWithKey(const std::string &licenseKey, const ::tenduke::se::licensing::LicenseHeartbeatParameters ¶meters) const override
Does license heartbeat with license key.
Definition ScaleLicensingApiImpl.cpp:173
std::unique_ptr<::tenduke::se::licensing::rest::LicenseReleaseRequest > releaseLicenses(const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters) const override
Releases licenses.
Definition ScaleLicensingApiImpl.cpp:208
std::unique_ptr<::tenduke::se::licensing::rest::HeartbeatMeteredUseRequest > heartbeatMeteredLicenseUseByKey(const std::string &licenseKey, const ::tenduke::se::licensing::HeartbeatMeteredUseParameters ¶meters) const override
Does license heartbeat with license key for metered license use.
Definition ScaleLicensingApiImpl.cpp:196
std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest > checkoutLicensesWithKey(const std::string &licenseKey, const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters) const override
Checkout license(s) with license key.
Definition ScaleLicensingApiImpl.cpp:101
std::unique_ptr<::tenduke::se::licensing::rest::EndMeteredUseRequest > endMeteredLicenseUse(const ::tenduke::se::licensing::EndMeteredUseParameters ¶meters) const override
Ends metered license use.
Definition ScaleLicensingApiImpl.cpp:136
std::unique_ptr<::tenduke::se::licensing::rest::StartMeteredUseRequest > startMeteredLicenseUseWithKey(const std::string &licenseKey, const ::tenduke::se::licensing::StartMeteredUseParameters ¶meters) const override
Starts metered license use with license key.
Definition ScaleLicensingApiImpl.cpp:242
std::unique_ptr<::tenduke::se::licensing::rest::LicenseReleaseRequest > releaseLicensesWithKey(const std::string &licenseKey, const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters) const override
Releases licenses with license key.
Definition ScaleLicensingApiImpl.cpp:219
ScaleLicensingApiImpl(const std::shared_ptr<::tenduke::se::ClientProperties > &clientProperties, const std::shared_ptr<::tenduke::se::rest::RESTConfiguration > &configuration, const std::shared_ptr< const ::tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const ::tenduke::http::HTTPRequestAuthenticator > &httpRequestAuthenticator, const std::shared_ptr< const ::tenduke::http::HTTPResponseToException > &throwException, const std::shared_ptr< const ::tenduke::json::JSONParser > &jsonParser, const std::shared_ptr< const ::tenduke::jwt::JWTParser > &jwtParser, const std::shared_ptr< const ::tenduke::se::licensing::JWTToLease > &jwtToLease)
Constructs new instance.
Definition ScaleLicensingApiImpl.cpp:254
std::unique_ptr<::tenduke::se::licensing::rest::StartMeteredUseRequest > startMeteredLicenseUse(const ::tenduke::se::licensing::StartMeteredUseParameters ¶meters) const override
Starts metere license use.
Definition ScaleLicensingApiImpl.cpp:231
virtual std::unique_ptr<::tenduke::se::licensing::rest::LicenseCheckoutRequest > checkout(const ::tenduke::se::licensing::LicenseCheckoutParameters ¶meters, const std::string &licenseKey, bool metered) const
Helper to create checkout request.
Definition ScaleLicensingApiImpl.cpp:29
std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseKeyRequest > describeLicenseKey(const std::string &licenseKey, const ::tenduke::se::Paging &paging, bool withMetadata) const override
Describe license key.
Definition ScaleLicensingApiImpl.cpp:115
virtual std::unique_ptr< tenduke::se::licensing::rest::LicenseReleaseRequest > release(const ::tenduke::se::licensing::LicenseReleaseParameters ¶meters, const std::string &licenseKey, bool metered) const
Helper to create release request.
Definition ScaleLicensingApiImpl.cpp:71
Low-level licensing client interface.
Definition ScaleLicensingApi.h:48
Low-level services for performing licensing REST-requests.
Definition DefaultDescribeLicenseConsumerClientBindingsRequest.h:9
Licensing operations for 10Duke Scale.
Definition LicenseConsumerClientBindingStatus.h:8
Classes, functions and globals of 10Duke Scale C++ Client.
Definition AbstractClientFactory.h:16
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16