swift
connectionstatus.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_MISC_NETWORK_CONNECTIONSTATUS_H
7 #define SWIFT_MISC_NETWORK_CONNECTIONSTATUS_H
8 
9 #include "misc/swiftmiscexport.h"
10 #include "misc/valueobject.h"
11 
12 SWIFT_DECLARE_VALUEOBJECT_MIXINS(swift::misc::network, CConnectionStatus)
13 
14 namespace swift::misc::network
15 {
17  class SWIFT_MISC_EXPORT CConnectionStatus : public CValueObject<CConnectionStatus>
18  {
19  public:
22  {
23  Connected,
24  Connecting,
25  Disconnecting,
26  Disconnected
27  };
28 
30  CConnectionStatus() = default;
31 
33  CConnectionStatus(ConnectionStatus status) : m_connectionStatus(status) {}
34 
37  bool isConnected() const { return m_connectionStatus == Connected; }
38  bool isConnecting() const { return m_connectionStatus == Connecting; }
39  bool isDisconnecting() const { return m_connectionStatus == Disconnecting; }
40  bool isDisconnected() const { return m_connectionStatus == Disconnected; }
42 
44  ConnectionStatus getConnectionStatus() const { return m_connectionStatus; }
45 
47  void setConnectionStatus(ConnectionStatus status) { m_connectionStatus = status; }
48 
50  QString convertToQString(bool i18n = false) const;
51 
52  private:
53  ConnectionStatus m_connectionStatus = Disconnected;
54 
57  SWIFT_METAMEMBER(connectionStatus));
58  };
59 } // namespace swift::misc::network
60 
62 
63 #endif // SWIFT_MISC_NETWORK_CONNECTIONSTATUS_H
Mix of the most commonly used mixin classes.
Definition: valueobject.h:114
Value object encapsulating information about a connection status.
bool isConnected() const
Query status.
bool isDisconnected() const
Query status.
CConnectionStatus(ConnectionStatus status)
Constructor.
bool isConnecting() const
Query status.
ConnectionStatus getConnectionStatus() const
Get status.
bool isDisconnecting() const
Query status.
void setConnectionStatus(ConnectionStatus status)
Set status.
CConnectionStatus()=default
Default constructor.
#define SWIFT_METAMEMBER(MEMBER,...)
Macro to define an element within a metaclass.
Definition: metaclass.h:73
#define SWIFT_METACLASS(CLASS,...)
Macro to define a nested metaclass that describes the attributes of its enclosing class.
Definition: metaclass.h:53
#define SWIFT_MISC_EXPORT
Export a class or function from the library.
#define SWIFT_DECLARE_VALUEOBJECT_MIXINS(Namespace, Class)
Explicit template declaration of mixins for a CValueObject subclass to be placed near the top of the ...
Definition: valueobject.h:65