* formatting all the source code with eclipse source code style
[profile/ivi/audiomanager.git] / AudioManagerDaemon / test / sockethandler / sockethandlerTest.h
1 /*
2  * sockethandlerTest.h
3  *
4  *  Created on: Dec 19, 2011
5  *      Author: christian
6  */
7
8 #ifndef SOCKETHANDLERTEST_H_
9 #define SOCKETHANDLERTEST_H_
10
11 #include <gtest/gtest.h>
12 #include <queue>
13 #include "SocketHandler.h"
14
15 namespace am
16 {
17
18 class SamplePlugin
19 {
20 public:
21     enum sockType_e
22     {
23         UNIX, INET
24     };
25     SamplePlugin(SocketHandler *mySocketHandler, sockType_e socketType);
26     virtual ~SamplePlugin()
27     {
28     }
29     ;
30     void connectSocket(const pollfd pollfd, const sh_pollHandle_t handle, void* userData);
31     void receiveData(const pollfd pollfd, const sh_pollHandle_t handle, void* userData);
32     bool dispatchData(const sh_pollHandle_t handle, void* userData);
33     bool check(const sh_pollHandle_t handle, void* userData);
34     shPollFired_T<SamplePlugin> connectFiredCB;
35     shPollFired_T<SamplePlugin> receiveFiredCB;
36     shPollDispatch_T<SamplePlugin> sampleDispatchCB;
37     shPollCheck_T<SamplePlugin> sampleCheckCB;
38 private:
39     SocketHandler *mSocketHandler;
40     sh_pollHandle_t mConnecthandle, mReceiveHandle;
41     std::queue<std::string> msgList;
42 };
43
44 class timerCallBack
45 {
46 public:
47     timerCallBack(SocketHandler *SocketHandler);
48     virtual ~timerCallBack();
49     void timer1Callback(sh_timerHandle_t handle, void * userData);
50     void timer2Callback(sh_timerHandle_t handle, void * userData);
51     void timer3Callback(sh_timerHandle_t handle, void * userData);
52     void timer4Callback(sh_timerHandle_t handle, void * userData);
53     shTimerCallBack_T<timerCallBack> pTimer1Callback;
54     shTimerCallBack_T<timerCallBack> pTimer2Callback;
55     shTimerCallBack_T<timerCallBack> pTimer3Callback;
56     shTimerCallBack_T<timerCallBack> pTimer4Callback;
57     SocketHandler *mSocketHandler;
58 };
59
60 class sockethandlerTest: public ::testing::Test
61 {
62 public:
63     sockethandlerTest();
64     virtual ~sockethandlerTest();
65     void SetUp();
66     void TearDown();
67 };
68
69 } /* namespace am */
70 #endif /* SOCKETHANDLERTEST_H_ */