knowL: Knowledge Libraries
Loading...
Searching...
No Matches
AbstractCommunicationInterfaces.h
1#include <functional>
2
3#include <knowCore/Global.h>
4
5#include "Forward.h"
6
7namespace knowDataTransfert
8{
10 {
11 protected:
12 struct Private;
13 AbstractCommunicationInterface(const QString& _communicationNamespace, Private* _d);
14 public:
16 QString communicationNamespace() const;
17
18 virtual void initialise() = 0;
19 virtual void send(const DataControl& _dataControl) = 0;
20 void addReceiver(const std::function<void(const DataControl& /*_data*/)>& _receiver);
21 protected:
22 void handle(const DataControl& _data);
23 Private* const d;
24 };
25
27 {
28 public:
29 AbstractSendingCommunicationInterface(const QString& _communicationNamespace);
31 using AbstractCommunicationInterface::send;
32 virtual void send(const Data& _data) = 0;
33 };
35 {
36 public:
37 AbstractReceivingCommunicationInterface(const QString& _communicationNamespace);
39 using AbstractCommunicationInterface::addReceiver;
40 void addReceiver(const std::function<void(const Data& /*_data*/)>& _receiver);
41 protected:
42 using AbstractCommunicationInterface::handle;
43 void handle(const Data& _data);
44 KNOWCORE_D_DECL();
45 };
47 {
48 public:
51 createSendingInterface(const QString& _communicationNamespace)
52 = 0;
54 createReceivingInterface(const QString& _communicationNamespace)
55 = 0;
56 private:
57 struct Private;
58 Private* const d = nullptr;
59 };
60} // namespace knowDataTransfert
Definition AbstractCommunicationInterfaces.h:47
Definition AbstractCommunicationInterfaces.h:10
Definition AbstractCommunicationInterfaces.h:35
Definition AbstractCommunicationInterfaces.h:27
Definition AbstractCommunicationInterfaces.cpp:88
Definition AbstractCommunicationInterfaces.cpp:11
Definition Messages.h:14
Definition Messages.h:9