Update contrib.
2 * Copyright (c) 2005-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: CustomInterface Utility
18 #ifndef __CUSTOMINTERFACEUTILITY_H
19 #define __CUSTOMINTERFACEUTILITY_H
22 #include <MCustomInterface.h>
23 //#include "CustomCommandTypes.h"
24 #include <CustomCommandUtility.h>
25 class CProxyCustomInterfaceUtility;
26 //class CCustomInterfaceProxyBuilder;
27 class CMdaAudioConvertUtility;
28 class CMdaAudioPlayerUtility;
29 class CMdaAudioRecorderUtility;
32 class CMidiClientUtility;
33 class CDrmPlayerUtility;
34 class CVideoPlayerUtility;
35 class CVideoRecorderUtility;
37 class CCustomInterfaceUtility : public CBase,
38 public MCustomInterface
41 IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioConvertUtility& aUtility);
42 IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioPlayerUtility& aUtility);
43 IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioRecorderUtility& aUtility,
45 IMPORT_C static CCustomInterfaceUtility* NewL(CCustomCommandUtility* aCustomCommandUtility);
46 IMPORT_C static CCustomInterfaceUtility* NewL(CMMFDevSound& aDevSound);
47 IMPORT_C static CCustomInterfaceUtility* NewL(CMidiClientUtility& aUtility);
48 IMPORT_C static CCustomInterfaceUtility* NewL(MCustomCommand& aUtility);
49 IMPORT_C virtual ~CCustomInterfaceUtility();
52 * Factory function for creating CCustomInterfaceUtility object.
54 * @param CDrmPlayerUtility A reference to a CDrmPlayerUtility object
55 * @return pointer to CCustomInterfaceUtility object
57 IMPORT_C static CCustomInterfaceUtility* NewL(CDrmPlayerUtility& aUtility);
58 IMPORT_C static CCustomInterfaceUtility* NewL(CVideoPlayerUtility& aUtility);
59 IMPORT_C static CCustomInterfaceUtility* NewL(CVideoRecorderUtility& aUtility);
61 virtual TAny* CustomInterface(TUid aInterfaceId);
63 virtual void RemoveCustomInterface(TMMFMessageDestinationPckg aMessageHandler);
65 IMPORT_C CCustomInterfaceUtility();
66 virtual void ConstructL(CCustomCommandUtility* aCustomCommandUtility);
67 virtual void ConstructL(CMMFDevSound& aDevSound);
71 CProxyCustomInterfaceUtility* iProxyFactory;
75 CMMFDevSound* iDevSound;