knowL: Knowledge Libraries
Loading...
Searching...
No Matches
knowl
src
knowDataTransfert
AbstractCommunicationInterfaces.h
1
#include <functional>
2
3
#include <knowCore/Global.h>
4
5
#include "Forward.h"
6
7
namespace
knowDataTransfert
8
{
9
class
AbstractCommunicationInterface
10
{
11
protected
:
12
struct
Private
;
13
AbstractCommunicationInterface
(
const
QString& _communicationNamespace,
Private
* _d);
14
public
:
15
virtual
~AbstractCommunicationInterface
();
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
26
class
AbstractSendingCommunicationInterface
:
public
AbstractCommunicationInterface
27
{
28
public
:
29
AbstractSendingCommunicationInterface
(
const
QString& _communicationNamespace);
30
virtual
~AbstractSendingCommunicationInterface
();
31
using
AbstractCommunicationInterface::send;
32
virtual
void
send(
const
Data
& _data) = 0;
33
};
34
class
AbstractReceivingCommunicationInterface
:
public
AbstractCommunicationInterface
35
{
36
public
:
37
AbstractReceivingCommunicationInterface
(
const
QString& _communicationNamespace);
38
virtual
~AbstractReceivingCommunicationInterface
();
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
};
46
class
AbstractCommunicationInterfaceFactory
47
{
48
public
:
49
virtual
~AbstractCommunicationInterfaceFactory
();
50
virtual
AbstractSendingCommunicationInterface
*
51
createSendingInterface(
const
QString& _communicationNamespace)
52
= 0;
53
virtual
AbstractReceivingCommunicationInterface
*
54
createReceivingInterface(
const
QString& _communicationNamespace)
55
= 0;
56
private
:
57
struct
Private
;
58
Private
*
const
d =
nullptr
;
59
};
60
}
// namespace knowDataTransfert
knowDataTransfert::AbstractCommunicationInterfaceFactory
Definition
AbstractCommunicationInterfaces.h:47
knowDataTransfert::AbstractCommunicationInterface
Definition
AbstractCommunicationInterfaces.h:10
knowDataTransfert::AbstractReceivingCommunicationInterface
Definition
AbstractCommunicationInterfaces.h:35
knowDataTransfert::AbstractSendingCommunicationInterface
Definition
AbstractCommunicationInterfaces.h:27
knowDataTransfert::AbstractCommunicationInterfaceFactory::Private
Definition
AbstractCommunicationInterfaces.cpp:88
knowDataTransfert::AbstractCommunicationInterface::Private
Definition
AbstractCommunicationInterfaces.cpp:11
knowDataTransfert::DataControl
Definition
Messages.h:14
knowDataTransfert::Data
Definition
Messages.h:9
Generated by
1.12.0