omxil/omxilcomponentcommon/src/common/omxilcallbackmanager.h
author Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
Fri, 07 May 2010 16:25:23 +0100
branchOpenMAX-IL_SHAI
changeset 16 eedf2dcd43c6
parent 15 c1e808730d6c
permissions -rw-r--r--
Implementation of OpenMAX-IL with SHAI
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     1
// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     2
// All rights reserved.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     3
// This component and the accompanying materials are made available
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     4
// under the terms of "Eclipse Public License v1.0"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     5
// which accompanies this distribution, and is available
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     7
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     8
// Initial Contributors:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
     9
// Nokia Corporation - initial contribution.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    10
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    11
// Contributors:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    12
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    13
// Description:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    14
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    15
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    16
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    17
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    18
 @file
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    19
 @internalComponent
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    20
*/
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    21
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    22
#ifndef OMXILCALLBACKMANAGER_H
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    23
#define OMXILCALLBACKMANAGER_H
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    24
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    25
#include <e32base.h>
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    26
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    27
#include "omxilcallbackmanagerif.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    28
#include "omxilcallbackmanagerifimpl.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    29
#include "primsgqueue.h"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    30
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    31
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    32
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    33
   Call Back Manager Panic category
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    34
*/
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    35
_LIT(KOmxILCallbackManagerPanicCategory, "OmxILCallbackManager");
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    36
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    37
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    38
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    39
   OpenMAX IL call backs and buffer marks manager. This is an asynchronous
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    40
   implementation of MOmxILCallbackManagerIf.  It keeps and manages the IL
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    41
   Client callback information as well as the buffer mark propagation info.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    42
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    43
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    44
NONSHARABLE_CLASS(COmxILCallbackManager) :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    45
	public CActive,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    46
	public MOmxILCallbackManagerIf,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    47
	private XOmxILCallbackManagerIfImpl
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    48
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    49
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    50
	// Declaration of nested private command classes
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    51
	class CCallbackCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    52
	class CCompHandleRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    53
	class CClientCallbacksRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    54
	class CTunnelCallbackRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    55
	class CBufferMarkPropagationRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    56
	class CBufferRemovalCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    57
	class CEventCallbackCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    58
	class CBufferDoneCallbackCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    59
	class CPortSettingsChangeCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    60
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    61
	// Note that the following friends don't break COmxILCallbackManager's
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    62
	// interface as all friends below are COmxILCallbackManager's private
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    63
	// nested classes and therefore they are logically part of
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    64
	// COmxILCallbackManager implementation
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    65
	friend class CCompHandleRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    66
	friend class CClientCallbacksRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    67
	friend class CTunnelCallbackRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    68
	friend class CBufferMarkPropagationRegistrationCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    69
	friend class CBufferRemovalCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    70
	friend class CEventCallbackCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    71
	friend class CBufferDoneCallbackCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    72
	friend class CPortSettingsChangeCommand;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    73
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    74
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    75
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    76
	IMPORT_C static COmxILCallbackManager* NewL(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    77
		OMX_HANDLETYPE apComponentHandle,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    78
		OMX_PTR apAppData,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    79
		OMX_CALLBACKTYPE* apCallbacks);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    80
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    81
	IMPORT_C ~COmxILCallbackManager();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    82
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    83
	IMPORT_C void SetPortManager(MOmxILPortManagerIf& apPortManager);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    84
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    85
	IMPORT_C void SetFsm(COmxILFsm& apFsm);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    86
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    87
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    88
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    89
	// Methods for Callback Registration (from MOmxILCallbackManagerIf)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    90
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    91
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    92
	IMPORT_C OMX_ERRORTYPE RegisterComponentHandle(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    93
		OMX_HANDLETYPE aComponentHandle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    94
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    95
	IMPORT_C OMX_ERRORTYPE RegisterILClientCallbacks(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    96
		const OMX_CALLBACKTYPE* apCallbacks,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    97
		const OMX_PTR apAppData);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    98
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
    99
	IMPORT_C OMX_ERRORTYPE RegisterTunnelCallback(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   100
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   101
		OMX_DIRTYPE aLocalPortDirection,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   102
		OMX_HANDLETYPE aTunnelledComponentHandle,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   103
		OMX_U32 aTunnelledPortIndex
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   104
		);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   105
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   106
	IMPORT_C OMX_ERRORTYPE DeregisterTunnelCallback(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   107
		OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   108
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   109
	IMPORT_C OMX_ERRORTYPE RegisterBufferMarkPropagationPort(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   110
		OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   111
		OMX_U32 aPropagationPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   112
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   113
	IMPORT_C TBool BufferRemovalIndication(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   114
		OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   115
		OMX_DIRTYPE aDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   116
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   117
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   118
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   119
	// Methods for Callback Notification (from MOmxILCallbackManagerIf)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   120
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   121
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   122
	IMPORT_C OMX_ERRORTYPE TransitionCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   123
		OMX_STATETYPE aOmxState);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   124
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   125
	IMPORT_C OMX_ERRORTYPE CommandCompleteNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   126
		OMX_COMMANDTYPE aOmxCommand,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   127
		OMX_U32 aOmxPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   128
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   129
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   130
	// Methods for Callback Notification (from MOmxILCallbackManagerIf)
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   131
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   132
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   133
	IMPORT_C OMX_ERRORTYPE ErrorEventNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   134
		OMX_ERRORTYPE aOmxError);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   135
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   136
	IMPORT_C OMX_ERRORTYPE EventNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   137
		OMX_EVENTTYPE aEvent,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   138
		TUint32 aData1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   139
		TUint32 aData2,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   140
		OMX_STRING aExtraInfo);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   141
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   142
	IMPORT_C OMX_ERRORTYPE BufferDoneNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   143
		OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   144
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   145
		OMX_DIRTYPE aLocalPortDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   146
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   147
	IMPORT_C OMX_ERRORTYPE ClockBufferDoneNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   148
		OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   149
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   150
		OMX_DIRTYPE aLocalPortDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   151
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   152
	IMPORT_C OMX_ERRORTYPE PortSettingsChangeNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   153
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   154
		TUint aPortSettingsIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   155
		const TDesC8& aPortSettings);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   156
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   157
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   158
	// From CActive
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   159
	//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   160
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   161
	void RunL();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   162
	void DoCancel();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   163
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   164
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   165
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   166
	// Convenience typedef
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   167
	typedef RPriMsgQueue<CCallbackCommand*> RCbCmdPriQue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   168
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   169
	/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   170
	   COmxILCallbackManager's priority-based command queue.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   171
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   172
	   This queue is based on RPriMsgQueue but it is specialized to support the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   173
	   search and deletion of Buffer Done Callback Commands using some specific
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   174
	   search criteria like buffer headers or port indexes.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   175
	 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   176
	class RCallbackManagerQueue : public RCbCmdPriQue
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   177
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   178
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   179
	public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   180
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   181
		TBool RemoveBufferDoneCbCommandsByBufferHeader(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   182
			COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   183
			const OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   184
			OMX_DIRTYPE aDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   185
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   186
		TBool RemoveBufferDoneCbCommandsByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   187
			COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   188
			OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   189
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   190
		TBool ExecuteBufferDoneCbCommandsByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   191
			COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   192
			OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   193
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   194
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   195
    };
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   196
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   197
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   198
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   199
	static const TInt KMaxMsgQueueEntries = 30;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   200
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   201
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   202
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   203
	COmxILCallbackManager(OMX_HANDLETYPE apComponentHandle,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   204
						  OMX_PTR apAppData,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   205
						  OMX_CALLBACKTYPE* apCallbacks);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   206
	void ConstructL();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   207
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   208
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   209
	OMX_ERRORTYPE SendBufferDoneNotification(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   210
		OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   211
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   212
		OMX_DIRTYPE aLocalPortDirection,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   213
		TInt aPriority);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   214
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   215
	void ProcessQueue(RCallbackManagerQueue& aQueue);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   216
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   217
	void CleanUpQueue(RCallbackManagerQueue& aQueue);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   218
	
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   219
	OMX_ERRORTYPE EventNotificationImpl(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   220
		OMX_EVENTTYPE aEvent,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   221
		TUint32 aData1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   222
		TUint32 aData2,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   223
		OMX_STRING aExtraInfo);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   224
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   225
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   226
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   227
	// COmxILCallbackManager priority queue.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   228
	RCallbackManagerQueue iCommandQueue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   229
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   230
	// Queue of buffer done notifications that need to be queued during
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   231
	// OMX_StatePaused state
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   232
	RCallbackManagerQueue iPendingQueue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   233
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   234
	// Flag to enable unconditional flushing of buffer done notifications
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   235
	TBool iFlushPendingQueue;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   236
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   237
	OMX_STATETYPE iCurrentState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   238
	OMX_STATETYPE iPreviousState;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   239
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   240
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   241
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   242
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   243
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   244
// COmxILCallbackManager nested classes
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   245
//
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   246
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   247
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   248
  Abstract Callback Manager's command class.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   249
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   250
class COmxILCallbackManager::CCallbackCommand : public CBase
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   251
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   252
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   253
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   254
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   255
	enum TCommandPriority
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   256
		{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   257
		EPriorityLow,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   258
		EPriorityNormal,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   259
		EPriorityHigh,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   260
		EPriorityVeryHigh
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   261
		};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   262
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   263
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   264
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   265
	inline CCallbackCommand(TInt aPriority);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   266
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   267
	/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   268
	   Operator() method that must be implemented to perform the specific
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   269
	   command logic.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   270
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   271
	   @param [in] aCbMgr The Callback Manager object used as context to the
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   272
	   command operation
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   273
	*/
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   274
	virtual void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred) = 0;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   275
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   276
	virtual TBool DoRemoveBufferDoneCbCommandByBufferHeader(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   277
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   278
		const OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   279
		OMX_DIRTYPE aDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   280
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   281
	virtual TBool DoRemoveBufferDoneCbCommandByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   282
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   283
		OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   284
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   285
	virtual TBool DoExecuteBufferDoneCbCommandByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   286
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   287
		OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   288
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   289
	inline TInt Priority();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   290
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   291
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   292
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   293
	TInt iPriority;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   294
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   295
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   296
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   297
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   298
  Callback Manager's command class for registering component handles.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   299
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   300
class COmxILCallbackManager::CCompHandleRegistrationCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   301
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   302
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   303
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   304
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   305
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   306
	inline CCompHandleRegistrationCommand(OMX_HANDLETYPE aComponentHandle);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   307
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   308
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   309
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   310
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   311
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   312
	OMX_COMPONENTTYPE* ipHandle; // Not owned
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   313
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   314
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   315
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   316
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   317
  Callback Manager's command class for registering IL Client callbacks .
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   318
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   319
class COmxILCallbackManager::CClientCallbacksRegistrationCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   320
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   321
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   322
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   323
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   324
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   325
	inline CClientCallbacksRegistrationCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   326
		const OMX_CALLBACKTYPE*& apCallbacks,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   327
		const OMX_PTR& apAppData);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   328
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   329
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   330
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   331
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   332
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   333
	const OMX_CALLBACKTYPE* ipCallbacks; // not owned
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   334
	const OMX_PTR ipAppData; // not owned
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   335
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   336
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   337
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   338
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   339
  Callback Manager's command class for registering tunnel callbacks.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   340
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   341
class COmxILCallbackManager::CTunnelCallbackRegistrationCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   342
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   343
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   344
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   345
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   346
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   347
	inline CTunnelCallbackRegistrationCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   348
		OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   349
		OMX_DIRTYPE aLocalPortDirection,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   350
		OMX_HANDLETYPE aTunnelledComponentHandle,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   351
		OMX_U32 aTunnelledPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   352
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   353
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   354
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   355
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   356
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   357
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   358
	TTunnelRegistrationInfo iTunnelInfo;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   359
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   360
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   361
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   362
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   363
  Callback Manager's command class for registering buffer marks info .
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   364
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   365
class COmxILCallbackManager::CBufferMarkPropagationRegistrationCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   366
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   367
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   368
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   369
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   370
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   371
	inline CBufferMarkPropagationRegistrationCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   372
		OMX_U32 aPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   373
		OMX_U32 aPropagationPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   374
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   375
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   376
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   377
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   378
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   379
	TBufferMarkPropagationInfo iMarkPropagationInfo;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   380
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   381
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   382
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   383
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   384
  Callback Manager's command class for buffer header removal.
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   385
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   386
class COmxILCallbackManager::CBufferRemovalCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   387
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   388
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   389
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   390
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   391
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   392
	inline CBufferRemovalCommand(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   393
		OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   394
		OMX_DIRTYPE aDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   395
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   396
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   397
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   398
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   399
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   400
	OMX_BUFFERHEADERTYPE* ipBufferHeader;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   401
	OMX_DIRTYPE iDirection;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   402
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   403
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   404
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   405
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   406
  Callback Manager's command class for notification of OpenMAX IL events .
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   407
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   408
class COmxILCallbackManager::CEventCallbackCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   409
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   410
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   411
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   412
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   413
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   414
	inline CEventCallbackCommand(OMX_EVENTTYPE aEvent,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   415
								 TUint32 aData1,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   416
								 TUint32 aData2,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   417
								 OMX_STRING aExtraInfo);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   418
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   419
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   420
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   421
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   422
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   423
	OMX_EVENTTYPE iEvent;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   424
	TUint32 iData1;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   425
	TUint32 iData2;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   426
	OMX_STRING iExtraInfo;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   427
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   428
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   429
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   430
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   431
  Callback Manager's command class for notification of buffer done events .
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   432
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   433
class COmxILCallbackManager::CBufferDoneCallbackCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   434
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   435
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   436
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   437
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   438
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   439
	inline CBufferDoneCallbackCommand(OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   440
									  OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   441
									  OMX_DIRTYPE aLocalPortDirection,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   442
									  TInt aPriority = CCallbackCommand::EPriorityNormal);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   443
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   444
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   445
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   446
	TBool DoRemoveBufferDoneCbCommandByBufferHeader(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   447
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   448
		const OMX_BUFFERHEADERTYPE* apBufferHeader,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   449
		OMX_DIRTYPE aDirection);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   450
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   451
	TBool DoRemoveBufferDoneCbCommandByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   452
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   453
		OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   454
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   455
	TBool DoExecuteBufferDoneCbCommandByPortIndex(
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   456
		COmxILCallbackManager& aCbMgr,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   457
		OMX_U32 aLocalPortIndex);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   458
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   459
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   460
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   461
	OMX_BUFFERHEADERTYPE* ipBufferHeader; // not owned
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   462
	OMX_U32 iLocalPortIndex;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   463
	OMX_DIRTYPE iLocalPortDirection;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   464
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   465
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   466
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   467
/**
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   468
  Callback Manager's command class for notification of port settings change
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   469
  events .
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   470
 */
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   471
class COmxILCallbackManager::CPortSettingsChangeCommand :
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   472
	public COmxILCallbackManager::CCallbackCommand
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   473
	{
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   474
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   475
public:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   476
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   477
	inline CPortSettingsChangeCommand(OMX_U32 aLocalPortIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   478
									  TUint aPortSettingsIndex,
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   479
									  HBufC8*& apPortSettings);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   480
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   481
	~CPortSettingsChangeCommand();
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   482
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   483
	void operator()(COmxILCallbackManager& aCbMgr, TBool& aHasBeenDeferred);
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   484
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   485
private:
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   486
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   487
	OMX_U32 iLocalPortIndex;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   488
	TUint iPortSettingsIndex;
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   489
	HBufC8* ipPortSettings; // This is owned by this class
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   490
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   491
	};
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   492
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   493
#include "omxilcallbackmanager.inl"
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   494
eedf2dcd43c6 Implementation of OpenMAX-IL with SHAI
Jeremy Murray-Wakefield <jeremy.murray-wakefield@nokia.com>
parents: 15
diff changeset
   495
#endif // OMXILCALLBACKMANAGER_H