PhoenixSwarm
5.2.0
Library to ease communication between daemons
Toggle main menu visibility
Loading...
Searching...
No Matches
DataFunctionClassCall_impl.h
Go to the documentation of this file.
1
/***************************************
2
Auteur : Pierre Aubert
3
Mail : pierre.aubert@lapp.in2p3.fr
4
Licence : CeCILL-C
5
****************************************/
6
7
#ifndef __DATA_FUNCTION_CLASS_CALL_H_IMPL__
8
#define __DATA_FUNCTION_CLASS_CALL_H_IMPL__
9
10
#include "
DataFunctionClassCall.h
"
11
12
using namespace
Swarm
;
13
15
19
template
<
typename
_Class,
typename
_Data>
20
DataFunctionClassCall<_Class, _Data>::DataFunctionClassCall
(PUncastableBool (*function)(_Class&,
const
_Data &), _Class& persistentData,
const
PString & name)
21
//:DataFunctionCall<_Data>(nullptr, name),
22
:
AbstractDataFunction
(name),
23
p_persistentData
(persistentData),
24
p_function
(function)
25
{
26
initialisationDataFunctionClassCall
();
27
}
28
30
template
<
typename
_Class,
typename
_Data>
31
DataFunctionClassCall<_Class, _Data>::~DataFunctionClassCall
(){
32
33
}
34
36
40
template
<
typename
_Class,
typename
_Data>
41
bool
DataFunctionClassCall<_Class, _Data>::call
(PLog & log,
const
Data
& data){
42
_Data value(
phoenix_getValueFromData<_Data>
(data));
43
if
(
p_function
(
p_persistentData
, value) == UNCASTABLE_TRUE){
44
log.getLogDebug() <<
"DataFunctionClassCall<_Data>::call : function 'bool '"
<<
getName
()<<
"(const "
<<
getPrototype
()<<
" &) success"
<< std::endl;
45
return
true
;
46
}
else
{
47
log.getLogError() <<
"DataFunctionClassCall<_Data>::call : function 'bool '"
<<
getName
()<<
"(const "
<<
getPrototype
()<<
" &) failed"
<< std::endl;
48
return
false
;
49
}
50
}
51
53
template
<
typename
_Class,
typename
_Data>
54
void
DataFunctionClassCall<_Class, _Data>::initialisationDataFunctionClassCall
(){
55
56
}
57
58
59
#endif
60
DataFunctionClassCall.h
Swarm::AbstractDataFunction::getPrototype
const PString & getPrototype() const
Get the prototype of the current function.
Definition
AbstractDataFunction.cpp:47
Swarm::AbstractDataFunction::getName
const PString & getName() const
Name of the function.
Definition
AbstractDataFunction.cpp:33
Swarm::AbstractDataFunction::AbstractDataFunction
AbstractDataFunction(const PString &name)
Default constructor of AbstractDataFunction.
Definition
AbstractDataFunction.cpp:14
Swarm::DataFunctionClassCall::initialisationDataFunctionClassCall
void initialisationDataFunctionClassCall()
Initialisation function of the class DataFunctionClassCall.
Definition
DataFunctionClassCall_impl.h:54
Swarm::DataFunctionClassCall::~DataFunctionClassCall
virtual ~DataFunctionClassCall()
Destructor of DataFunctionClassCall.
Definition
DataFunctionClassCall_impl.h:31
Swarm::DataFunctionClassCall::p_function
PUncastableBool(* p_function)(_Class &, const _Data &)
Callable function of the DataFunctionClassCall.
Definition
DataFunctionClassCall.h:27
Swarm::DataFunctionClassCall::call
virtual bool call(PLog &log, const Data &data)
Call the function with parameter.
Definition
DataFunctionClassCall_impl.h:41
Swarm::DataFunctionClassCall::p_persistentData
_Class & p_persistentData
Persistent data of the function.
Definition
DataFunctionClassCall.h:25
Swarm::DataFunctionClassCall::DataFunctionClassCall
DataFunctionClassCall(PUncastableBool(*function)(_Class &, const _Data &), _Class &persistentData, const PString &name)
Default constructor of DataFunctionClassCall.
Definition
DataFunctionClassCall_impl.h:20
Swarm::Data
Basic Data exchanged in the swarm.
Definition
Representation.h:22
Swarm
Definition
StatSort.h:12
phoenix_getValueFromData
T phoenix_getValueFromData(const Swarm::Data &data)
Get the value in the Data.
Definition
phoenix_createData_impl.h:34
src
Function
DataFunctionClassCall_impl.h
Generated by
1.17.0