kerneltest/e32test/usb/t_usb_device/src/transfersrv.cpp
changeset 253 d37db4dcc88d
parent 189 a5496987b1da
equal deleted inserted replaced
252:0a40b8675b23 253:d37db4dcc88d
    22 
    22 
    23 #include <e32base.h>
    23 #include <e32base.h>
    24 #include <e32test.h>
    24 #include <e32test.h>
    25 #include <usb.h>
    25 #include <usb.h>
    26 #include "transfersrv.h"
    26 #include "transfersrv.h"
       
    27 #include "OstTraceDefinitions.h"
       
    28 #ifdef OST_TRACE_COMPILER_IN_USE
       
    29 #include "transfersrvTraces.h"
       
    30 #endif
    27 
    31 
    28 _LIT(KUsbmanImg, "z:\\system\\programs\\t_usb_transfersrv.exe");
    32 _LIT(KUsbmanImg, "z:\\system\\programs\\t_usb_transfersrv.exe");
    29 
    33 
    30 
    34 
    31 static TInt StartServer()
    35 static TInt StartServer()
    32 //
    36 //
    33 // Start the server process or thread
    37 // Start the server process or thread
    34 //
    38 //
    35 	{
    39 	{
    36 	const TUidType serverUid(KNullUid, KNullUid, KTransferSvrUid);
    40 	const TUidType serverUid(KNullUid, KNullUid, KTransferSvrUid);
    37 	RDebug::Printf("StartServer1");
    41 	OstTrace0(TRACE_NORMAL, STARTSERVER_STARTSERVER, "StartServer1");
    38 
    42 
    39 	RProcess server;
    43 	RProcess server;
    40 	TInt err = server.Create(KUsbmanImg, KNullDesC, serverUid);
    44 	TInt err = server.Create(KUsbmanImg, KNullDesC, serverUid);
    41 	RDebug::Printf("StartServer2 %d", err);
    45 	OstTrace1(TRACE_NORMAL, STARTSERVER_STARTSERVER_DUP01, "StartServer2 %d", err);
    42 	
    46 	
    43 	if (err != KErrNone)
    47 	if (err != KErrNone)
    44 		{
    48 		{
    45 		return err;
    49 		return err;
    46 		}
    50 		}
    47 	RDebug::Printf("StartServer3");
    51 	OstTrace0(TRACE_NORMAL, STARTSERVER_STARTSERVER_DUP02, "StartServer3");
    48 
    52 
    49 	TRequestStatus stat;
    53 	TRequestStatus stat;
    50 	server.Rendezvous(stat);
    54 	server.Rendezvous(stat);
    51 	
    55 	
    52 	if (stat!=KRequestPending)
    56 	if (stat!=KRequestPending)
    53 		server.Kill(0);		// abort startup
    57 		server.Kill(0);		// abort startup
    54 	else
    58 	else
    55 		server.Resume();	// logon OK - start the server
    59 		server.Resume();	// logon OK - start the server
    56 	RDebug::Printf("StartServer4");
    60 	OstTrace0(TRACE_NORMAL, STARTSERVER_STARTSERVER_DUP03, "StartServer4");
    57 
    61 
    58 	User::WaitForRequest(stat);		// wait for start or death
    62 	User::WaitForRequest(stat);		// wait for start or death
    59 
    63 
    60 	// we can't use the 'exit reason' if the server panicked as this
    64 	// we can't use the 'exit reason' if the server panicked as this
    61 	// is the panic 'reason' and may be '0' which cannot be distinguished
    65 	// is the panic 'reason' and may be '0' which cannot be distinguished
    62 	// from KErrNone
    66 	// from KErrNone
    63 	err = (server.ExitType() == EExitPanic) ? KErrServerTerminated : stat.Int();
    67 	err = (server.ExitType() == EExitPanic) ? KErrServerTerminated : stat.Int();
    64 	RDebug::Printf("StartServer5");
    68 	OstTrace0(TRACE_NORMAL, STARTSERVER_STARTSERVER_DUP04, "StartServer5");
    65 
    69 
    66 	//server.Close();
    70 	//server.Close();
    67 	
    71 	
    68 	RDebug::Printf("transfer server started successfully: \n");
    72 	OstTrace0(TRACE_NORMAL, STARTSERVER_STARTSERVER_DUP05, "transfer server started successfully: \n");
    69 
    73 
    70 	return err;
    74 	return err;
    71 	}
    75 	}
    72 
    76 
    73 
    77 
    92 
    96 
    93 EXPORT_C TInt RTransferSrv::Connect()
    97 EXPORT_C TInt RTransferSrv::Connect()
    94     {
    98     {
    95 	TInt retry = 2;
    99 	TInt retry = 2;
    96 	
   100 	
    97 	RDebug::Printf("Connect1");
   101 	OstTrace0(TRACE_NORMAL, RTRANSFERSRV_CONNECT, "Connect1");
    98 	FOREVER
   102 	FOREVER
    99 		{
   103 		{
   100 		TInt err = CreateSession(KTransferServerName, Version(), 10);
   104 		TInt err = CreateSession(KTransferServerName, Version(), 10);
   101 		RDebug::Printf("Connect2");
   105 		OstTrace0(TRACE_NORMAL, RTRANSFERSRV_CONNECT_DUP01, "Connect2");
   102 
   106 
   103 		if ((err != KErrNotFound) && (err != KErrServerTerminated))
   107 		if ((err != KErrNotFound) && (err != KErrServerTerminated))
   104 			{
   108 			{
   105 			return err;
   109 			return err;
   106 			}
   110 			}
   107 		RDebug::Printf("Connect3");
   111 		OstTrace0(TRACE_NORMAL, RTRANSFERSRV_CONNECT_DUP02, "Connect3");
   108 
   112 
   109 		if (--retry == 0)
   113 		if (--retry == 0)
   110 			{
   114 			{
   111 			return err;
   115 			return err;
   112 			}
   116 			}
   113 		RDebug::Printf("Connect4");
   117 		OstTrace0(TRACE_NORMAL, RTRANSFERSRV_CONNECT_DUP03, "Connect4");
   114 
   118 
   115 		err = StartServer();
   119 		err = StartServer();
   116 
   120 
   117 		if ((err != KErrNone) && (err != KErrAlreadyExists))
   121 		if ((err != KErrNone) && (err != KErrAlreadyExists))
   118 			{
   122 			{
   119 			return err;
   123 			return err;
   120 			}
   124 			}
   121 		
   125 		
   122 		RDebug::Printf("Connect5");
   126 		OstTrace0(TRACE_NORMAL, RTRANSFERSRV_CONNECT_DUP04, "Connect5");
   123 		}
   127 		}
   124     }
   128     }
   125 
   129 
   126 EXPORT_C TInt RTransferSrv::SetConfigFileName(TDes& aString)
   130 EXPORT_C TInt RTransferSrv::SetConfigFileName(TDes& aString)
   127 	{
   131 	{
   128 	
   132 	
   129 	RDebug::Printf("SetConfigFileName");
   133 	OstTrace0(TRACE_NORMAL, RTRANSFERSRV_SETCONFIGFILENAME, "SetConfigFileName");
   130 	return SendReceive(ESetConfigFileName, TIpcArgs(&aString));
   134 	return SendReceive(ESetConfigFileName, TIpcArgs(&aString));
   131 	}
   135 	}
   132 
   136