accessoryservices/accessoryremotecontrol/tsrc/remcontestcontrol/remcontestcontrolplugin/src/remconsync.cpp
author hgs
Thu, 01 Jul 2010 11:20:10 +0300
changeset 41 c87e5f80c17d
parent 0 4e1aa6a622a0
child 52 d6b9e89d80a3
permissions -rw-r--r--
201025_04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     1
/*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     2
* Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies). 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     3
* All rights reserved.
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     4
* This component and the accompanying materials are made available
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     6
* which accompanies this distribution, and is available
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     8
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
     9
* Initial Contributors:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    10
* Nokia Corporation - initial contribution.
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    11
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    12
* Contributors:
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    13
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    14
* Description:  ?Description
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    15
*
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    16
*/
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    17
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    18
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    19
// INCLUDE FILES
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    20
#include "remconcontrol.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    21
#include "remconactive.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    22
#include "siftrace.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    23
#include "remconsync.h"
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    24
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    25
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    26
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    27
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    28
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    29
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    30
//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    31
CRemConSync::CRemConSync()
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    32
    {    
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    33
     iError = KErrNone;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    34
     iEvent     = ETFRemConEvent_None;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    35
     iParameter = KErrNone;	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    36
    }
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    37
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    38
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    39
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    40
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    41
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    42
//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    43
void CRemConSync::ConstructL( CRemConInterfaceSelector* aTargetInterfaceSelector )
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    44
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    45
    iSync = CRemConSynchronizationTarget::NewL( *aTargetInterfaceSelector, *this );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    46
    iActive = CRemConActive::NewL( *this );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    47
	}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    48
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    49
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    50
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    51
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    52
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    53
//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    54
CRemConSync* CRemConSync::NewL( CRemConInterfaceSelector* aTargetInterfaceSelector )
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    55
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    56
    CRemConSync* self = new( ELeave ) CRemConSync();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    57
    CleanupStack::PushL( self );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    58
    self->ConstructL( aTargetInterfaceSelector );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    59
    CleanupStack::Pop();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    60
    return self;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    61
    }
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    62
 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    63
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    64
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    65
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    66
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    67
//
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    68
CRemConSync::~CRemConSync()
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    69
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    70
    delete iActive;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    71
    }
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    72
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    73
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    74
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    75
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    76
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    77
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    78
void CRemConSync::CompleteResponse( const TInt aError )
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    79
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    80
		if(aError != KErrNone)
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    81
	    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    82
    	COMPONENT_TRACE( ( _L( "REMCONTESTCONTROL -  CRemConSync::CompleteResponse( %d)" ), aError) );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    83
    	}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    84
    	else
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    85
    	{
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    86
    	MRemConControl* aControl = GetRemConControl();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    87
    	aControl->CompleteKeyEventResponse( iEvent, iParameter, aError );	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    88
    	}	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    89
     
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    90
     iEvent     = ETFRemConEvent_None;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    91
     iParameter = KErrNone;	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    92
	}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    93
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    94
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    95
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    96
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    97
//	
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    98
void CRemConSync::Synchronize()
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
    99
{
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   100
    iEvent = ETFRemConEvent_Sync;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   101
    iParameter = KErrNone;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   102
    MRemConControl* aControl = GetRemConControl();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   103
	aControl->NotifyKeyEvent(iEvent, iParameter);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   104
}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   105
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   106
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   107
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   108
// 
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   109
// -----------------------------------------------------------------------------
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   110
//	   
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   111
void CRemConSync::SynchronizeResponse()
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   112
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   113
		iSync->SynchronizeResponse(iActive->iStatus, iError);
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   114
		iActive->iStatus = KRequestPending;
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   115
		iActive->SetActive();
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   116
	}
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   117
   
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   118
void CRemConSync::GetCommandSourceInfo(TRemConExtCmdSource& aSource)
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   119
    {
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   120
    iSync->GetCommandSourceInfo( aSource );
c87e5f80c17d 201025_04
hgs
parents: 0
diff changeset
   121
    }