olp-cpp-sdk  1.22.0
AuthenticationSettings.h
1 /*
2  * Copyright (C) 2020-2021 HERE Europe B.V.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16  * SPDX-License-Identifier: Apache-2.0
17  * License-Filename: LICENSE
18  */
19 
20 #pragma once
21 
22 #include <memory>
23 #include <string>
24 
25 #include <olp/authentication/AuthenticationApi.h>
26 #include <olp/core/client/RetrySettings.h>
27 #include <olp/core/http/NetworkProxySettings.h>
28 #include <boost/optional.hpp>
29 
30 namespace olp {
31 namespace http {
32 class Network;
33 }
34 
35 namespace thread {
36 class TaskScheduler;
37 }
38 
39 namespace authentication {
41 static constexpr auto kHereAccountProductionUrl =
42  "https://account.api.here.com";
43 
49 struct AUTHENTICATION_API AuthenticationSettings {
55  boost::optional<http::NetworkProxySettings> network_proxy_settings{};
56 
61  std::shared_ptr<http::Network> network_request_handler{nullptr};
62 
69  std::shared_ptr<thread::TaskScheduler> task_scheduler{nullptr};
70 
74  std::string token_endpoint_url{kHereAccountProductionUrl};
75 
80  size_t token_cache_limit{100u};
81 
92  bool use_system_time{true};
93 
99 };
100 
101 } // namespace authentication
102 } // namespace olp
An HTTP client abstraction.
Definition: Network.h:38
Rules all the other namespaces.
Definition: AppleSignInProperties.h:24
Configures the TokenEndpoint instance.
Definition: AuthenticationSettings.h:49
client::RetrySettings retry_settings
A collection of settings that controls how failed requests should be treated.
Definition: AuthenticationSettings.h:98
A collection of settings that controls how failed requests should be treated by the Data SDK.
Definition: RetrySettings.h:47