phoneclientserver/phoneserver/Src/Standard/CPhSrvSession.cpp
branchRCL_3
changeset 19 7d48bed6ce0c
parent 6 1b9ee3c7442d
child 20 987c9837762f
equal deleted inserted replaced
18:594d59766373 19:7d48bed6ce0c
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 
    19 
    20 // INCLUDE FILES
    20 // INCLUDE FILES
    21 #include "CPhSrvServer.h"
    21 #include "cphsrvserver.h" 
    22 #include "CPhSrvSession.h"
    22 #include "cphsrvsession.h" 
    23 #include "CPhSrvSubSessionBase.h"
    23 #include "cphsrvsubsessionbase.h" 
    24 #include "PhSrvSubSessionFactory.h"
    24 #include "phsrvsubsessionfactory.h" 
    25 #include "PhCltClientServer.h"
    25 #include "phcltclientserver.h" 
    26 
    26 
    27 // CONSTANTS
    27 // CONSTANTS
    28 
    28 
    29 
    29 
    30 
    30 
    58 // -----------------------------------------------------------------------------
    58 // -----------------------------------------------------------------------------
    59 // CPhSrvSession::~CPhSrvSession
    59 // CPhSrvSession::~CPhSrvSession
    60 // Destructor.
    60 // Destructor.
    61 // -----------------------------------------------------------------------------
    61 // -----------------------------------------------------------------------------
    62 //
    62 //
    63 
       
    64 CPhSrvSession::~CPhSrvSession()
    63 CPhSrvSession::~CPhSrvSession()
    65     {
    64     {
    66     if ( iServer )
    65     if ( iServer )
    67         {
    66         {
    68         iServer->CancelCreateAll( *this );
    67         iServer->CancelCreateAll( *this );
    69         }
    68         }
    70 
    69 
    71     delete iObjectIx;
    70     delete iObjectIx;
    72 
    71    
    73     if ( iContainer )
    72    if ( iContainer )
    74         {
    73         {
    75         //coverity[var_deref_model]
       
    76         iServer->RemoveContainer( iContainer );
    74         iServer->RemoveContainer( iContainer );
    77         iContainer = NULL;
    75         iContainer = NULL;
    78         }
    76         }
    79     }
    77     }
    80 
    78 
   181         CPhSrvSubSessionBase* subSession = 
   179         CPhSrvSubSessionBase* subSession = 
   182             static_cast< CPhSrvSubSessionBase* >( object );
   180             static_cast< CPhSrvSubSessionBase* >( object );
   183         
   181         
   184         if ( subSession )
   182         if ( subSession )
   185             {
   183             {
   186 	        // Check that the subsession can handle this request
   184             // Check that the subsession can handle this request
   187 	        if ( !subSession->PhSrvMessageDecoderCanProcessMessage( function ) )
   185             if ( !subSession->PhSrvMessageDecoderCanProcessMessage( function ) )
   188 	            {
   186                 {
   189 	            PanicClient(
   187                 PanicClient(
   190 	                aMessage,
   188                     aMessage,
   191 	                EPhCltServerInitiatedPanicInvalidHandle );
   189                     EPhCltServerInitiatedPanicInvalidHandle );
   192 	            }
   190                 }
   193 	        else
   191             else
   194 	            {
   192                 {
   195 	            // Get it to process this request
   193                 // Get it to process this request
   196 	            subSession->PhSrvMessageProcessorHandleMessageL( aMessage );
   194                 subSession->PhSrvMessageProcessorHandleMessageL( aMessage );
   197 	            }
   195                 }
   198             }            
   196             }            
   199         }
   197         }
   200     }
   198     }
   201 
   199 
   202 
   200