10Duke Scale C++ Client
Loading...
Searching...
No Matches
ScaleConsumersApiImpl.h
1#ifndef TENDUKE_SE_LICENSING_REST_SCALECONSUMERSAPIIMPL_H
2#define TENDUKE_SE_LICENSING_REST_SCALECONSUMERSAPIIMPL_H
3
4#include "./DescribeLicenseConsumerLicenseesRequest.h"
5#include "./ScaleConsumersApi.h"
6#include "../../../config/BackendConfiguration.h"
7#include "http/HTTPClient.h"
8#include "http/HTTPRequestAuthenticator.h"
9#include "http/HTTPResponseToException.h"
10#include "json/JSONParser.h"
11
12
13#include <cstdint>
14#include <memory>
15#include <string>
16
17
18namespace tenduke { namespace se { namespace licensing { namespace rest {
19
24{
25public:
35 const std::shared_ptr<::tenduke::se::BackendConfiguration> &backendConfiguration
36 , const std::shared_ptr<const ::tenduke::http::HTTPClient> &httpClient
37 , const std::shared_ptr<const ::tenduke::http::HTTPRequestAuthenticator> &httpRequestAuthenticator
38 , const std::shared_ptr<const ::tenduke::http::HTTPResponseToException> &throwException
39 , const std::shared_ptr<const ::tenduke::json::JSONParser> &jsonParser
40 );
41
42public:
43 std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerClientBindingsRequest> describeLicenseConsumerClientBindings(
44 const std::string &licenseeId,
45 const std::string &licenseConsumerId,
46 const ::tenduke::se::Paging &paging,
47 const ::tenduke::se::Filter &filter
48 ) const override;
49
50 std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerLicenseesRequest> describeLicenseConsumerLicensees(
51 const std::string &licenseConsumerId,
52 const ::tenduke::se::Paging &paging
53 ) const override;
54
55 std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerLicensesRequest> describeLicenseConsumerLicenses(
56 const std::string &licenseeId,
57 const std::string &licenseConsumerId,
58 const ::tenduke::se::Paging &paging
59 ) const override;
60
61private:
62 const std::shared_ptr<::tenduke::se::BackendConfiguration> backendConfiguration;
63
64 // services required
65 const std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient;
66 const std::shared_ptr<const ::tenduke::http::HTTPRequestAuthenticator> httpRequestAuthenticator;
67 const std::shared_ptr<const ::tenduke::http::HTTPResponseToException> throwException;
68 const std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser;
69};
70
71}}}}
72
73#endif //TENDUKE_SE_LICENSING_REST_SCALECONSUMERSAPIIMPL_H
Default implementation of tenduke::se::licensing::rest::ScaleConsumersApi.
Definition ScaleConsumersApiImpl.h:24
std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerLicenseesRequest > describeLicenseConsumerLicensees(const std::string &licenseConsumerId, const ::tenduke::se::Paging &paging) const override
Analyzes what licensees a license consumer is associated to.
Definition ScaleConsumersApiImpl.cpp:39
std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerLicensesRequest > describeLicenseConsumerLicenses(const std::string &licenseeId, const std::string &licenseConsumerId, const ::tenduke::se::Paging &paging) const override
Analyzes licenses that a license consumer has access to and describes the license status to determine...
Definition ScaleConsumersApiImpl.cpp:56
std::unique_ptr<::tenduke::se::licensing::rest::DescribeLicenseConsumerClientBindingsRequest > describeLicenseConsumerClientBindings(const std::string &licenseeId, const std::string &licenseConsumerId, const ::tenduke::se::Paging &paging, const ::tenduke::se::Filter &filter) const override
Analyzes licenses that a license consumer is known to have a checkout for currently.
Definition ScaleConsumersApiImpl.cpp:19
Low-level license-consumers interface.
Definition ScaleConsumersApi.h:24
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7