ImagingTools Core SDK
ISystemStatus.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 <istd/IChangeable.h>
7
8// ImtCore includes
9#include <imtcom/IConnectionStatusProvider.h>
10#include <imtdb/IDatabaseServerConnectionChecker.h>
11
12
13namespace imtbase
14{
15
16
17class ISystemStatus: virtual public istd::IChangeable
18{
19public:
20 enum SystemStatus
21 {
22 SS_UNKNOWN_ERROR = 0,
23 SS_NO_ERROR,
24 SS_DATABASE_CONNECTION_ERROR,
25 SS_SERVER_CONNECTION_ERROR,
26 SS_TRY_CONNECTING_SERVER
27 };
28
29 virtual SystemStatus GetSystemStatus(QString& errorMessage) const = 0;
30 virtual void UpdateSystemStatus() = 0;
31 virtual imtcom::IConnectionStatusProvider* GetConnectionStatusProvider() const = 0;
32 virtual imtdb::IDatabaseServerConnectionChecker* GetDatabaseServerConnectionStatusProvider() const = 0;
33};
34
35
36} // namespace imtbase
37
38
Interface for monitoring network connection status with observable state changes.