GCC Code Coverage Report


Directory: ./
File: src/PAbstractInternalVar_impl.h
Date: 2024-12-09 11:00:39
Exec Total Coverage
Lines: 22 42 52.4%
Branches: 6 34 17.6%

Line Branch Exec Source
1 /***************************************
2 Auteur : Pierre Aubert
3 Mail : pierre.aubert@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7 #ifndef __PABSTRACTINTERNALVAR_H_IMPL__
8 #define __PABSTRACTINTERNALVAR_H_IMPL__
9
10 #include "PAbstractInternalVar.h"
11
12 ///Default constructor of PAbstractInternalVar
13
14 ///Default constructor of PGenericInternalVar
15 /** @param variable : first value of the variable to manage
16 * @param varName : name of the variable to manage
17 * @param mode : Mode of the PGenericInternalVar (no mock, mock, mock_record)
18 * @param mockParam : parameters of the mock backend
19 */
20 template<typename _TType, typename _TBackend, typename _TMockBackend>
21 2 PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::PAbstractInternalVar(const _TType & variable, const std::string & varName, ConnectorMode::ConnectorMode mode, const typename _TMockBackend::Param & mockParam)
22 2 :PGenericInternalVar<_TBackend, _TMockBackend>(mode, mockParam)
23 {
24 2 initialisationPAbstractInternalVar(variable);
25
2/2
✓ Branch 1 taken 2 times.
✓ Branch 4 taken 2 times.
2 PGenericInternalVar<_TBackend, _TMockBackend>::setComposeVar(phoenix_getComposeVar<_TType>(varName));
26 2 }
27
28 ///Destructor of PAbstractInternalVar
29 template<typename _TType, typename _TBackend, typename _TMockBackend>
30 8 PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::~PAbstractInternalVar(){
31
32 8 }
33
34
35 ///Save the value into the compose var
36 template<typename _TType, typename _TBackend, typename _TMockBackend>
37 40 void PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::saveValueToComposeVar(){
38
1/1
✓ Branch 1 taken 40 times.
40 size_t dataSize(data_size<_TType>(p_value));
39
1/1
✓ Branch 1 taken 40 times.
40 std::vector<char> & msg = PGenericInternalVar<_TBackend, _TMockBackend>::p_composeVar.getValue();
40
1/1
✓ Branch 1 taken 40 times.
40 msg.resize(dataSize);
41 40 char* iter = (char*)msg.data();
42
1/1
✓ Branch 1 taken 40 times.
40 data_message_save<char*, _TType>(iter, p_value);
43 40 }
44
45 ///Save the compose var into the value
46 template<typename _TType, typename _TBackend, typename _TMockBackend>
47 void PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::saveComposeVarToValue(){
48 std::vector<char> & msg = PGenericInternalVar<_TBackend, _TMockBackend>::p_composeVar.getValue();
49 char* iter = (char*)msg.data();
50 data_message_load<_TType>(iter, p_value);
51 }
52
53
54 ///Initialise the variable from the backend
55 /** @param msg : message to be used to initialise the variable
56 * @return true on success, false otherwise
57 */
58 template<typename _TType, typename _TBackend, typename _TMockBackend>
59 bool PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::readBackend(const typename _TBackend::Message & msg){
60 char* iter = (char*)_TBackend::msgData(msg);
61 return data_message_load<_TType>(iter, p_value);
62 }
63
64 ///Initialise the variable from the mock backend
65 /** @param msg : message to be used to initialise the variable
66 * @return true on success, false otherwise
67 */
68 template<typename _TType, typename _TBackend, typename _TMockBackend>
69 bool PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::readMockBackend(const typename _TMockBackend::Message & msg){
70 char* iter = (char*)_TMockBackend::msgData(msg);
71 return data_message_load<_TType>(iter, p_value);
72 }
73
74 ///Write the variable into the backend message
75 /** @param[out] msg : message to be written with the current value of the variable
76 * @return true on success, false otherwise
77 */
78 template<typename _TType, typename _TBackend, typename _TMockBackend>
79 bool PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::writeBackend(typename _TBackend::Message & msg) const{
80 size_t dataSize(data_size<_TType>(p_value));
81 _TBackend::msgResize(msg, dataSize);
82 char* iter = _TBackend::msgData(msg);
83 return data_message_save<char*, _TType>(iter, p_value);
84 }
85
86 ///Write the variable into the mock backend message
87 /** @param[out] msg : message to be written with the current value of the variable
88 * @return true on success, false otherwise
89 */
90 template<typename _TType, typename _TBackend, typename _TMockBackend>
91 bool PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::writeMockBackend(typename _TMockBackend::Message & msg) const{
92 size_t dataSize(data_size<_TType>(p_value));
93 _TMockBackend::msgResize(msg, dataSize);
94 char* iter = _TMockBackend::msgData(msg);
95 return data_message_save<char*, _TType>(iter, p_value);
96 }
97
98
99 ///Set the value of the internal var
100 /** @param value : value to be set
101 */
102 template<typename _TType, typename _TBackend, typename _TMockBackend>
103 20 void PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::setValue(const _TType & value){
104 20 p_value = value;
105 20 }
106
107 ///Get the value of the internal var
108 /** @return value of the internal var
109 */
110 template<typename _TType, typename _TBackend, typename _TMockBackend>
111 const _TType & PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::getValue() const{
112 return p_value;
113 }
114
115 ///Get the value of the internal var
116 /** @return value of the internal var
117 */
118 template<typename _TType, typename _TBackend, typename _TMockBackend>
119 20 _TType & PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::getValue(){
120 20 return p_value;
121 }
122
123 ///Initialisation function of the class PAbstractInternalVar
124 /** @param variable : first value of the variable to manage
125 */
126 template<typename _TType, typename _TBackend, typename _TMockBackend>
127 2 void PAbstractInternalVar<_TType, _TBackend, _TMockBackend>::initialisationPAbstractInternalVar(const _TType & variable){
128 2 p_value = variable;
129 2 }
130
131
132
133
134
135 #endif
136
137
138
139