OnixS C++ ICE Binary Order Entry Handler 1.1.1
API Documentation
Loading...
Searching...
No Matches
SessionConnectionSettings.h
Go to the documentation of this file.
1/*
2* Copyright Onix Solutions Limited [OnixS]. All rights reserved.
3*
4* This software owned by Onix Solutions Limited [OnixS] and is protected by copyright law
5* and international copyright treaties.
6*
7* Access to and use of the software is governed by the terms of the applicable OnixS Software
8* Services Agreement (the Agreement) and Customer end user license agreements granting
9* a non-assignable, non-transferable and non-exclusive license to use the software
10* for it's own data processing purposes under the terms defined in the Agreement.
11*
12* Except as otherwise granted within the terms of the Agreement, copying or reproduction of any part
13* of this source code or associated reference material to any other location for further reproduction
14* or redistribution, and any amendments to this copyright notice, are expressly prohibited.
15*
16* Any reproduction or redistribution for sale or hiring of the Software not in accordance with
17* the terms of the Agreement is a violation of copyright law.
18*/
19
20#pragma once
21
22#include <OnixS/ICE/BOE/ABI.h>
23
24#include <string>
25#include <vector>
26
28namespace Scheduling {
29
33{
34public:
36 Counterparty() = default;
37
39 Counterparty(std::string host, unsigned short port, std::string ipSessionToken = {})
40 : host_(std::move(host))
41 , port_(port)
42 , ipSessionToken_(std::move(ipSessionToken))
43 {
44 }
45
47 const std::string& host() const noexcept { return host_; }
48
50 unsigned short port() const noexcept { return port_; }
51
53 const std::string& ipSessionToken() const noexcept { return ipSessionToken_; }
54
55private:
56 std::string host_;
57 unsigned short port_{};
58 std::string ipSessionToken_;
59};
60
62typedef std::vector<Counterparty> Counterparties;
63
66{
67public:
73 SessionConnectionSettings(std::string host, unsigned short port, std::string ipSessionToken = {})
74 {
75 addCounterparty(std::move(host), port, std::move(ipSessionToken));
76 }
77
83 SessionConnectionSettings& addCounterparty(std::string host, unsigned short port, std::string ipSessionToken = {})
84 {
85 counterparties_.emplace_back(std::move(host), port, std::move(ipSessionToken));
86 return *this;
87 }
88
90 const Counterparties& counterparties() const noexcept { return counterparties_; }
91
92private:
93 Counterparties counterparties_;
94};
95
96}
#define ONIXS_ICEBOE_NAMESPACE_BEGIN
Definition ABI.h:94
#define ONIXS_ICEBOE_NAMESPACE_END
Definition ABI.h:98
#define ONIXS_ICEBOE_EXPORTED
Definition Compiler.h:155
Counterparty(std::string host, unsigned short port, std::string ipSessionToken={})
Fully identified counterparty.
const std::string & ipSessionToken() const noexcept
Counterparty()=default
Initializes a blank instance.
const std::string & host() const noexcept
SessionConnectionSettings(std::string host, unsigned short port, std::string ipSessionToken={})
Constructor.
SessionConnectionSettings & addCounterparty(std::string host, unsigned short port, std::string ipSessionToken={})
Adds the counterparty.
std::vector< Counterparty > Counterparties
Ordered series of counterparties.