7#ifndef __PGENERIC_SOCKET_H_IMPL__
8#define __PGENERIC_SOCKET_H_IMPL__
15template<
typename _TBackend,
typename _TMockBackend>
21template<
typename _TBackend,
typename _TMockBackend>
31template<
typename _TBackend,
typename _TMockBackend>
35 b &= _TMockBackend::createClientSocket(
p_mockSocket, mockParam);
38 b &= _TBackend::createClientSocket(
p_socket, param);
48template<
typename _TBackend,
typename _TMockBackend>
52 b &= _TMockBackend::createServerSocket(
p_mockSocket, mockParam);
55 b &= _TBackend::createServerSocket(
p_socket, param);
67template<
typename _TBackend,
typename _TMockBackend>
72 b &= _TMockBackend::createClientSocket(
p_mockSocket, host, port, mockParam);
73 b &= _TBackend::createClientSocket(
p_socket, host, port, param);
85template<
typename _TBackend,
typename _TMockBackend>
90 b &= _TMockBackend::createServerSocket(
p_mockSocket, host, port, mockParam);
91 b &= _TBackend::createServerSocket(
p_socket, host, port, param);
99template<
typename _TBackend,
typename _TMockBackend>
110template<
typename _TBackend,
typename _TMockBackend>
116 typename _TMockBackend::Message vecTmp;
117 _TBackend::msgToMock(vecTmp, msg);
127 b &= _TBackend::send(
p_socket, msg, flag);
137template<
typename _TBackend,
typename _TMockBackend>
141 b &= _TBackend::recv(
p_socket, msg, flag);
143 typename _TMockBackend::Message msgMock;
146 _TBackend::mockToMsg(msg, msgMock);
149 b &= _TBackend::recv(
p_socket, msg, flag);
151 typename _TMockBackend::Message msgMock;
152 _TBackend::msgToMock(msgMock, msg);
156 typename _TMockBackend::Message empty_msg;
157 b &= _TMockBackend::recv(
p_mockSocket, empty_msg, flag);
164template<
typename _TBackend,
typename _TMockBackend>
173template<
typename _TBackend,
typename _TMockBackend>
180 b &= _TBackend::isConnected(
p_socket);
188template<
typename _TBackend,
typename _TMockBackend>
PGenericSocket(PSocketMode::PSocketMode mode)
Default constructor of PGenericSocket.
void close()
Close the socket.
_TMockBackend::Socket p_mockSocket
Socket to be used with the mock backend.
bool recvMsg(typename _TBackend::Message &msg, PRecvFlag::PRecvFlag flag)
Recieve message from the given socket.
_TBackend::Socket p_socket
Socket to be used with the classical backend.
bool isConnected() const
Say if the Socket is connected.
virtual ~PGenericSocket()
Destructor of PGenericSocket.
PSocketMode::PSocketMode p_mode
Mode of the Socket (no mock, mock, mock_record)
bool sendMsg(typename _TBackend::Message &msg, PSendFlag::PSendFlag flag)
Send message on the given socket.
bool createClientSocket(const typename _TBackend::Param ¶m, const typename _TMockBackend::Param &mockParam)
Create a client socket.
void initialisationPGenericSocket(PSocketMode::PSocketMode mode)
Initialisation function of the class PGenericSocket.
bool createServerSocket(const typename _TBackend::Param ¶m, const typename _TMockBackend::Param &mockParam)
Create a server socket.
void setMode(PSocketMode::PSocketMode mode)
Set the mode of the generic socket.
PRecvFlag
describe the recieving flag of the Socket
PSendFlag
describe the sending flag of the Socket
PSocketMode
describe the mode of the Socket