phoneapp/phoneuiqtviewadapter/tsrc/ut_phoneuiqtviewadapter/cphonemediatorsender_stub.cpp
changeset 21 92ab7f8d0eab
child 22 6bb1b21d2484
equal deleted inserted replaced
4:c84cf270c54f 21:92ab7f8d0eab
       
     1 /*
       
     2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: Implementation of CPhoneMediatorSender class.
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 // INCLUDE FILES
       
    20 #include <MediatorDomainUIDs.h>
       
    21 #include "PhoneUI.hrh"
       
    22 #include "CPhoneMediatorSender.h"
       
    23 #include "PhoneLogger.h"
       
    24 #include "PhoneConstants.h"
       
    25 #include "PhoneMediatorPackageTypes.h"
       
    26 // <-- QT PHONE START --> 
       
    27 //#include "MPhoneCoverUiObserver.h"
       
    28 // <-- QT PHONE END --> 
       
    29 #include "phoneui.pan"
       
    30 #include "tphonecmdparamcallheaderdata.h"
       
    31 #include "tphonecmdparamboolean.h"
       
    32 //#include "mphoneenginemessagesender.h"
       
    33 #include "pevirtualengine.h"
       
    34 #include "mphoneshutdowncommand.h"
       
    35 
       
    36 // ================= MEMBER FUNCTIONS =======================
       
    37 
       
    38 // ---------------------------------------------------------
       
    39 // CPhoneMediatorSender::Instance
       
    40 // Initializes the singleton object
       
    41 // (other items were commented in a header).
       
    42 // ---------------------------------------------------------
       
    43 //
       
    44 EXPORT_C CPhoneMediatorSender* CPhoneMediatorSender::Instance()
       
    45     {
       
    46     CPhoneMediatorSender* instance = static_cast<CPhoneMediatorSender*> 
       
    47         ( CCoeEnv::Static ( KUidMediatorSenderSingleton ) );
       
    48     
       
    49     if ( !instance )
       
    50         {
       
    51         TRAPD( err, instance = CPhoneMediatorSender::NewL() );
       
    52         if ( err )
       
    53 	        {
       
    54 	        Panic( EPhoneMediatorCenterCouldNotCreateSingleton );	
       
    55 	        }
       
    56         }
       
    57     return instance;
       
    58     }
       
    59 
       
    60 // -----------------------------------------------------------------------------
       
    61 // CPhoneMediatorSender::CPhoneMediatorSender
       
    62 // C++ default constructor can NOT contain any code, that
       
    63 // might leave.
       
    64 // -----------------------------------------------------------------------------
       
    65 //
       
    66 CPhoneMediatorSender::CPhoneMediatorSender() :
       
    67     CCoeStatic( KUidMediatorSenderSingleton )
       
    68     {
       
    69     }
       
    70 
       
    71 // Destructor
       
    72 CPhoneMediatorSender::~CPhoneMediatorSender()
       
    73     {
       
    74     delete iCommandInitiator;
       
    75     iEvents.Close();
       
    76     iGenericEvents.Close(); 
       
    77     delete iEventSender;
       
    78     }
       
    79 
       
    80 // -----------------------------------------------------------------------------
       
    81 // CPhoneMediatorSender::ConstructL
       
    82 // Symbian 2nd phase constructor can leave.
       
    83 // -----------------------------------------------------------------------------
       
    84 //
       
    85 void CPhoneMediatorSender::ConstructL()
       
    86     {
       
    87     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::ConstructL( ) ");
       
    88    
       
    89     }
       
    90 
       
    91 // -----------------------------------------------------------
       
    92 // CPhoneMediatorSender::NewL()
       
    93 // Constructor
       
    94 // (other items were commented in a header).
       
    95 // -----------------------------------------------------------
       
    96 //
       
    97 CPhoneMediatorSender* CPhoneMediatorSender::NewL()
       
    98     {
       
    99     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::NewL( ) ");
       
   100     
       
   101     CPhoneMediatorSender* self = new ( ELeave ) CPhoneMediatorSender;
       
   102     CleanupStack::PushL( self );
       
   103     self->ConstructL();
       
   104     CleanupStack::Pop( self );
       
   105 
       
   106     return self;
       
   107     }
       
   108 
       
   109 // -----------------------------------------------------------------------------
       
   110 // CPhoneMediatorSender::RegisterGenericEvents
       
   111 // -----------------------------------------------------------------------------
       
   112 //
       
   113 void CPhoneMediatorSender::RegisterGenericEvents()
       
   114 	{
       
   115     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::RegisterGenericEvents( ) ");
       
   116 
       
   117 	}
       
   118 
       
   119 // -----------------------------------------------------------------------------
       
   120 // CPhoneMediatorSender::SendEvent
       
   121 // -----------------------------------------------------------------------------
       
   122 //
       
   123 EXPORT_C void CPhoneMediatorSender::SendEvent( 
       
   124     const TPhoneViewCommandId /*aCommandId*/ ) const
       
   125     {
       
   126     // No one yet intereseted this event.
       
   127     }
       
   128 
       
   129 // -----------------------------------------------------------------------------
       
   130 // CPhoneMediatorSender::SendEvent
       
   131 // -----------------------------------------------------------------------------
       
   132 //
       
   133 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
       
   134 	const TInt aCallId ) const
       
   135 	{
       
   136 
       
   137 	}
       
   138 
       
   139 // -----------------------------------------------------------------------------
       
   140 // CPhoneMediatorSender::SendEvent
       
   141 // -----------------------------------------------------------------------------
       
   142 //
       
   143 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
       
   144 	TPhoneCommandParam& aCommandParam )
       
   145 	{
       
   146 
       
   147 	}
       
   148 
       
   149 // -----------------------------------------------------------------------------
       
   150 // CPhoneMediatorSender::SendEvent
       
   151 // -----------------------------------------------------------------------------
       
   152 //
       
   153 EXPORT_C void CPhoneMediatorSender::SendEvent( const TPhoneViewCommandId aCommandId, 
       
   154  	const TInt aCallId, TPhoneCommandParam& aCommandParam ) const
       
   155 	{
       
   156 	
       
   157 	}
       
   158 
       
   159 // -----------------------------------------------------------------------------
       
   160 // CPhoneMediatorSender::SendEvent
       
   161 // -----------------------------------------------------------------------------
       
   162 //
       
   163 EXPORT_C void CPhoneMediatorSender::SendEvent( 
       
   164     const TPhoneViewCommandId /*aCommandId*/, 
       
   165     const TInt /*aCallId*/, const TDesC* /*aMessage*/ ) const
       
   166     {
       
   167     // No one interested yet from these events.
       
   168     }
       
   169 
       
   170 // -----------------------------------------------------------------------------
       
   171 // CPhoneMediatorSender::IssueCommand
       
   172 // -----------------------------------------------------------------------------
       
   173 //
       
   174 EXPORT_C TInt CPhoneMediatorSender::IssueCommand( const TUid aDomain, const TUid aCategory, 
       
   175     const TInt aCommandId, const TVersion aVersion, const TDesC8& aData, 
       
   176     MPhoneShutdownCommand* aShutdownCommand  )
       
   177     {
       
   178 	return KErrNone;	
       
   179 	}
       
   180 
       
   181 // -----------------------------------------------------------------------------
       
   182 // CPhoneMediatorSender::CommandResponseL
       
   183 // -----------------------------------------------------------------------------
       
   184 //
       
   185 void CPhoneMediatorSender::CommandResponseL( TUid aDomain, TUid aCategory, 
       
   186 	TInt aCommandId, TInt /*aStatus*/, const TDesC8& /*aData*/ )
       
   187 	{
       
   188     // First check for buffered command
       
   189 	if( iCommandBuffer.iCommandId != KErrNotFound )
       
   190 		{
       
   191 		// We have a buffered command waiting
       
   192         __PHONELOG( EBasic, EPhoneMediatorCenter, 
       
   193             "CPhoneMediatorSender::VideoTelephonyCommandResponse - Buffered Command waiting" );
       
   194 		if( iCommandBuffer.iCommandId != aCommandId )
       
   195 			{
       
   196 			// And it's not identical to the command which response we now received
       
   197 			// so it's necessary to re-send it
       
   198 	        __PHONELOG1( EBasic, EPhoneMediatorCenter, 
       
   199 	            "CPhoneMediatorSender::VideoTelephonyCommandResponse - Resending command %d", iCommandBuffer.iCommandId );
       
   200 			IssueCommand( iCommandBuffer.iDomainUid,
       
   201 			              iCommandBuffer.iCategoryUid, 
       
   202 			              iCommandBuffer.iCommandId,
       
   203                           iCommandBuffer.iVersion,
       
   204                           KNullDesC8 );
       
   205                           
       
   206 			ResetCommandBuffer();
       
   207 			}
       
   208 		}
       
   209 
       
   210 	}
       
   211 
       
   212 // -----------------------------------------------------------------------------
       
   213 // CPhoneMediatorSender::VideoTelephonyCommandResponse
       
   214 // -----------------------------------------------------------------------------
       
   215 //
       
   216 void CPhoneMediatorSender::VideoTelephonyCommandResponse( TInt aCommandId )
       
   217     {
       
   218  
       
   219     }
       
   220 
       
   221 // -----------------------------------------------------------------------------
       
   222 // CPhoneMediatorSender::MapCallState
       
   223 // -----------------------------------------------------------------------------
       
   224 //
       
   225 TCallState CPhoneMediatorSender::MapCallState( const TInt aCallState ) const
       
   226     {
       
   227     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::MapCallState( ) ");
       
   228     TCallState callState( ECallStateUnknown );
       
   229     
       
   230     switch( aCallState )
       
   231         {
       
   232         case EPEStateUnknown:
       
   233             callState = ECallStateUnknown;
       
   234             break;
       
   235             
       
   236         case EPEStateIdle:
       
   237             callState = ECallStateIdle;
       
   238             break;
       
   239             
       
   240         case EPEStateDialing:
       
   241             callState = ECallStateDialling;
       
   242             break;
       
   243             
       
   244         case EPEStateEmergencyDialing:
       
   245             callState = ECallStateEmergencyDialling;
       
   246             break;
       
   247             
       
   248         case EPEStateRinging:
       
   249             callState = ECallStateRinging;
       
   250             break;
       
   251             
       
   252         case EPEStateConnecting:
       
   253             callState = ECallStateConnecting;
       
   254             break;
       
   255             
       
   256         case EPEStateConnected:
       
   257             callState = ECallStateConnected;
       
   258             break;
       
   259             
       
   260         case EPEStateHangingUp:
       
   261             callState = ECallStateHangingUp;
       
   262             break;
       
   263             
       
   264         case EPEStateHeld:
       
   265             callState = ECallStateHeld;
       
   266             break;
       
   267             
       
   268         case EPEStateAnswering:
       
   269             callState = ECallStateAnswering;
       
   270             break;
       
   271             
       
   272         case EPEStateRejecting:
       
   273             callState = ECallStateRejecting;
       
   274             break;
       
   275             
       
   276         case EPEStateDisconnecting:
       
   277             callState = ECallStateDisconnecting;
       
   278             break;
       
   279             
       
   280         default:
       
   281             break;
       
   282         }
       
   283         
       
   284     return callState;
       
   285     }
       
   286 
       
   287 // -----------------------------------------------------------------------------
       
   288 // CPhoneMediatorSender::MapCallType
       
   289 // -----------------------------------------------------------------------------
       
   290 //
       
   291 TCallType CPhoneMediatorSender::MapCallType( const TInt aCallType ) const
       
   292     {
       
   293     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::MapCallType( ) ");
       
   294     TCallType callType( ECallTypeUninitialized );
       
   295     
       
   296     switch( aCallType )
       
   297         {
       
   298         case EPECallTypeUninitialized:
       
   299             callType = ECallTypeUninitialized;
       
   300             break;
       
   301             
       
   302         case EPECallTypeCSVoice:
       
   303             callType = ECallTypeCSVoice;
       
   304             break;
       
   305             
       
   306         case EPECallTypeVideo:
       
   307             callType = ECallTypeVideo;
       
   308             break;
       
   309             
       
   310         case EPECallTypeVoIP:
       
   311             callType = ECallTypeVoIP;
       
   312             break;
       
   313             
       
   314         default:
       
   315             break;
       
   316         }
       
   317         
       
   318     return callType;
       
   319     }
       
   320 
       
   321 // -----------------------------------------------------------------------------
       
   322 // CPhoneMediatorSender::ResetCommandBuffer
       
   323 // -----------------------------------------------------------------------------
       
   324 //
       
   325 void CPhoneMediatorSender::ResetCommandBuffer()
       
   326     {
       
   327     __LOGMETHODSTARTEND( EPhoneMediatorCenter, "CPhoneMediatorSender::ResetCommandBuffer( ) ");
       
   328     TUid nullUid = TUid::Null();
       
   329     iCommandBuffer.iCommandId = KErrNotFound;
       
   330     iCommandBuffer.iDomainUid = nullUid;
       
   331     iCommandBuffer.iCategoryUid = nullUid;
       
   332     iCommandBuffer.iVersion = TVersion( KErrNotFound, KErrNotFound, KErrNotFound );
       
   333     }
       
   334 
       
   335 // End of File