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{
34
35 struct SSLInfo;
36}
37
38namespace Glacier2
39{
40 /// Represents information gathered from an incoming SSL connection and used for authentication and authorization.
41 /// @see SSLPermissionsVerifierPrx
42 /// @headerfile Glacier2/Glacier2.h
43 struct SSLInfo
44 {
45 /// The remote host.
46 std::string remoteHost;
47
48 /// The remote port.
49 std::int32_t remotePort;
50
51 /// The router's host.
52 std::string localHost;
53
54 /// The router's port.
55 std::int32_t localPort;
56
57 /// The negotiated cipher suite.
58 std::string cipher;
59
60 /// The certificate chain.
62
63 /// Creates a tuple with all the fields of this struct.
64 /// @return A tuple with all the fields of this struct.
65 [[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
66 {
68 }
69
70 /// Outputs the name and value of each field of this instance to the stream.
71 /// @param os The output stream.
72 GLACIER2_API void ice_printFields(std::ostream& os) const;
73 };
74
75 /// Outputs the description of a SSLInfo to a stream, including all its fields.
76 /// @param os The output stream.
77 /// @param value The instance to output.
78 /// @return The output stream.
79 GLACIER2_API std::ostream& operator<<(std::ostream& os, const SSLInfo& value);
80
81 /// @cond INTERNAL
82 using Ice::Tuple::operator<;
83 using Ice::Tuple::operator<=;
84 using Ice::Tuple::operator>;
85 using Ice::Tuple::operator>=;
86 using Ice::Tuple::operator==;
87 using Ice::Tuple::operator!=;
88 /// @endcond
89}
90
91namespace Ice
92{
93 /// @cond INTERNAL
94 template<>
95 struct StreamableTraits<::Glacier2::SSLInfo>
96 {
98 static constexpr int minWireSize = 12;
99 static constexpr bool fixedLength = false;
100 };
101
102 template<>
103 struct StreamReader<::Glacier2::SSLInfo>
104 {
105 /// Unmarshals a ::Glacier2::SSLInfo from the input stream.
106 static void read(InputStream* istr, ::Glacier2::SSLInfo& v)
107 {
108 istr->readAll(v.remoteHost, v.remotePort, v.localHost, v.localPort, v.cipher, v.certs);
109 }
110 };
111 /// @endcond
112}
113
114// NOLINTEND(modernize-concat-nested-namespaces)
115
117#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:59
::Ice::StringSeq certs
The certificate chain.
Definition SSLInfo.h:61
std::string remoteHost
The remote host.
Definition SSLInfo.h:46
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:65
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:58
std::int32_t remotePort
The remote port.
Definition SSLInfo.h:49
std::int32_t localPort
The router's port.
Definition SSLInfo.h:55
std::string localHost
The router's host.
Definition SSLInfo.h:52
Represents information gathered from an incoming SSL connection and used for authentication and autho...
Definition SSLInfo.h:44
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.