uiacceltk/hitchcock/ServerCore/Src/alfappsrvsessionBase.cpp
branchRCL_3
changeset 13 3a60ebea00d0
parent 12 f93c875b566e
child 17 c9d868f1e20c
equal deleted inserted replaced
12:f93c875b566e 13:3a60ebea00d0
    34 #include "alfsrvcontrolgroupsubsession.h"
    34 #include "alfsrvcontrolgroupsubsession.h"
    35 #include "alfsrvtransformationsubsession.h"
    35 #include "alfsrvtransformationsubsession.h"
    36 #include "alf/alfextensionfactory.h"
    36 #include "alf/alfextensionfactory.h"
    37 #include "alf/alfversion.h"
    37 #include "alf/alfversion.h"
    38 #include "alfsrvsettingshandler.h"
    38 #include "alfsrvsettingshandler.h"
       
    39 #include "alfstreamerconsts.h"
       
    40 #include "alfdecoderserverclient.h"
    39 
    41 
    40 const TUint KAlfMaxCpuUsageDuringPointerEvent = 35; // Percentage
    42 const TUint KAlfMaxCpuUsageDuringPointerEvent = 35; // Percentage
    41 
    43 
    42 struct TAlfHandleAndImplUid
    44 struct TAlfHandleAndImplUid
    43     {
    45     {
   104     TAlfPtrEventState iPtrEventState;
   106     TAlfPtrEventState iPtrEventState;
   105     RMessagePtr2 iPointerEvent;
   107     RMessagePtr2 iPointerEvent;
   106     RMessagePtr2 iSystemEvent;
   108     RMessagePtr2 iSystemEvent;
   107     TInt iParentId;
   109     TInt iParentId;
   108     TBool iActive;
   110     TBool iActive;
       
   111     TUint iSecureId;
   109     }; 
   112     }; 
   110 
   113 
   111 // ======== MEMBER FUNCTIONS ========
   114 // ======== MEMBER FUNCTIONS ========
   112 
   115 
   113 // ---------------------------------------------------------------------------
   116 // ---------------------------------------------------------------------------
   127 // ---------------------------------------------------------------------------
   130 // ---------------------------------------------------------------------------
   128 // Destructor
   131 // Destructor
   129 // ---------------------------------------------------------------------------
   132 // ---------------------------------------------------------------------------
   130 //
   133 //
   131 EXPORT_C CAlfAppSrvSessionBase::~CAlfAppSrvSessionBase()
   134 EXPORT_C CAlfAppSrvSessionBase::~CAlfAppSrvSessionBase()
   132     { 
   135     {
       
   136         
   133     iHost->HandleClientExit(reinterpret_cast<TInt>(this));
   137     iHost->HandleClientExit(reinterpret_cast<TInt>(this));
   134     
   138     
   135     if ( iData )
   139     if ( iData )
   136         {
   140         {
       
   141         if (AlfAppUi()->BridgerClient())
       
   142             {
       
   143             AlfAppUi()->BridgerClient()->SendBlind(EAlfExcludeFromGoomTargets, TIpcArgs(iData->iSecureId,iData->iClientWindowGroupId));
       
   144             }
       
   145             
   137         iData->iHandles.Close();
   146         iData->iHandles.Close();
   138         delete iData->iObjectIx;
   147         delete iData->iObjectIx;
   139     
   148     
   140         // there shouldn't be orphean messages unless client app has been abnormally terminated...
   149         // there shouldn't be orphean messages unless client app has been abnormally terminated...
   141         while( iData->iMessages.Count() )
   150         while( iData->iMessages.Count() )
   206 // Called when client requests a service.
   215 // Called when client requests a service.
   207 // ---------------------------------------------------------------------------
   216 // ---------------------------------------------------------------------------
   208 //
   217 //
   209 EXPORT_C void CAlfAppSrvSessionBase::ServiceL(const RMessage2& aMessage)
   218 EXPORT_C void CAlfAppSrvSessionBase::ServiceL(const RMessage2& aMessage)
   210     {
   219     {
       
   220     iData->iSecureId = aMessage.SecureId(); // one time would be enough    
   211     if(iHost->MetricsInterface())
   221     if(iHost->MetricsInterface())
   212         {
   222         {
   213         iHost->MetricsInterface()->EnterClientMessageL(reinterpret_cast<TInt>(this), aMessage);
   223         iHost->MetricsInterface()->EnterClientMessageL(reinterpret_cast<TInt>(this), aMessage);
   214         if (aMessage.IsNull())
   224         if (aMessage.IsNull())
   215             { // metrics interface completed the message, just abort handling of message 
   225             { // metrics interface completed the message, just abort handling of message 
   394 // 
   404 // 
   395 EXPORT_C void CAlfAppSrvSessionBase::SetClientWindowGroupId(TInt aId)
   405 EXPORT_C void CAlfAppSrvSessionBase::SetClientWindowGroupId(TInt aId)
   396     {
   406     {
   397     __ASSERT_DEBUG(iData, USER_INVARIANT());
   407     __ASSERT_DEBUG(iData, USER_INVARIANT());
   398     iData->iClientWindowGroupId = aId;
   408     iData->iClientWindowGroupId = aId;
       
   409     if (AlfAppUi()->BridgerClient())
       
   410         {
       
   411         AlfAppUi()->BridgerClient()->SendBlind(EAlfVolunteerForGoomTarget, TIpcArgs(iData->iSecureId, iData->iClientWindowGroupId));
       
   412         }
   399     }
   413     }
   400 
   414 
   401 // ---------------------------------------------------------------------------
   415 // ---------------------------------------------------------------------------
   402 // 
   416 // 
   403 // ---------------------------------------------------------------------------
   417 // ---------------------------------------------------------------------------