10Duke Scale C++ Client
Loading...
Searching...
No Matches
CheckoutRequest.h
1#ifndef TENDUKE_SE_LICENSING_CHECKOUTREQUEST_H
2#define TENDUKE_SE_LICENSING_CHECKOUTREQUEST_H
3
4#include "./BaseRequest.h"
5
6namespace tenduke { namespace se { namespace licensing {
7
13template<class R>
15{
16
17public:
25 const std::shared_ptr<::tenduke::se::APIRequest<R>> &request,
26 const std::shared_ptr<::tenduke::se::licensing::MutableLeases> &leases,
27 const std::shared_ptr<::tenduke::oidc::OIDCSession> &oidc = nullptr
28 ) : BaseRequest<R>(request, leases, oidc)
29 {}
30
31protected:
32 void maintainLeases(const R &response) override
33 {
35
36 // TODO: How to handle failed items? They probably should just be ignored?
37 BaseRequest<R>::leases->mergeLeases(response.leases);
38 }
39};
40
41}}}
42
43#endif //TENDUKE_SE_LICENSING_CHECKOUTREQUEST_H
A tenduke::se::APIRequest, which uses tenduke::oidc::OIDCSession to maintain request authorization.
Definition StatefulAPIRequest.h:27
High-level licensing client request.
Definition BaseRequest.h:24
const std::shared_ptr<::tenduke::se::licensing::MutableLeases > leases
The lease cache.
Definition BaseRequest.h:76
virtual void maintainLeases(const R &response)
Performs lease-cache maintenance.
Definition BaseRequest.h:70
High level checkout-request.
Definition CheckoutRequest.h:15
CheckoutRequest(const std::shared_ptr<::tenduke::se::APIRequest< R > > &request, const std::shared_ptr<::tenduke::se::licensing::MutableLeases > &leases, const std::shared_ptr<::tenduke::oidc::OIDCSession > &oidc=nullptr)
Constructs new instance.
Definition CheckoutRequest.h:24
void maintainLeases(const R &response) override
Performs lease-cache maintenance.
Definition CheckoutRequest.h:32
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7