os/mm/devsoundextensions/mmfcustominterfaces/G729EncoderIntfc/G729EncoderIntfcProxy/src/G729EncoderIntfcProxy.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 G729 encoder.
21 #include "G729EncoderIntfcProxy.h"
22 #include "G729EncoderIntfcMsgs.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 // CG729EncoderIntfcProxy::CG729EncoderIntfcProxy
48 // C++ default constructor can NOT contain any code, that
50 // -----------------------------------------------------------------------------
52 CG729EncoderIntfcProxy::CG729EncoderIntfcProxy(
53 TMMFMessageDestinationPckg aMessageHandler,
54 MCustomCommand& aCustomCommand,
55 CCustomInterfaceUtility* aCustomInterfaceUtility) :
56 iCustomCommand(aCustomCommand),
57 iMessageHandler(aMessageHandler),
58 iCustomInterfaceUtility(aCustomInterfaceUtility)
63 // -----------------------------------------------------------------------------
64 // CG729EncoderIntfcProxy::ConstructL
65 // Symbian 2nd phase constructor can leave.
66 // -----------------------------------------------------------------------------
68 void CG729EncoderIntfcProxy::ConstructL()
72 // -----------------------------------------------------------------------------
73 // CG729EncoderIntfcProxy::NewL
74 // Two-phased constructor.
75 // -----------------------------------------------------------------------------
77 EXPORT_C CG729EncoderIntfcProxy* CG729EncoderIntfcProxy::NewL(
78 TMMFMessageDestinationPckg aMessageHandler,
79 MCustomCommand& aCustomCommand,
80 CCustomInterfaceUtility* aCustomInterfaceUtility)
82 CG729EncoderIntfcProxy* self = new(ELeave) CG729EncoderIntfcProxy(
85 aCustomInterfaceUtility);
86 CleanupStack::PushL( self );
88 CleanupStack::Pop( self );
93 EXPORT_C CG729EncoderIntfcProxy::~CG729EncoderIntfcProxy()
95 iCustomInterfaceUtility->RemoveCustomInterface(iMessageHandler);
96 delete iCustomInterfaceUtility;
99 // ---------------------------------------------------------
100 // CG729EncoderIntfcProxy::SetVadMode
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 CG729EncoderIntfcProxy::SetVadMode(TBool aVadMode)
107 TPckgBuf<TBool> pckgBuf(aVadMode);
108 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
115 // ---------------------------------------------------------
116 // CG729EncoderIntfcProxy::GetVadMode
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 CG729EncoderIntfcProxy::GetVadMode(TBool& aVadMode)
123 TInt vadMode = EFalse;
124 TPckgBuf<TBool> pckgBuf(vadMode);
125 TInt status = iCustomCommand.CustomCommandSync(iMessageHandler,
130 if (status == KErrNone)
131 aVadMode = pckgBuf();