os/mm/devsoundextensions/mmfcustominterfaces/ErrConcealmentIntfc/ErrorConcealmentIntfcProxy/src/ErrorConcealmentIntfcProxy.cpp
First public contribution.
2 * Copyright (c) 2002-2004 Nokia Corporation and/or its subsidiary(-ies).
4 * This component and the accompanying materials are made available
5 * under the terms of "Eclipse Public License v1.0"
6 * which accompanies this distribution, and is available
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
9 * Initial Contributors:
10 * Nokia Corporation - initial contribution.
14 * Description: Interface proxy for error concealment.
21 #include "ErrorConcealmentIntfcProxy.h"
22 #include "ErrorConcealmentIntfcMsgs.h"
23 #include <CustomCommandUtility.h>
24 #include <CustomInterfaceUtility.h>
26 // EXTERNAL DATA STRUCTURES
28 // EXTERNAL FUNCTION PROTOTYPES
34 // LOCAL CONSTANTS AND MACROS
36 // MODULE DATA STRUCTURES
38 // LOCAL FUNCTION PROTOTYPES
40 // FORWARD DECLARATIONS
42 // ============================= LOCAL FUNCTIONS ===============================
44 // ================= MEMBER FUNCTIONS =======================
46 // -----------------------------------------------------------------------------
47 // CErrorConcealmentIntfcProxy::CErrorConcealmentIntfcProxy
48 // C++ default constructor can NOT contain any code, that
50 // -----------------------------------------------------------------------------
52 CErrorConcealmentIntfcProxy::CErrorConcealmentIntfcProxy(
53 TMMFMessageDestinationPckg aMessageHandler,
54 MCustomCommand& aCustomCommand,
55 CCustomInterfaceUtility* aCustomInterfaceUtility) :
56 iCustomCommand(aCustomCommand),
57 iMessageHandler(aMessageHandler),
58 iCustomInterfaceUtility(aCustomInterfaceUtility)
63 // -----------------------------------------------------------------------------
64 // CErrorConcealmentIntfcProxy::ConstructL
65 // Symbian 2nd phase constructor can leave.
66 // -----------------------------------------------------------------------------
68 void CErrorConcealmentIntfcProxy::ConstructL()
72 // -----------------------------------------------------------------------------
73 // CErrorConcealmentIntfcProxy::NewL
74 // Two-phased constructor.
75 // -----------------------------------------------------------------------------
77 EXPORT_C CErrorConcealmentIntfcProxy* CErrorConcealmentIntfcProxy::NewL(
78 TMMFMessageDestinationPckg aMessageHandler,
79 MCustomCommand& aCustomCommand,
80 CCustomInterfaceUtility* aCustomInterfaceUtility)
82 CErrorConcealmentIntfcProxy* self = new(ELeave) CErrorConcealmentIntfcProxy(
85 aCustomInterfaceUtility);
86 CleanupStack::PushL( self );
88 CleanupStack::Pop( self );
93 EXPORT_C CErrorConcealmentIntfcProxy::~CErrorConcealmentIntfcProxy()
95 iCustomInterfaceUtility->RemoveCustomInterface(iMessageHandler);
96 delete iCustomInterfaceUtility;
99 // ---------------------------------------------------------
100 // CErrorConcealmentIntfcProxy::ConcealErrorForNextBuffer
101 // Sends the custom command for this function to its message handler.
102 // (other items were commented in a header).
103 // ---------------------------------------------------------
105 EXPORT_C TInt CErrorConcealmentIntfcProxy::ConcealErrorForNextBuffer()
107 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
115 // ---------------------------------------------------------
116 // CErrorConcealmentIntfcProxy::SetFrameMode
117 // Sends the custom command for this function to its message handler.
118 // (other items were commented in a header).
119 // ---------------------------------------------------------
121 EXPORT_C TInt CErrorConcealmentIntfcProxy::SetFrameMode(TBool aFrameMode)
123 TPckgBuf<TBool> frameModePckgBuf(aFrameMode);
124 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
132 // ---------------------------------------------------------
133 // CErrorConcealmentIntfcProxy::FrameModeRqrdForEC
134 // Sends the custom command for this function to its message handler.
135 // (other items were commented in a header).
136 // ---------------------------------------------------------
138 EXPORT_C TInt CErrorConcealmentIntfcProxy::FrameModeRqrdForEC(
139 TBool& aFrameModeRqrd)
141 TBool frameModeRqrd = EFalse;
142 TPckgBuf<TBool> frameModeRqrdPckg(frameModeRqrd);
143 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
148 aFrameModeRqrd = frameModeRqrdPckg();