6 #ifndef SWIFT_MISC_SHAREDSTATE_DATALINKDBUS_H
7 #define SWIFT_MISC_SHAREDSTATE_DATALINKDBUS_H
9 #include <QSharedPointer>
17 class QDBusConnection;
23 namespace shared_state
51 void initializeLocal(
CDBusServer *server =
nullptr);
54 void initializeRemote(
const QDBusConnection &connection,
const QString &service);
64 QWeakPointer<const CActiveMutator> activeMutator;
65 QVector<QWeakPointer<const CPassiveObserver>> passiveObservers;
68 QStringList getChannelNames()
const;
69 Channel &getChannel(
const QString &name);
70 Channel &getChannel(
const QObject *
object);
72 void checkConnection();
74 void onDisconnected();
76 void handleLocalEvent(
const QString &channel,
const CVariant ¶m);
77 void handlePeerEvent(
const QString &channel,
const CVariant ¶m);
78 void announceLocalSubscriptions();
79 void announceLocalSubscriptions(
const QString &channel);
80 void setPeerSubscriptions(
const QString &channel,
const CVariantList &filters);
81 QFuture<CVariant> handleLocalRequest(
const QString &channel,
const CVariant ¶m);
82 void handlePeerRequest(
const QString &channel,
const CVariant ¶m, quint32 token);
86 QSharedPointer<dbus::IDuplex> m_duplex;
90 mutable QRecursiveMutex m_channelsMutex;
Value object encapsulating information identifying a component of a modular distributed swift process...
static const CIdentifier & anonymous()
Returns an anonymous identifier, which is a valid identifier without name.
Wrapper around QVariant which provides transparent access to CValueObject methods of the contained ob...
Value object encapsulating a list of variants.
Extends CPassiveMutator with the ability to respond to requests.
Extends CPassiveObserver with the ability to send requests and receive replies.
A transport mechanism using signals and slots distributed by DBus.
Endpoint which can emit events to subscribers.
Endpoint which can subscribe to events emitted by CPassiveMutator.
Interface that provides a transport mechanism for sharing state.
Abstract interface for the hub in a star topology.
Free functions in swift::misc.
#define SWIFT_MISC_EXPORT
Export a class or function from the library.