Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
SSLInfo.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.0-alpha.0
4// <auto-generated>Generated from Slice file 'SSLInfo.ice'.</auto-generated>
5// clang-format off
6
7#ifndef Glacier2_SSLInfo_h_
8#define Glacier2_SSLInfo_h_
9
11#include <Ice/Ice.h>
12#include <Ice/BuiltinSequences.h>
13#include <Glacier2/Config.h>
14
15#ifndef ICE_DISABLE_VERSION
16# if ICE_INT_VERSION != 30850
17# error Ice version mismatch: an exact match is required for beta generated code
18# endif
19#endif
20
21#ifndef GLACIER2_API
22# if defined(GLACIER2_API_EXPORTS)
23# define GLACIER2_API ICE_DECLSPEC_EXPORT
24# else
25# define GLACIER2_API ICE_DECLSPEC_IMPORT
26# endif
27#endif
28
29// NOLINTBEGIN(modernize-concat-nested-namespaces)
30
31namespace Glacier2
32{
33 struct SSLInfo;
34}
35
36namespace Glacier2
37{
38 /// Represents information gathered from an incoming SSL connection and used for authentication and authorization.
39 /// @see SSLPermissionsVerifier
40 /// @headerfile Glacier2/Glacier2.h
41 struct SSLInfo
42 {
43 /// The remote host.
44 std::string remoteHost;
45
46 /// The remote port.
47 std::int32_t remotePort;
48
49 /// The router's host.
50 std::string localHost;
51
52 /// The router's port.
53 std::int32_t localPort;
54
55 /// The negotiated cipher suite.
56 std::string cipher;
57
58 /// The certificate chain.
60
61 /// Creates a tuple with all the fields of this struct.
62 /// @return A tuple with all the fields of this struct.
63 [[nodiscard]] std::tuple<const std::string&, const std::int32_t&, const std::string&, const std::int32_t&, const std::string&, const ::Ice::StringSeq&> ice_tuple() const
64 {
66 }
67
68 /// Outputs the name and value of each field of this instance to the stream.
69 /// @param os The output stream.
70 GLACIER2_API void ice_printFields(std::ostream& os) const;
71 };
72
73 /// Outputs the description of a SSLInfo to a stream, including all its fields.
74 /// @param os The output stream.
75 /// @param value The instance to output.
76 /// @return The output stream.
77 GLACIER2_API std::ostream& operator<<(std::ostream& os, const SSLInfo& value);
78
79 /// @cond INTERNAL
80 using Ice::Tuple::operator<;
81 using Ice::Tuple::operator<=;
82 using Ice::Tuple::operator>;
83 using Ice::Tuple::operator>=;
84 using Ice::Tuple::operator==;
85 using Ice::Tuple::operator!=;
86 /// @endcond
87}
88
89namespace Ice
90{
91 /// @cond INTERNAL
92 template<>
93 struct StreamableTraits<::Glacier2::SSLInfo>
94 {
96 static constexpr int minWireSize = 12;
97 static constexpr bool fixedLength = false;
98 };
99
100 template<>
101 struct StreamReader<::Glacier2::SSLInfo>
102 {
103 /// Unmarshals a ::Glacier2::SSLInfo from the input stream.
104 static void read(InputStream* istr, ::Glacier2::SSLInfo& v)
105 {
106 istr->readAll(v.remoteHost, v.remotePort, v.localHost, v.localPort, v.cipher, v.certs);
107 }
108 };
109 /// @endcond
110}
111
112// NOLINTEND(modernize-concat-nested-namespaces)
113
115#endif
std::ostream & operator<<(std::ostream &os, const SSLInfo &value)
Outputs the description of a SSLInfo to a stream, including all its fields.
Communicate through firewalls and across NATs.
int StreamHelperCategory
The stream helper category allows to select a StreamHelper specialization for a specific category of ...
std::vector< std::string > StringSeq
A sequence of strings.
constexpr StreamHelperCategory StreamHelperCategoryStruct
Generated struct types.
The Ice RPC framework.
Definition SampleEvent.h:59
::Ice::StringSeq certs
The certificate chain.
Definition SSLInfo.h:59
std::string remoteHost
The remote host.
Definition SSLInfo.h:44
std::tuple< const std::string &, const std::int32_t &, const std::string &, const std::int32_t &, const std::string &, const ::Ice::StringSeq & > ice_tuple() const
Creates a tuple with all the fields of this struct.
Definition SSLInfo.h:63
void ice_printFields(std::ostream &os) const
Outputs the name and value of each field of this instance to the stream.
std::string cipher
The negotiated cipher suite.
Definition SSLInfo.h:56
std::int32_t remotePort
The remote port.
Definition SSLInfo.h:47
std::int32_t localPort
The router's port.
Definition SSLInfo.h:53
std::string localHost
The router's host.
Definition SSLInfo.h:50
Represents information gathered from an incoming SSL connection and used for authentication and autho...
Definition SSLInfo.h:42
static constexpr bool fixedLength
Indicates if the type is always encoded on a fixed number of bytes.
static constexpr int minWireSize
The minimum number of bytes needed to marshal this type.
static constexpr StreamHelperCategory helper
The category trait, used for selecting the appropriate StreamHelper.