10Duke Scale C++ Client
Loading...
Searching...
No Matches
TendukeServices.h
1#ifndef TENDUKE_TENDUKESERVICES_H
2#define TENDUKE_TENDUKESERVICES_H
3
4#include "crypto/KeyFactory.h"
5#include "http/HTTPClient.h"
6#include "json/JSONParser.h"
7#include "jwk/JWKSParser.h"
8#include "net/URLParser.h"
9#include "oidc/autodiscovery/AutoDiscovery.h"
10#include "oidc/OIDCClientFactory.h"
11#include "time/Clock.h"
12#include "utl/Base64Decoder.h"
13#include "jwt/DefaultJWTParserFactory.h"
14
15namespace tenduke {
16
27public:
42 const std::shared_ptr<const tenduke::utl::Base64Decoder> &base64Decoder,
43 const std::shared_ptr<tenduke::time::Clock> &clock,
44 const std::shared_ptr<const tenduke::http::HTTPClient> &httpClient,
45 const std::shared_ptr<const tenduke::json::JSONParser> &jsonParser,
46 const std::shared_ptr<const tenduke::jwk::JWKSParser> &jwksParser,
47 const std::shared_ptr<const tenduke::jwt::JWTParserFactory> &jwtParser,
48 const std::shared_ptr<const tenduke::oidc::AutoDiscovery> &oidcBackendConfiguration,
49 const std::shared_ptr<const tenduke::net::URLParser> &urlParser,
50 const std::shared_ptr<const tenduke::oidc::OIDCClientFactory> &oidcClientFactory,
51 const std::shared_ptr<const tenduke::crypto::KeyFactory>& keyFactory
53 , clock(clock)
62 {}
63
64public:
66 const std::shared_ptr<const tenduke::utl::Base64Decoder> base64Decoder;
68 const std::shared_ptr<tenduke::time::Clock> clock;
70 const std::shared_ptr<const tenduke::http::HTTPClient> httpClient;
72 const std::shared_ptr<const tenduke::json::JSONParser> jsonParser;
74 const std::shared_ptr<const tenduke::jwt::JWTParserFactory> jwtParser;
76 const std::shared_ptr<const tenduke::jwk::JWKSParser> jwksParser;
78 const std::shared_ptr<const tenduke::oidc::AutoDiscovery> oidcBackendConfiguration;
80 const std::shared_ptr<const tenduke::net::URLParser> urlParser;
82 const std::shared_ptr<const tenduke::oidc::OIDCClientFactory> oidcClientFactory;
84 const std::shared_ptr<const tenduke::crypto::KeyFactory> keyFactory;
85};
86
87}
88
89
90#endif //TENDUKE_TENDUKESERVICES_H
A "service locator" for core services used by Tenduke client.
Definition TendukeServices.h:26
const std::shared_ptr< const tenduke::jwk::JWKSParser > jwksParser
JWKS-parser.
Definition TendukeServices.h:76
const std::shared_ptr< const tenduke::json::JSONParser > jsonParser
JSON-parser.
Definition TendukeServices.h:72
const std::shared_ptr< const tenduke::jwt::JWTParserFactory > jwtParser
JWT-parser factory.
Definition TendukeServices.h:74
const std::shared_ptr< tenduke::time::Clock > clock
Clock.
Definition TendukeServices.h:68
TendukeServices(const std::shared_ptr< const tenduke::utl::Base64Decoder > &base64Decoder, const std::shared_ptr< tenduke::time::Clock > &clock, const std::shared_ptr< const tenduke::http::HTTPClient > &httpClient, const std::shared_ptr< const tenduke::json::JSONParser > &jsonParser, const std::shared_ptr< const tenduke::jwk::JWKSParser > &jwksParser, const std::shared_ptr< const tenduke::jwt::JWTParserFactory > &jwtParser, const std::shared_ptr< const tenduke::oidc::AutoDiscovery > &oidcBackendConfiguration, const std::shared_ptr< const tenduke::net::URLParser > &urlParser, const std::shared_ptr< const tenduke::oidc::OIDCClientFactory > &oidcClientFactory, const std::shared_ptr< const tenduke::crypto::KeyFactory > &keyFactory)
Constructs new instance.
Definition TendukeServices.h:41
const std::shared_ptr< const tenduke::oidc::OIDCClientFactory > oidcClientFactory
OIDC-client factory.
Definition TendukeServices.h:82
const std::shared_ptr< const tenduke::net::URLParser > urlParser
URL-parser.
Definition TendukeServices.h:80
const std::shared_ptr< const tenduke::crypto::KeyFactory > keyFactory
Cryptographic key factory.
Definition TendukeServices.h:84
const std::shared_ptr< const tenduke::oidc::AutoDiscovery > oidcBackendConfiguration
OIDC configuration auto discovery service.
Definition TendukeServices.h:78
const std::shared_ptr< const tenduke::http::HTTPClient > httpClient
HTTP-client.
Definition TendukeServices.h:70
const std::shared_ptr< const tenduke::utl::Base64Decoder > base64Decoder
Base64 decoder.
Definition TendukeServices.h:66
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7