os/mm/mm_plat/custom_interface_utility_api/inc/CustomInterfaceUtility.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 /*
     2 * Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     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".
     8 *
     9 * Initial Contributors:
    10 * Nokia Corporation - initial contribution.
    11 *
    12 * Contributors:
    13 *
    14 * Description:  CustomInterface Utility
    15 *
    16 */
    17 
    18 #ifndef __CUSTOMINTERFACEUTILITY_H
    19 #define __CUSTOMINTERFACEUTILITY_H
    20 
    21 #include <e32base.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;
    30 class MCustomCommand;
    31 class CMMFDevSound;
    32 class CMidiClientUtility;
    33 class CDrmPlayerUtility;
    34 class CVideoPlayerUtility;
    35 class CVideoRecorderUtility;
    36 
    37 class CCustomInterfaceUtility : public    CBase,
    38                                 public    MCustomInterface
    39     {
    40 public:
    41     IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioConvertUtility&  aUtility);
    42     IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioPlayerUtility&   aUtility);
    43     IMPORT_C static CCustomInterfaceUtility* NewL(CMdaAudioRecorderUtility& aUtility,
    44                                                   TBool       aRecordStream);
    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();
    50 
    51     /**
    52     * Factory function for creating CCustomInterfaceUtility object.
    53     * @since 3.0
    54     * @param CDrmPlayerUtility A reference to a CDrmPlayerUtility object
    55     * @return pointer to CCustomInterfaceUtility object
    56     */
    57     IMPORT_C static CCustomInterfaceUtility* NewL(CDrmPlayerUtility& aUtility);
    58     IMPORT_C static CCustomInterfaceUtility* NewL(CVideoPlayerUtility&   aUtility);
    59     IMPORT_C static CCustomInterfaceUtility* NewL(CVideoRecorderUtility&   aUtility);
    60 
    61     virtual TAny* CustomInterface(TUid aInterfaceId);
    62 
    63     virtual void RemoveCustomInterface(TMMFMessageDestinationPckg aMessageHandler);
    64 protected:
    65     IMPORT_C CCustomInterfaceUtility();
    66     virtual void ConstructL(CCustomCommandUtility* aCustomCommandUtility);
    67     virtual void ConstructL(CMMFDevSound& aDevSound);
    68 
    69 private:
    70 
    71     CProxyCustomInterfaceUtility* iProxyFactory;
    72 
    73 
    74 private:
    75     CMMFDevSound*       iDevSound;
    76     };
    77 
    78 #endif