os/mm/devsoundextensions/audiorouting/Input/AudioInputProxy/src/AudioInputProxy.cpp
Update contrib.
2 * Copyright (c) 2006 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: Audio input proxy implementation
21 #include "AudioInputProxy.h"
22 #include "AudioInputMessageTypes.h"
23 #include <CustomCommandUtility.h>
24 #include <CustomInterfaceUtility.h>
29 // ================= MEMBER FUNCTIONS =======================
31 // C++ default constructor can NOT contain any code, that
34 CAudioInputProxy::CAudioInputProxy(TMMFMessageDestinationPckg aMessageHandler,
35 MCustomCommand& aCustomCommand,
36 CCustomInterfaceUtility* aCustomInterfaceUtility) :
37 iCustomCommand(&aCustomCommand),
39 iMessageHandler(aMessageHandler),
40 iCustomInterfaceUtility(aCustomInterfaceUtility)
44 // Two-phased constructor.
45 EXPORT_C CAudioInputProxy* CAudioInputProxy::NewL(TMMFMessageDestinationPckg aMessageHandler,
46 MCustomCommand& aCustomCommand,
47 CCustomInterfaceUtility* aCustomInterfaceUtility)
49 CAudioInputProxy* self = new(ELeave) CAudioInputProxy(aMessageHandler,aCustomCommand,aCustomInterfaceUtility);
56 CAudioInputProxy::~CAudioInputProxy()
61 iCustomCommand->CustomCommandSync(iMessageHandler, EAifDelete, KNullDesC8, KNullDesC8);
62 if(iCustomInterfaceUtility)
63 iCustomInterfaceUtility->RemoveCustomInterface(iMessageHandler);
64 delete iCustomInterfaceUtility;
67 EXPORT_C const TUid CAudioInputProxy::Uid()
69 return KUidAudioInput;
72 // ---------------------------------------------------------
73 // CAudioInput::AudioInput
74 // ?implementation_description
75 // (other items were commented in a header).
76 // ---------------------------------------------------------
78 CAudioInput::TAudioInputArray CAudioInputProxy::AudioInput()
80 return iInputArray.Array();
83 // ---------------------------------------------------------
84 // CAudioInput::SetAudioInputL
85 // ?implementation_description
86 // (other items were commented in a header).
87 // ---------------------------------------------------------
89 void CAudioInputProxy::SetAudioInputL(TAudioInputArray aAudioInputs)
92 TInt count = aAudioInputs.Count();
95 for(int i=0; i<count; i++)
97 TAudioInputPreference audioInput = aAudioInputs[i];
98 iInputArray.AppendL(audioInput);
101 TInt length = iInputArray.Length() * count;
102 TPtrC8 inputArrayPtr((const TUint8*)&iInputArray[0], length);
103 TPckgC<TInt> countPckg(count);
105 User::LeaveIfError(iCustomCommand->CustomCommandSync(iMessageHandler, EAifSetInputs, countPckg, inputArrayPtr));
109 // ========================== OTHER EXPORTED FUNCTIONS =========================