| Line |
Branch |
Exec |
Source |
| 1 |
|
|
/*************************************** |
| 2 |
|
|
Auteur : Pierre Aubert |
| 3 |
|
|
Mail : pierre.aubert@lapp.in2p3.fr |
| 4 |
|
|
Licence : CeCILL-C |
| 5 |
|
|
****************************************/ |
| 6 |
|
|
|
| 7 |
|
|
#ifndef __PHOENIX_BACKEND_IMPL_H__ |
| 8 |
|
|
#define __PHOENIX_BACKEND_IMPL_H__ |
| 9 |
|
|
|
| 10 |
|
|
#include "phoenix_backend.h" |
| 11 |
|
|
|
| 12 |
|
|
///Copy message from mock backend to backend |
| 13 |
|
|
/** @param[out] dest : copy destination |
| 14 |
|
|
* @param src : copy source |
| 15 |
|
|
*/ |
| 16 |
|
|
template<typename _TBackendDest, typename _TBackendSrc> |
| 17 |
|
20 |
void phoenix_copy(typename _TBackendDest::Message & dest, const typename _TBackendSrc::Message & src){ |
| 18 |
|
20 |
size_t dataSize(_TBackendSrc::msgSize(src)); |
| 19 |
|
20 |
_TBackendDest::msgResize(dest, dataSize); |
| 20 |
|
20 |
memcpy(_TBackendDest::msgData(dest), _TBackendSrc::msgData(src), dataSize); |
| 21 |
|
20 |
} |
| 22 |
|
|
|
| 23 |
|
|
///Copy vector of messages from mock backend to backend |
| 24 |
|
|
/** @param[out] dest : copy destination |
| 25 |
|
|
* @param src : copy source |
| 26 |
|
|
*/ |
| 27 |
|
|
template<typename _TBackendDest, typename _TBackendSrc> |
| 28 |
|
|
void phoenix_copy(std::vector<typename _TBackendDest::Message> & dest, const std::vector<typename _TBackendSrc::Message> & src){ |
| 29 |
|
|
dest.resize(src.size()); |
| 30 |
|
|
typename std::vector<typename _TBackendDest::Message>::const_iterator itDest(dest.begin()); |
| 31 |
|
|
for(typename std::vector<typename _TBackendSrc::Message>::const_iterator itSrc(src.begin()); itSrc != src.end(); ++itSrc){ |
| 32 |
|
|
phoenix_copy(*itDest, *itSrc); |
| 33 |
|
|
++itDest; |
| 34 |
|
|
} |
| 35 |
|
|
} |
| 36 |
|
|
|
| 37 |
|
|
|
| 38 |
|
|
|
| 39 |
|
|
#endif |
| 40 |
|
|
|