textinput/peninputarc/src/peninputclient/penclientimpl.cpp
branchRCL_3
changeset 12 5e18d8c489d6
parent 11 c8fb4cf7b3ae
child 13 1bbdde98cc2d
equal deleted inserted replaced
11:c8fb4cf7b3ae 12:5e18d8c489d6
    75     {
    75     {
    76     return  AppUidFromWndGroupId(CCoeEnv::Static()->RootWin().Identifier());
    76     return  AppUidFromWndGroupId(CCoeEnv::Static()->RootWin().Identifier());
    77     }
    77     }
    78     
    78     
    79     
    79     
    80    
       
    81 CPeninputServerWaiter* CPeninputServerWaiter::NewL()
       
    82     {
       
    83     CPeninputServerWaiter* self = new(ELeave)CPeninputServerWaiter;
       
    84     CleanupStack::PushL(self);
       
    85     self->ConstructL();
       
    86     CleanupStack::Pop(self);
       
    87     return self;
       
    88     }
       
    89 void CPeninputServerWaiter::ConstructL()    
       
    90     {
       
    91     iWaitScheduler = new(ELeave) CActiveSchedulerWait;
       
    92     }
       
    93     
       
    94 CPeninputServerWaiter::~CPeninputServerWaiter()
       
    95     {
       
    96     delete iWaitScheduler;
       
    97     }
       
    98     
       
    99 void CPeninputServerWaiter::Start()
       
   100     {
       
   101     iWaitScheduler->Start();
       
   102     }
       
   103     
       
   104 void CPeninputServerWaiter::Stop(TInt aFlag)
       
   105     {
       
   106     //if(aFlag)
       
   107     iError = aFlag ? KErrNone : aFlag;
       
   108     
       
   109     iWaitScheduler->AsyncStop();
       
   110     }
       
   111     
       
   112     
       
   113     
       
   114 // ======== MEMBER FUNCTIONS ========
    80 // ======== MEMBER FUNCTIONS ========
   115 
    81 
   116 // ---------------------------------------------------------------------------
    82 // ---------------------------------------------------------------------------
   117 // RPeninputServerImpl::NewL
    83 // RPeninputServerImpl::NewL
   118 // ---------------------------------------------------------------------------
    84 // ---------------------------------------------------------------------------
   150     iObserver = 0;
   116     iObserver = 0;
   151     iIsForegroundSession = EFalse;
   117     iIsForegroundSession = EFalse;
   152     iServerExit = EFalse;
   118     iServerExit = EFalse;
   153     iLaunchServer = EFalse;
   119     iLaunchServer = EFalse;
   154     iCurPenUiType = -1; 
   120     iCurPenUiType = -1; 
   155     iWaitScheduler = NULL; 
       
   156     iAppPrefferedUiMode = EPluginInputModeNone;
   121     iAppPrefferedUiMode = EPluginInputModeNone;
   157     iAutoOpenFlag = ETrue;
   122     iAutoOpenFlag = ETrue;
   158     iBackgroundCtrl = 0;
   123     iBackgroundCtrl = 0;
   159     iResourceChange = EFalse;  
   124     iResourceChange = EFalse;  
   160     iWaiterAo = NULL;
   125     iWaiterAo = NULL;
  1008     arg.Set(KMsgSlot0,&msg);         
   973     arg.Set(KMsgSlot0,&msg);         
  1009     
   974     
  1010     iSingletonServer->SendReceive(EPeninputRequestAddUiObserver,arg);        
   975     iSingletonServer->SendReceive(EPeninputRequestAddUiObserver,arg);        
  1011     
   976     
  1012     }
   977     }
  1013   */  
   978   */
       
   979 /*
  1014 void RPeninputServerImpl::OnServerReady( TBool aFlag)    
   980 void RPeninputServerImpl::OnServerReady( TBool aFlag)    
  1015     {
   981    {
  1016     //iLaunchServer = EFalse;
   982     //iLaunchServer = EFalse;
  1017     
   983     
  1018     iWaitScheduler->Stop(aFlag);//AsyncStop();
       
  1019     //if(iPenUiNotificationHandler)
   984     //if(iPenUiNotificationHandler)
  1020       // DoAddPenUiActivationHandler(); 
   985       // DoAddPenUiActivationHandler(); 
  1021     }
   986     }*/
  1022 // ---------------------------------------------------------------------------
   987 // ---------------------------------------------------------------------------
  1023 // RPeninputServerImpl::AddPenUiActivationHandler
   988 // RPeninputServerImpl::AddPenUiActivationHandler
  1024 // Add an UI activate/deactivation handler
   989 // Add an UI activate/deactivation handler
  1025 // ---------------------------------------------------------------------------
   990 // ---------------------------------------------------------------------------
  1026 //
   991 //
  1095 
  1060 
  1096 void RPeninputServerImpl::FinalClose()
  1061 void RPeninputServerImpl::FinalClose()
  1097     {
  1062     {
  1098     delete iBackgroundCtrl;  
  1063     delete iBackgroundCtrl;  
  1099       
  1064       
  1100     delete iWaitScheduler;
       
  1101     iWaitScheduler = 0;
       
  1102     iPenUiNotificationHandler.Close();
  1065     iPenUiNotificationHandler.Close();
  1103     delete iObserver;
  1066     delete iObserver;
  1104     iObserver = NULL;
  1067     iObserver = NULL;
  1105     
  1068     
  1106     if ( iWaiterAo )
  1069     if ( iWaiterAo )
  1297         TInt exitReason = 0;
  1260         TInt exitReason = 0;
  1298         if(err == KErrNone) //thread is just closed
  1261         if(err == KErrNone) //thread is just closed
  1299             {
  1262             {
  1300             exitReason = srvThread.ExitReason();        
  1263             exitReason = srvThread.ExitReason();        
  1301             srvThread.Close();
  1264             srvThread.Close();
  1302             iPeninputServer->OnServerReady(-1000);
  1265             //iPeninputServer->OnServerReady(-1000);
  1303             }
  1266             }
  1304         if(err != KErrNone || exitReason != 0) //server has exited
  1267         if(err != KErrNone || exitReason != 0) //server has exited
  1305             {
  1268             {
  1306             iServerExit  = ETrue;
  1269             iServerExit  = ETrue;
  1307             iPeninputServer->HandleServerExit();             
  1270             iPeninputServer->HandleServerExit();             
  1310             }
  1273             }
  1311         }
  1274         }
  1312 
  1275 
  1313     if(iStatus.Int() == ESignalServerReady) //server has started
  1276     if(iStatus.Int() == ESignalServerReady) //server has started
  1314         {
  1277         {
  1315         iPeninputServer->OnServerReady();
  1278         //iPeninputServer->OnServerReady();
  1316         return;
  1279         return;
  1317         }
  1280         }
  1318     //if there is also iUiActivationHandler, handle it first
  1281     //if there is also iUiActivationHandler, handle it first
  1319     if(iUiActivationHandler)
  1282     if(iUiActivationHandler)
  1320     	ret = iUiActivationHandler->HandleServerEventL(iStatus.Int());
  1283     	ret = iUiActivationHandler->HandleServerEventL(iStatus.Int());