1 |
|
2 |
|
3 // include files |
|
4 #include <e32cmn.h> |
|
5 #include <e32base.h> |
|
6 #include <f32file.h> |
|
7 #include "mphsrvphoneinterface.h" // base class |
|
8 |
|
9 // forward declarations |
|
10 class RTelServer; |
|
11 class RMobilePhone; |
|
12 class RMmCustomAPI; |
|
13 class CPhSrvResourceManager; |
|
14 class CPhSrvUssdManager; |
|
15 |
|
16 /** |
|
17 * Mode for current test execution |
|
18 */ |
|
19 class TestMode |
|
20 { |
|
21 public: |
|
22 enum {Immediate=50}; |
|
23 enum Event{Normal,NoResp,NetworkRelease}; |
|
24 |
|
25 TestMode(Event event,int error=KErrNone,int timeout=Immediate) |
|
26 {m_event=event;m_error=error;m_timeout=timeout;} |
|
27 TestMode(int error,int timeout=Immediate) |
|
28 {m_event=Normal;m_error=error;m_timeout=timeout;} |
|
29 TestMode() |
|
30 {m_event=Normal;m_error=KErrNone;m_timeout=Immediate;} |
|
31 Event m_event; |
|
32 int m_error; |
|
33 int m_timeout; |
|
34 }; |
|
35 |
|
36 /** |
|
37 * ETEL message loop |
|
38 */ |
|
39 class EtelMsgLoop |
|
40 { |
|
41 public: |
|
42 EtelMsgLoop(); |
|
43 |
|
44 // methods |
|
45 void receive( const TDesC8& msg, const TDesC8& attr ); |
|
46 void networkRelease( const TDesC8& msg, const TDesC8& attr ); |
|
47 |
|
48 //data |
|
49 TRequestStatus* mSendMessageReqStatus; |
|
50 |
|
51 TRequestStatus* mReceiveMessageReqStatus; |
|
52 TDes8* mReceiveMessageData; |
|
53 TDes8* mReceiveMessageAttributes; |
|
54 |
|
55 TRequestStatus* mNetworkReleaseReqStatus; |
|
56 TDes8* mNetworkReleaseMessageData; |
|
57 TDes8* mNetworkReleaseMessageAttributes; |
|
58 |
|
59 }; |
|
60 |
|
61 |
|
62 |
|
63 /** |
|
64 * test environment |
|
65 */ |
|
66 class TestEnv: public MPhSrvPhoneInterface |
|
67 { |
|
68 public: |
|
69 |
|
70 static void create(); |
|
71 static void destroy(); |
|
72 static TestEnv& env(); // the singleton |
|
73 |
|
74 TestEnv(); |
|
75 void construct(); |
|
76 ~TestEnv(); |
|
77 |
|
78 CPhSrvUssdManager& ussdManager() {return *m_ussdManager;} |
|
79 |
|
80 void setTestMode(const TestMode& testMode) {m_testMode = testMode;} |
|
81 const TestMode& testMode() {return m_testMode;} |
|
82 |
|
83 EtelMsgLoop& etelMsgLoop() {return m_etelMsgLoop;} |
|
84 |
|
85 RMessage2& fakeMessage() {return *m_fakeMessage;} |
|
86 |
|
87 protected: // stubbed MPhSrvPhoneInterface |
|
88 |
|
89 RTelServer& PhSrvETelServer(); |
|
90 RMobilePhone& PhSrvMobilePhone(); |
|
91 RMmCustomAPI& PhSrvCustomPhone(); |
|
92 |
|
93 private: |
|
94 |
|
95 // file manager. Never actually connected to |
|
96 RFs m_fs; |
|
97 |
|
98 // resource manager mock |
|
99 CPhSrvResourceManager* m_resourceManager; |
|
100 |
|
101 // ussd manager (server main ussd class) |
|
102 CPhSrvUssdManager* m_ussdManager; |
|
103 |
|
104 // test mode |
|
105 TestMode m_testMode; |
|
106 |
|
107 // etel msg loop |
|
108 EtelMsgLoop m_etelMsgLoop; |
|
109 |
|
110 // temp message |
|
111 RMessage2* m_fakeMessage; |
|
112 |
|
113 static TestEnv* m_singleton; |
|
114 |
|
115 }; |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|