BLPAPI C++ 3.25.7
Loading...
Searching...
No Matches
blpapi_socks5config.h
Go to the documentation of this file.
1/* Copyright 2022. Bloomberg Finance L.P.
2 *
3 * Permission is hereby granted, free of charge, to any person obtaining a copy
4 * of this software and associated documentation files (the "Software"), to
5 * deal in the Software without restriction, including without limitation the
6 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7 * sell copies of the Software, and to permit persons to whom the Software is
8 * furnished to do so, subject to the following conditions: The above
9 * copyright notice and this permission notice shall be included in all copies
10 * or substantial portions of the Software.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
17 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
18 * IN THE SOFTWARE.
19 */
20
28#ifndef INCLUDED_BLPAPI_SOCKS5CONFIG
29#define INCLUDED_BLPAPI_SOCKS5CONFIG
30
60#include <blpapi_call.h>
61#include <blpapi_defs.h>
62#include <blpapi_exception.h>
63#include <blpapi_streamproxy.h>
64#include <blpapi_types.h>
65
66#ifdef __cplusplus
67
68extern "C" {
69#endif
72 const char *hostname, size_t hostname_size, unsigned short port);
73
76 blpapi_Socks5Config_t *srcSocks5Config);
77
80
83 blpapi_StreamWriter_t streamWriter,
84 void *userStream,
85 int indentLevel,
86 int spacesPerLevel);
87#ifdef __cplusplus
88}
89
90#include <algorithm>
91#include <string>
92
100namespace BloombergLP {
101namespace blpapi {
102
103class SessionOptions;
104
113
114 blpapi_Socks5Config_t *d_handle;
115 // Handle to the internal representation.
116
117 public:
118 Socks5Config();
121
122 Socks5Config(const std::string& hostName, unsigned short port);
134 std::ostream& print(
135 std::ostream& stream, int indentLevel, int spacesPerLevel) const;
136
138 blpapi_Socks5Config_t *impl() const;
143};
144
149 : d_handle(0)
150{
151}
152
153inline Socks5Config::Socks5Config(const Socks5Config& socks5Config)
154{
156 &d_handle, socks5Config.d_handle));
157}
158
160{
161 Socks5Config copy(socks5Config);
162 std::swap(d_handle, copy.d_handle);
163 return *this;
164}
165
166inline std::ostream& Socks5Config::print(std::ostream& stream,
167 int indentLevel = 0,
168 int spacesPerLevel = 4) const
169{
171 (d_handle,
173 &stream,
174 indentLevel,
175 spacesPerLevel);
176 return stream;
177}
178
179std::ostream& operator<<(
180 std::ostream& stream, const Socks5Config& socks5Config);
181
183 const std::string& hostname, unsigned short port)
184{
186 hostname.c_str(), hostname.size(), port);
187}
188
193
194inline blpapi_Socks5Config_t *Socks5Config::impl() const { return d_handle; }
195
196inline std::ostream& operator<<(
197 std::ostream& stream, const Socks5Config& socks5Config)
198{
199 socks5Config.print(stream, 0, -1);
200 return stream;
201}
202
203} // end namespace blpapi
204} // end namespace BloombergLP
205
206#endif // #ifdef __cplusplus
207#endif // #ifndef INCLUDED_BLPAPI_SOCKS5CONFIG
Provide functions for dispatchtbl.
#define BLPAPI_CALL_UNCHECKED(FUNCNAME)
Definition blpapi_call.h:354
#define BLPAPI_CALL(FUNCNAME)
Definition blpapi_call.h:353
Common definitions used by the library.
#define BLPAPI_EXPORT
Definition blpapi_defs.h:171
Defines Exceptions that can be thrown by the blpapi library.
BLPAPI_EXPORT blpapi_Socks5Config_t * blpapi_Socks5Config_create(const char *hostname, size_t hostname_size, unsigned short port)
BLPAPI_EXPORT int blpapi_Socks5Config_copy(blpapi_Socks5Config_t **socks5Config, blpapi_Socks5Config_t *srcSocks5Config)
BLPAPI_EXPORT void blpapi_Socks5Config_destroy(blpapi_Socks5Config_t *socks5Config)
BLPAPI_EXPORT int blpapi_Socks5Config_print(blpapi_Socks5Config_t *socks5Config, blpapi_StreamWriter_t streamWriter, void *userStream, int indentLevel, int spacesPerLevel)
A signature for callback on print and default C++ implementation.
int(* blpapi_StreamWriter_t)(const char *data, int length, void *stream)
Definition blpapi_streamproxy.h:53
Provide BLPAPI types.
static void throwOnError(int errorCode)
Definition blpapi_exception.h:526
Definition blpapi_socks5config.h:112
Socks5Config()
Definition blpapi_socks5config.h:148
std::ostream & print(std::ostream &stream, int indentLevel, int spacesPerLevel) const
Definition blpapi_socks5config.h:166
Socks5Config & operator=(const Socks5Config &)
Definition blpapi_socks5config.h:159
~Socks5Config()
Definition blpapi_socks5config.h:189
struct blpapi_Socks5Config blpapi_Socks5Config_t
Definition blpapi_types.h:175
std::ostream & operator<<(std::ostream &os, const CorrelationId &correlator)
Definition blpapi_correlationid.h:592
Definition blpapi_abstractsession.h:195
static int writeToStream(const char *data, int length, void *stream)
Definition blpapi_streamproxy.h:93