os/mm/devsoundextensions/mmfcustominterfaces/IlbcEncoderIntfc/IlbcEncoderIntfcProxy/src/IlbcEncoderIntfcProxy.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 Ilbc encoder.
21 #include "IlbcEncoderIntfcProxy.h"
22 #include "IlbcEncoderIntfcMsgs.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 // CIlbcEncoderIntfcProxy::CIlbcEncoderIntfcProxy
48 // C++ default constructor can NOT contain any code, that
50 // -----------------------------------------------------------------------------
52 CIlbcEncoderIntfcProxy::CIlbcEncoderIntfcProxy(
53 TMMFMessageDestinationPckg aMessageHandler,
54 MCustomCommand& aCustomCommand,
55 CCustomInterfaceUtility* aCustomInterfaceUtility) :
56 iCustomCommand(aCustomCommand),
57 iMessageHandler(aMessageHandler),
58 iCustomInterfaceUtility(aCustomInterfaceUtility)
63 // -----------------------------------------------------------------------------
64 // CIlbcEncoderIntfcProxy::ConstructL
65 // Symbian 2nd phase constructor can leave.
66 // -----------------------------------------------------------------------------
68 void CIlbcEncoderIntfcProxy::ConstructL()
72 // -----------------------------------------------------------------------------
73 // CIlbcEncoderIntfcProxy::NewL
74 // Two-phased constructor.
75 // -----------------------------------------------------------------------------
77 EXPORT_C CIlbcEncoderIntfcProxy* CIlbcEncoderIntfcProxy::NewL(
78 TMMFMessageDestinationPckg aMessageHandler,
79 MCustomCommand& aCustomCommand,
80 CCustomInterfaceUtility* aCustomInterfaceUtility)
82 CIlbcEncoderIntfcProxy* self = new(ELeave) CIlbcEncoderIntfcProxy(
85 aCustomInterfaceUtility);
86 CleanupStack::PushL( self );
88 CleanupStack::Pop( self );
93 EXPORT_C CIlbcEncoderIntfcProxy::~CIlbcEncoderIntfcProxy()
95 iCustomInterfaceUtility->RemoveCustomInterface(iMessageHandler);
96 delete iCustomInterfaceUtility;
99 // ---------------------------------------------------------
100 // CIlbcEncoderIntfcProxy::SetEncoderMode
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 CIlbcEncoderIntfcProxy::SetEncoderMode(TEncodeMode aEncodeMode)
107 TPckgBuf<TEncodeMode> pckgBuf(aEncodeMode);
108 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
109 EIlbceimSetEncoderMode,
116 // ---------------------------------------------------------
117 // CIlbcEncoderIntfcProxy::SetVadMode
118 // Sends the custom command for this function to its message handler.
119 // (other items were commented in a header).
120 // ---------------------------------------------------------
122 EXPORT_C TInt CIlbcEncoderIntfcProxy::SetVadMode(TBool aVadMode)
124 TPckgBuf<TBool> pckgBuf(aVadMode);
125 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
132 // ---------------------------------------------------------
133 // CIlbcEncoderIntfcProxy::GetVadMode
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 CIlbcEncoderIntfcProxy::GetVadMode(TBool& aVadMode)
140 TInt vadMode = EFalse;
141 TPckgBuf<TBool> pckgBuf(vadMode);
142 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
147 if (status == KErrNone)
148 aVadMode = pckgBuf();