harvester/blacklistclient/src/blacklistclient.cpp
branchRCL_3
changeset 8 50de4d668bb6
parent 7 3cebc1a84278
child 9 82c0024438c8
equal deleted inserted replaced
7:3cebc1a84278 8:50de4d668bb6
    53 //
    53 //
    54 EXPORT_C TInt RBlacklistClient::Connect()
    54 EXPORT_C TInt RBlacklistClient::Connect()
    55     {
    55     {
    56     WRITELOG( "RBlacklistClient::Connect - begin" );
    56     WRITELOG( "RBlacklistClient::Connect - begin" );
    57 
    57 
    58     TInt retryCount = 2;
       
    59     TInt error = KErrNone;
       
    60     
       
    61     iSessionOk = EFalse;
    58     iSessionOk = EFalse;
    62     
    59       
    63     while ( retryCount )
    60     TInt error = StartServer();
    64         {
    61 
    65         // try create session, if ok, then break out and return KErrNone
    62     if ( error == KErrNone || error == KErrAlreadyExists )
       
    63         {
       
    64         WRITELOG( "RBlacklistClient::Connect() - creating session" );
    66         error = CreateSession( KBlacklistServerName, Version() );
    65         error = CreateSession( KBlacklistServerName, Version() );
    67         if( error != KErrNotFound && error != KErrServerTerminated )
    66         }
    68             {
    67     
    69             iSessionOk = ETrue;
    68     if( error == KErrNone )
    70             break;
    69         {
    71             }
    70         iSessionOk = ETrue;
    72         
       
    73         // Cannot create session, start server
       
    74         error = StartServer();
       
    75         
       
    76         if ( error != KErrNone && error != KErrAlreadyExists )
       
    77             {
       
    78             break;
       
    79             }
       
    80        
       
    81         --retryCount;
       
    82         }
    71         }
    83     
    72     
    84     WRITELOG( "RBlacklistClient::Connect - end" );
    73     WRITELOG( "RBlacklistClient::Connect - end" );
    85 
    74 
    86     return error;
    75     return error;
   103 // RBlacklistClient::StartServer()
    92 // RBlacklistClient::StartServer()
   104 // ---------------------------------------------------------------------------
    93 // ---------------------------------------------------------------------------
   105 //
    94 //
   106 TInt RBlacklistClient::StartServer()
    95 TInt RBlacklistClient::StartServer()
   107     {
    96     {
   108     WRITELOG( "RBlacklistClient::CustomSecurityCheckL - begin" );
    97     WRITELOG( "RBlacklistClient::StartServer - begin" );
   109 
    98     
   110     const TUidType serverUid = ( KNullUid, KNullUid, KUidKBlacklistServer );
       
   111 
       
   112     RProcess server;
    99     RProcess server;
   113     TInt error = server.Create( KBlacklistServerExe, KNullDesC );
   100     TInt error = server.Create( KBlacklistServerExe, KNullDesC );
   114     if( error != KErrNone )
   101     if( error != KErrNone )
   115         {
   102         {
   116         return error;
   103         return error;
   130 
   117 
   131     User::WaitForRequest( status );
   118     User::WaitForRequest( status );
   132     error = server.ExitType() == EExitPanic ? KErrGeneral : status.Int();
   119     error = server.ExitType() == EExitPanic ? KErrGeneral : status.Int();
   133     server.Close();
   120     server.Close();
   134 
   121 
   135     WRITELOG( "RBlacklistClient::Version - end" );
   122     WRITELOG( "RBlacklistClient::StartServer - end" );
   136 
   123 
   137     return error;
   124     return error;
   138     }
   125     }
   139 
   126 
   140 // ---------------------------------------------------------------------------
   127 // ---------------------------------------------------------------------------