ImagingTools Core SDK
IConnectionCollection.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// ACF includes
6#include <ilog/ITracingConfiguration.h>
7
8// ImtCore includes
9#include <imtbase/ICollectionInfo.h>
10#include <imtcom/IServerConnectionInterface.h>
11#include <imtservice/IServiceConnectionInfo.h>
12
13
14namespace imtservice
15{
16
17
22class IConnectionCollection: virtual public ilog::ITracingConfiguration
23{
24public:
25 virtual QString GetServiceVersion() const = 0;
26 virtual QString GetServiceTypeId() const = 0;
27 virtual bool SetServiceTypeId(const QString& serviceTypeName) const = 0;
28 virtual const imtbase::ICollectionInfo* GetServerConnectionList() const = 0;
29 virtual const imtcom::IServerConnectionInterface* GetServerConnection(const QByteArray& id) const = 0;
30 virtual const IServiceConnectionInfo* GetConnectionMetaInfo(const QByteArray& id) const = 0;
31 virtual bool SetServerConnectionInterface(const QByteArray& id, const imtcom::IServerConnectionInterface& connectionInterface) = 0;
32 virtual QByteArray InsertNewConnection(
33 const QByteArray& connectionId,
34 const QUrl& url,
35 IServiceConnectionInfo::ConnectionType connectionType,
36 const QString& name = QString(),
37 const QString& description = QString() ) = 0;
38};
39
40
41typedef istd::TUniqueInterfacePtr<IConnectionCollection> IConnectionCollectionUniquePtr;
42typedef istd::TSharedInterfacePtr<IConnectionCollection> IConnectionCollectionSharedPtr;
43
44
45} // namespace imtservice
46
47
Interface for describing server connection configuration with multi-protocol support.