ImagingTools Core SDK
CServerConnectionInterfaceParam.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ImtCore includes
6#include <imtcom/IServerConnectionInterface.h>
7
8#undef SetPort
9
10#ifdef Q_OS_WIN
11#undef SetPort
12#endif
13
14
15namespace imtcom
16{
17
18
102{
103public:
113
141
142 // reimplemented (imtcom::IServerConnectionInterface)
143 virtual int GetConnectionFlags() const override;
144 virtual void SetConnectionFlags(int connectionFlags) override;
145 virtual QString GetHost() const override;
146 virtual void SetHost(const QString& host) override;
147 virtual int GetPort(ProtocolType protocol) const override;
148 virtual void SetPort(ProtocolType protocol, int port) override;
149 virtual ProtocolTypes GetSupportedProtocols() const override;
150 virtual bool GetUrl(ProtocolType protocol, QUrl& url) const override;
151
152 // reimplemented (iser::ISerializable)
153 virtual bool Serialize(iser::IArchive& archive) override;
154
155 // reimplemented (istd::IChangeable)
156 virtual int GetSupportedOperations() const override;
157 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
158 virtual bool IsEqual(const IChangeable& object) const override;
159 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode) const override;
160 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
161
162protected:
163 typedef QMap<ProtocolType, int> InterfaceMap;
164 InterfaceMap m_interfaceMap;
165
166 int m_connectionFlags = CF_DEFAULT;
167 QString m_host;
168};
169
170
171} // namespace imtcom
172
173
Basic implementation of IServerConnectionInterface with protocol-port mapping.
void RegisterProtocol(ProtocolType protocol)
Register a protocol as supported.
CServerConnectionInterfaceParam()
Default constructor.
Interface for describing server connection configuration with multi-protocol support.
ProtocolType
Communication protocols supported by server connections.
@ CF_DEFAULT
Default insecure connection (HTTP, WS)
QList< ProtocolType > ProtocolTypes
List of protocol types for querying supported protocols.
Server Communication and Connection Management Module.