swift
contextaudioproxy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) 2013 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 #ifndef SWIFT_CORE_CONTEXT_CONTEXTVOICE_PROXY_H
7 #define SWIFT_CORE_CONTEXT_CONTEXTVOICE_PROXY_H
8 
9 #include <QString>
10 
12 #include "core/corefacadeconfig.h"
13 #include "core/swiftcoreexport.h"
18 #include "misc/identifier.h"
19 #include "misc/network/userlist.h"
20 
21 // clazy:excludeall=const-signal-or-slot
22 
23 class QDBusConnection;
24 
25 namespace swift::misc
26 {
27  class CGenericDBusInterface;
28  namespace Audio
29  {
30  class CAudioDeviceInfo;
31  }
32  namespace aviation
33  {
34  class CCallsign;
35  }
36 } // namespace swift::misc
37 
38 namespace swift::core
39 {
40  class CCoreFacade;
41  namespace context
42  {
46  {
47  Q_OBJECT
48  Q_CLASSINFO("D-Bus Interface", SWIFT_CORE_CONTEXTAUDIO_INTERFACENAME)
49  friend class IContextAudio;
50 
51  public:
53  virtual ~CContextAudioProxy() override {}
54 
57  static void unitTestRelaySignals();
58 
59  public slots:
61  virtual swift::misc::audio::CAudioDeviceInfoList getRegisteredDevices() const override;
62 
64  virtual void registerDevices(const swift::misc::audio::CAudioDeviceInfoList &devices) override;
65 
67  virtual void unRegisterDevices(const swift::misc::audio::CAudioDeviceInfoList &devices) override;
68 
70  virtual void unRegisterDevicesFor(const swift::misc::CIdentifier &identifier) override;
71 
73  virtual void registerAudioCallsign(const swift::misc::aviation::CCallsign &callsign,
74  const swift::misc::CIdentifier &identifier) override;
75 
77  virtual void unRegisterAudioCallsign(const swift::misc::aviation::CCallsign &callsign,
78  const swift::misc::CIdentifier &identifier) override;
79 
81  virtual bool hasRegisteredAudioCallsign(const swift::misc::aviation::CCallsign &callsign) const override;
82 
83  private:
84  swift::misc::CGenericDBusInterface *m_dBusInterface;
85 
88  void relaySignals(const QString &serviceName, QDBusConnection &connection);
89 
90  protected:
93  : CContextAudioBase(mode, runtime), m_dBusInterface(nullptr)
94  {}
95 
97  CContextAudioProxy(const QString &serviceName, QDBusConnection &connection,
99  };
100  } // namespace context
101 } // namespace swift::core
102 
103 #endif // SWIFT_CORE_CONTEXT_CONTEXTVOICE_PROXY_H
ContextMode
How to handle a given context.
The class providing facades (the contexts) for all DBus relevant operations.
Definition: corefacade.h:57
CContextAudioProxy(CCoreFacadeConfig::ContextMode mode, CCoreFacade *runtime)
Contructor.
Audio context interface.
Definition: contextaudio.h:61
Used for hand written interface based on virtual methods.
Value object encapsulating information identifying a component of a modular distributed swift process...
Definition: identifier.h:29
Value object encapsulating a list of audio devices.
Value object encapsulating information of a callsign.
Definition: callsign.h:30
#define SWIFT_CORE_CONTEXTAUDIO_INTERFACENAME
DBus interface for context.
Definition: contextaudio.h:39
Backend services of the swift project, like dealing with the network or the simulators.
Definition: actionbind.cpp:7
Free functions in swift::misc.
#define SWIFT_CORE_EXPORT
Export a class or function from the library.