256 TInt TMSServer::StartTMSCallServer(TMSCallProxyLocal& aHandle) |
255 TInt TMSServer::StartTMSCallServer(TMSCallProxyLocal& aHandle) |
257 { |
256 { |
258 TRACE_PRN_FN_ENT; |
257 TRACE_PRN_FN_ENT; |
259 TInt status = KErrNone; |
258 TInt status = KErrNone; |
260 |
259 |
261 CStartAndMonitorTMSCallThread* callServerThread = NULL; |
260 TMSStartAndMonitorTMSCallThread* callServerThread = NULL; |
262 TRAP(status, callServerThread = |
261 TRAP(status, callServerThread =TMSStartAndMonitorTMSCallThread::NewL( |
263 CStartAndMonitorTMSCallThread::NewL(const_cast<TMSServer*>(this))); |
262 const_cast<TMSServer*>(this))); |
264 if (status != KErrNone) |
263 if (status != KErrNone) |
265 { |
264 { |
266 delete callServerThread; |
265 delete callServerThread; |
267 } |
266 } |
268 else |
267 else |
832 |
831 |
833 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
832 TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); |
834 } |
833 } |
835 |
834 |
836 // ----------------------------------------------------------------------------- |
835 // ----------------------------------------------------------------------------- |
837 // CStartAndMonitorTMSCallThread::CStartAndMonitorTMSCallThread |
836 // TMSStartAndMonitorTMSCallThread::TMSStartAndMonitorTMSCallThread |
838 // Perhaps we need to move this to a .cpp? |
837 // Perhaps we need to move this to a .cpp? |
839 // ----------------------------------------------------------------------------- |
838 // ----------------------------------------------------------------------------- |
840 // |
839 // |
841 CStartAndMonitorTMSCallThread::CStartAndMonitorTMSCallThread( |
840 TMSStartAndMonitorTMSCallThread::TMSStartAndMonitorTMSCallThread( |
842 TMSServer* aServer) : |
841 TMSServer* aServer) : |
843 CActive(EPriorityStandard), |
842 CActive(EPriorityStandard), |
844 iTMSServer(aServer) |
843 iTMSServer(aServer) |
845 { |
844 { |
846 TRACE_PRN_FN_ENT; |
845 TRACE_PRN_FN_ENT; |
847 CActiveScheduler::Add(this); |
846 CActiveScheduler::Add(this); |
848 TRACE_PRN_FN_EXT; |
847 TRACE_PRN_FN_EXT; |
849 } |
848 } |
850 |
849 |
851 // ----------------------------------------------------------------------------- |
850 // ----------------------------------------------------------------------------- |
852 // CStartAndMonitorTMSCallThread::~CStartAndMonitorTMSCallThread |
851 // TMSStartAndMonitorTMSCallThread::~TMSStartAndMonitorTMSCallThread |
853 // |
852 // |
854 // ----------------------------------------------------------------------------- |
853 // ----------------------------------------------------------------------------- |
855 // |
854 // |
856 CStartAndMonitorTMSCallThread::~CStartAndMonitorTMSCallThread() |
855 TMSStartAndMonitorTMSCallThread::~TMSStartAndMonitorTMSCallThread() |
857 { |
856 { |
858 TRACE_PRN_FN_ENT; |
857 TRACE_PRN_FN_ENT; |
859 Cancel(); |
858 Cancel(); |
860 TRACE_PRN_FN_EXT; |
859 TRACE_PRN_FN_EXT; |
861 } |
860 } |
862 |
861 |
863 // ----------------------------------------------------------------------------- |
862 // ----------------------------------------------------------------------------- |
864 // CStartAndMonitorTMSCallThread::NewL |
863 // TMSStartAndMonitorTMSCallThread::NewL |
865 // |
864 // |
866 // ----------------------------------------------------------------------------- |
865 // ----------------------------------------------------------------------------- |
867 // |
866 // |
868 CStartAndMonitorTMSCallThread* CStartAndMonitorTMSCallThread::NewL( |
867 TMSStartAndMonitorTMSCallThread* TMSStartAndMonitorTMSCallThread::NewL( |
869 TMSServer* aServer) |
868 TMSServer* aServer) |
870 { |
869 { |
871 TRACE_PRN_FN_ENT; |
870 TRACE_PRN_FN_ENT; |
872 CStartAndMonitorTMSCallThread* self = |
871 TMSStartAndMonitorTMSCallThread* self = |
873 new (ELeave) CStartAndMonitorTMSCallThread(aServer); |
872 new (ELeave) TMSStartAndMonitorTMSCallThread(aServer); |
874 CleanupStack::PushL(self); |
873 CleanupStack::PushL(self); |
875 self->ConstructL(); |
874 self->ConstructL(); |
876 CleanupStack::Pop(self); |
875 CleanupStack::Pop(self); |
877 TRACE_PRN_FN_EXT; |
876 TRACE_PRN_FN_EXT; |
878 return self; |
877 return self; |
879 } |
878 } |
880 |
879 |
881 // ----------------------------------------------------------------------------- |
880 // ----------------------------------------------------------------------------- |
882 // CStartAndMonitorTMSCallThread::ConstructL |
881 // TMSStartAndMonitorTMSCallThread::ConstructL |
883 // |
882 // |
884 // ----------------------------------------------------------------------------- |
883 // ----------------------------------------------------------------------------- |
885 // |
884 // |
886 void CStartAndMonitorTMSCallThread::ConstructL() |
885 void TMSStartAndMonitorTMSCallThread::ConstructL() |
887 { |
886 { |
888 TRACE_PRN_FN_ENT; |
887 TRACE_PRN_FN_ENT; |
889 TRACE_PRN_FN_EXT; |
888 TRACE_PRN_FN_EXT; |
890 } |
889 } |
891 |
890 |
892 // ----------------------------------------------------------------------------- |
891 // ----------------------------------------------------------------------------- |
893 // CStartAndMonitorTMSCallThread::StartTMSCallServer |
892 // TMSStartAndMonitorTMSCallThread::StartTMSCallServer |
894 // |
893 // |
895 // ----------------------------------------------------------------------------- |
894 // ----------------------------------------------------------------------------- |
896 // |
895 // |
897 TInt CStartAndMonitorTMSCallThread::StartTMSCallServer(TMSCallProxyLocal& aHndl) |
896 TInt TMSStartAndMonitorTMSCallThread::StartTMSCallServer( |
|
897 TMSCallProxyLocal& aHndl) |
898 { |
898 { |
899 TRACE_PRN_FN_ENT; |
899 TRACE_PRN_FN_ENT; |
900 |
900 |
901 TInt status(KErrNone); |
901 TInt status(KErrNone); |
902 TMSCallServerStartParam start(iTMSServer, iCallSrvrHndl); |
902 TMSCallServerStartParam start(iTMSServer, iCallSrvrHndl); |
948 iServerThread.Close(); |
948 iServerThread.Close(); |
949 iCallSrvrHndl.Close(); |
949 iCallSrvrHndl.Close(); |
950 return status; |
950 return status; |
951 } |
951 } |
952 aHndl.ShareProtected(); |
952 aHndl.ShareProtected(); |
|
953 iStatus = KRequestPending; |
953 iServerThread.Logon(iStatus); |
954 iServerThread.Logon(iStatus); |
954 SetActive(); |
955 SetActive(); |
955 |
956 |
956 TRACE_PRN_FN_EXT; |
957 TRACE_PRN_FN_EXT; |
957 return KErrNone; |
958 return KErrNone; |
958 } |
959 } |
959 |
960 |
960 // ----------------------------------------------------------------------------- |
961 // ----------------------------------------------------------------------------- |
961 // CStartAndMonitorTMSCallThread::RunL |
962 // TMSStartAndMonitorTMSCallThread::RunL |
962 // From CActive |
963 // From CActive |
963 // ----------------------------------------------------------------------------- |
964 // ----------------------------------------------------------------------------- |
964 // |
965 // |
965 void CStartAndMonitorTMSCallThread::RunL() |
966 void TMSStartAndMonitorTMSCallThread::RunL() |
966 { |
967 { |
967 TRACE_PRN_FN_ENT; |
968 TRACE_PRN_FN_ENT; |
968 iServerThread.Close(); |
969 iServerThread.Close(); |
969 //NOTE: This is causing a panic when closing down tms server. |
970 //NOTE: This is causing a panic when closing down TMS server. |
970 //iCallSrvrHndl.Close(); |
971 //iCallSrvrHndl.Close(); |
971 TRACE_PRN_FN_EXT; |
972 TRACE_PRN_FN_EXT; |
972 } |
973 } |
973 |
974 |
974 // ----------------------------------------------------------------------------- |
975 // ----------------------------------------------------------------------------- |
975 // CStartAndMonitorTMSCallThread::DoCancel |
976 // TMSStartAndMonitorTMSCallThread::DoCancel |
976 // From CActive |
977 // From CActive |
977 // ----------------------------------------------------------------------------- |
978 // ----------------------------------------------------------------------------- |
978 // |
979 // |
979 void CStartAndMonitorTMSCallThread::DoCancel() |
980 void TMSStartAndMonitorTMSCallThread::DoCancel() |
980 { |
981 { |
981 TRACE_PRN_FN_ENT; |
982 TRACE_PRN_FN_ENT; |
982 iServerThread.LogonCancel(iStatus); |
983 if (iServerThread.Handle()) |
|
984 { |
|
985 iServerThread.LogonCancel(iStatus); |
|
986 User::WaitForRequest(iStatus); |
|
987 } |
983 TRACE_PRN_FN_EXT; |
988 TRACE_PRN_FN_EXT; |
984 } |
989 } |
985 |
990 |
986 // ----------------------------------------------------------------------------- |
991 // ----------------------------------------------------------------------------- |
987 // TMSCallProxyLocal::Open |
992 // TMSCallProxyLocal::Open |