Ice 3.8
C++ API Reference
Loading...
Searching...
No Matches
SSLInfo.h
1// Copyright (c) ZeroC, Inc.
2
3// slice2cpp version 3.8.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 / 100 != 308
17# error Ice version mismatch!
18# endif
19# if ICE_INT_VERSION % 100 >= 50
20# error Beta header file detected
21# endif
22# if ICE_INT_VERSION % 100 < 0
23# error Ice patch level mismatch!
24# endif
25#endif
26
27#ifndef GLACIER2_API
28# if defined(GLACIER2_API_EXPORTS)
29# define GLACIER2_API ICE_DECLSPEC_EXPORT
30# else
31# define GLACIER2_API ICE_DECLSPEC_IMPORT
32# endif
33#endif
34
35// NOLINTBEGIN(modernize-concat-nested-namespaces)
36
37namespace Glacier2
38{
40
41 struct SSLInfo;
42}
43
44namespace Glacier2
45{
46 /// Represents information gathered from an incoming SSL connection and used for authentication and authorization.
47 /// @remarks The Slice compiler generated this struct from Slice struct `::Glacier2::SSLInfo`.
48 /// @see SSLPermissionsVerifierPrx
49 /// @headerfile Glacier2/Glacier2.h
50 struct SSLInfo
51 {
52 /// The remote host.
53 std::string remoteHost;
54
55 /// The remote port.
56 std::int32_t remotePort;
57
58 /// The router's host.
59 std::string localHost;
60
61 /// The router's port.
62 std::int32_t localPort;
63
64 /// The negotiated cipher suite.
65 std::string cipher;
66
67 /// The certificate chain.
69
70 /// Creates a tuple with all the fields of this struct.
71 /// @return A tuple with all the fields of this struct.
72 [[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
73 {
75 }
76
77 /// Outputs the name and value of each field of this instance to the stream.
78 /// @param os The output stream.
79 GLACIER2_API void ice_printFields(std::ostream& os) const;
80 };
81
82 /// Outputs the description of a SSLInfo to a stream, including all its fields.
83 /// @param os The output stream.
84 /// @param value The instance to output.
85 /// @return The output stream.
86 GLACIER2_API std::ostream& operator<<(std::ostream& os, const SSLInfo& value);
87
88 /// @cond INTERNAL
89 using Ice::Tuple::operator<;
90 using Ice::Tuple::operator<=;
91 using Ice::Tuple::operator>;
92 using Ice::Tuple::operator>=;
93 using Ice::Tuple::operator==;
94 using Ice::Tuple::operator!=;
95 /// @endcond
96}
97
98namespace Ice
99{
100 /// @cond INTERNAL
101 template<>
102 struct StreamableTraits<::Glacier2::SSLInfo>
103 {
105 static constexpr int minWireSize = 12;
106 static constexpr bool fixedLength = false;
107 };
108
109 template<>
110 struct StreamReader<::Glacier2::SSLInfo>
111 {
112 /// Unmarshals a ::Glacier2::SSLInfo from the input stream.
113 static void read(InputStream* istr, ::Glacier2::SSLInfo& v)
114 {
115 istr->readAll(v.remoteHost, v.remotePort, v.localHost, v.localPort, v.cipher, v.certs);
116 }
117 };
118 /// @endcond
119}
120
121// NOLINTEND(modernize-concat-nested-namespaces)
122
124#endif
Represents an object that checks user permissions.
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:66
::Ice::StringSeq certs
The certificate chain.
Definition SSLInfo.h:68
std::string remoteHost
The remote host.
Definition SSLInfo.h:53
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:72
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:65
std::int32_t remotePort
The remote port.
Definition SSLInfo.h:56
std::int32_t localPort
The router's port.
Definition SSLInfo.h:62
std::string localHost
The router's host.
Definition SSLInfo.h:59
Represents information gathered from an incoming SSL connection and used for authentication and autho...
Definition SSLInfo.h:51
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.