phoneclientserver/phoneclient/tsrc/public/basic/ut_ussd/ut_testenv.cpp
branchRCL_3
changeset 20 987c9837762f
parent 19 7d48bed6ce0c
child 21 0a6dd2dc9970
equal deleted inserted replaced
19:7d48bed6ce0c 20:987c9837762f
     1 
       
     2 
       
     3 
       
     4 // phoneclientengine
       
     5 #include "cphsrvresourcemanager.h"
       
     6 #include "cphsrvussdmanager.h"
       
     7 #include <cphcltussd.h> // USSD API
       
     8 
       
     9 // qt stuff
       
    10 #include <QtTest/QtTest>
       
    11 
       
    12 // unit test
       
    13 #include "ut_testenv.h"
       
    14 
       
    15 // globals
       
    16 TestEnv* TestEnv::m_singleton = 0;
       
    17 
       
    18 // ====================================================================
       
    19 // EtelMsgLoop
       
    20 // ====================================================================
       
    21 EtelMsgLoop::EtelMsgLoop()
       
    22 {
       
    23     mSendMessageReqStatus = 0;
       
    24     
       
    25     mReceiveMessageReqStatus = 0;
       
    26     mReceiveMessageData = 0;
       
    27     mReceiveMessageAttributes = 0;
       
    28     
       
    29     mNetworkReleaseReqStatus = 0;
       
    30     mNetworkReleaseMessageData = 0;
       
    31     mNetworkReleaseMessageAttributes = 0;
       
    32 }
       
    33 
       
    34 void EtelMsgLoop::receive( const TDesC8& msg, const TDesC8& attr )
       
    35 {
       
    36     qDebug("EtelMsgLoop::receive mReceiveMessageReqStatus in =%d",
       
    37         mReceiveMessageReqStatus);
       
    38     mReceiveMessageData->Copy( msg );
       
    39     mReceiveMessageAttributes->Copy( attr );
       
    40     const TestMode& mode = TestEnv::env().testMode();
       
    41     User::RequestComplete(mReceiveMessageReqStatus, mode.m_error);
       
    42     qDebug("EtelMsgLoop::receive mReceiveMessageReqStatus out =%d",
       
    43         mReceiveMessageReqStatus);
       
    44     QVERIFY(mReceiveMessageReqStatus == 0);
       
    45 }
       
    46 
       
    47 void EtelMsgLoop::networkRelease( const TDesC8& msg, const TDesC8& attr )
       
    48 {
       
    49     qDebug("EtelMsgLoop::networkRelease mNetworkReleaseReqStatus in =%d", 
       
    50         mNetworkReleaseReqStatus);
       
    51     mNetworkReleaseMessageData->Copy( msg );
       
    52     if ( mNetworkReleaseMessageAttributes )
       
    53         mNetworkReleaseMessageAttributes->Copy( attr );
       
    54         const TestMode& mode = TestEnv::env().testMode();
       
    55         User::RequestComplete(mNetworkReleaseReqStatus, mode.m_error);
       
    56     qDebug("EtelMsgLoop::networkRelease mNetworkReleaseReqStatus out =%d", 
       
    57         mNetworkReleaseReqStatus);
       
    58     QVERIFY(mNetworkReleaseReqStatus == 0);
       
    59 }
       
    60 
       
    61 // ====================================================================
       
    62 // TestEnv
       
    63 // ====================================================================
       
    64 
       
    65 void TestEnv::create()
       
    66 {
       
    67     QVERIFY(!m_singleton);
       
    68     m_singleton = new TestEnv();
       
    69     m_singleton->construct();
       
    70 }
       
    71 
       
    72 void TestEnv::destroy()
       
    73 {
       
    74     QVERIFY(m_singleton);
       
    75     delete m_singleton;
       
    76     m_singleton = 0;
       
    77 }
       
    78 
       
    79 TestEnv& TestEnv::env()
       
    80 {
       
    81     return *m_singleton;
       
    82 }
       
    83 
       
    84 TestEnv::TestEnv()
       
    85 {
       
    86 }
       
    87 
       
    88 void TestEnv::construct()
       
    89 {
       
    90     int leave;
       
    91     // create the main USSD resource manager class
       
    92     m_resourceManager = new CPhSrvResourceManager(m_fs);
       
    93     TRAP(leave, m_resourceManager->ConstructL());
       
    94     QVERIFY(leave == 0);
       
    95     m_ussdManager = new CPhSrvUssdManager(m_fs,*m_resourceManager);
       
    96     TRAP(leave,m_ussdManager->ConstructL(*this));
       
    97     QVERIFY(leave == 0);
       
    98     m_fakeMessage = new RMessage2();
       
    99 }
       
   100 
       
   101 TestEnv::~TestEnv()
       
   102 {
       
   103     delete m_ussdManager;
       
   104     m_ussdManager = 0;
       
   105     delete m_resourceManager;
       
   106     m_resourceManager = 0;
       
   107     delete m_fakeMessage;
       
   108     m_fakeMessage = 0;
       
   109 }
       
   110 
       
   111 
       
   112 #define NULLREF(clz) *reinterpret_cast<clz*>((void*)0)
       
   113 
       
   114 RTelServer& TestEnv::PhSrvETelServer()
       
   115     { return NULLREF(RTelServer); }
       
   116 
       
   117 RMobilePhone& TestEnv::PhSrvMobilePhone()
       
   118     { return NULLREF(RMobilePhone); }
       
   119 
       
   120 RMmCustomAPI& TestEnv::PhSrvCustomPhone()
       
   121     { return NULLREF(RMmCustomAPI); }
       
   122 
       
   123 
       
   124 
       
   125 
       
   126 //End of file
       
   127