textinput/peninputarc/src/peninputclient/penclientimpl.cpp
branchRCL_3
changeset 3 f5a1e66df979
parent 0 eb1f2e154e89
child 5 a47de9135b21
equal deleted inserted replaced
0:eb1f2e154e89 3:f5a1e66df979
   121     CPenInputSingletonClient* client = 
   121     CPenInputSingletonClient* client = 
   122                                 static_cast<CPenInputSingletonClient*>(obj);
   122                                 static_cast<CPenInputSingletonClient*>(obj);
   123     if(client && client->IsValid())
   123     if(client && client->IsValid())
   124         {
   124         {
   125         RPeninputServerImpl* server = client->GetSingletonServer();
   125         RPeninputServerImpl* server = client->GetSingletonServer();
   126         TInt err = server->ServerReady() ? KErrNone : KErrLaunchingServer;  
   126         TInt err = server->ServerReady() ? KErrNone : KErrLaunchingServer;
   127         User::RequestComplete(aStatus,err);
   127         if ( aStatus )
       
   128             {
       
   129             User::RequestComplete( aStatus, err );
       
   130             }
   128         return server;
   131         return server;
   129         }
   132         }
   130         
   133         
   131     RPeninputServerImpl* self = new(ELeave) RPeninputServerImpl();
   134     RPeninputServerImpl* self = new(ELeave) RPeninputServerImpl();
   132     CleanupStack::PushL(self);
   135     CleanupStack::PushL(self);
   251             {
   254             {
   252             StartThreadAsyncL();  
   255             StartThreadAsyncL();  
   253             return KErrNone;
   256             return KErrNone;
   254             }
   257             }
   255         }
   258         }
   256     else //server alreay there
   259     else if ( error == KErrNone )//server alreay there
   257         {
   260         {
       
   261         iServerReady = ETrue;
       
   262         AddObserver();	
       
   263         
   258         if(aStatus)
   264         if(aStatus)
   259             OnServerStarted(KErrNone);
   265         	User::RequestComplete(iPendingRequest, error);
   260         else
       
   261             AddObserver();
       
   262         }
   266         }
   263     return error;
   267     return error;
   264     }
   268     }
   265 
   269 
   266 void RPeninputServerImpl::AddObserver()
   270 void RPeninputServerImpl::AddObserver()
  1525 void RPeninputServerImpl::OnServerStarted(TInt aErr)
  1529 void RPeninputServerImpl::OnServerStarted(TInt aErr)
  1526     {
  1530     {
  1527     if(KErrNone == aErr)
  1531     if(KErrNone == aErr)
  1528         {
  1532         {
  1529         iServerReady = ETrue;
  1533         iServerReady = ETrue;
  1530         }
  1534         
  1531     
  1535         //create session
  1532     //create session
  1536         aErr = CreateSession( KPeninputServerName,
  1533      
       
  1534      TInt error = CreateSession( KPeninputServerName,
       
  1535                            Version(),
  1537                            Version(),
  1536                            KDefaultMessageSlots,EIpcSession_Sharable);
  1538                            KDefaultMessageSlots,EIpcSession_Sharable);
  1537 
  1539 
  1538     if(KErrNone == error)
  1540 	    if(KErrNone == aErr)
  1539         AddObserver();
  1541 	    	{
  1540    
  1542 	        AddObserver();
       
  1543 	    	}
       
  1544         }
  1541     User::RequestComplete(iPendingRequest, aErr);
  1545     User::RequestComplete(iPendingRequest, aErr);
  1542     }
  1546     }
  1543 
  1547 
  1544 CWaitingServerAo::CWaitingServerAo(RPeninputServerImpl* aClient) 
  1548 CWaitingServerAo::CWaitingServerAo(RPeninputServerImpl* aClient) 
  1545                 : CActive(CActive::EPriorityStandard),
  1549                 : CActive(CActive::EPriorityStandard),