ImagingTools Core SDK
CServiceConnectionInfo.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/CServerConnectionInterfaceParam.h>
7#include <imtservice/IServiceConnectionInfo.h>
8#include <imtservice/IConnectionStatus.h>
9
10
11namespace imtservice
12{
13
14
15class CServiceConnectionInfo:
17 virtual public IServiceConnectionInfo,
18 virtual public IConnectionStatus
19{
20public:
22
23 CServiceConnectionInfo();
24
25 void SetConnectionType(ConnectionType connectionType);
26 void SetServiceTypeId(const QByteArray& serviceTypeId);
27 void SetDefaultServiceInterface(const imtcom::IServerConnectionInterface& defaultInterface);
28
29 // reimplemented (IServiceConnectionInfo)
30 virtual ConnectionType GetConnectionType() const override;
31 virtual QByteArray GetServiceTypeId() const override;
32 virtual const imtcom::IServerConnectionInterface& GetDefaultInterface() const override;
33
34 // reimplemented (IConnectionStatus)
35 virtual ConnectionStatus GetConnectionStatus() const override;
36
37 // reimplemented (iser::ISerializable)
38 virtual bool Serialize(iser::IArchive& archive) override;
39
40 // reimplemented (istd::IChangeable)
41 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
42 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
43 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
44
45protected:
46 ConnectionType m_connectionType;
47 QByteArray m_serviceTypeId;
49 ConnectionStatus m_connectionStatus;
50};
51
52
53} // namespace imtservice
54
55
Basic implementation of IServerConnectionInterface with protocol-port mapping.
Interface for describing server connection configuration with multi-protocol support.