os/mm/devsoundextensions/ciextnfactoryplugins/ciextnserverplugin/src/ciextnserverpluginwrapper.h
First public contribution.
2 * Copyright (c) 2002-2008 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: Header definition of server plugin wrapper class implementig S60 custom interface.
19 #ifndef CIEXTNSERVERPLUGINWRAPPER_H
20 #define CIEXTNSERVERPLUGINWRAPPER_H
23 #include <MCustomInterface.h>
25 // Forward declarations
26 class MCustomInterface;
27 class MyMCustomInterface;
29 class CIExtnServerPluginWrapper : public CBase,
30 public MCustomInterface
32 public: // Constructors and destructor
35 * Constructs, and returns a pointer to, a new CIExtnCustomInterfaceS60 object.
37 * @param MCustomInterface& aInterfaceRef A reference to MCustomInterface.
38 * @return CIExtnCustomInterfaceS60* A pointer to newly created object.
40 static CIExtnServerPluginWrapper* NewL(MCustomInterface& aInterfaceRef);
45 ~CIExtnServerPluginWrapper();
49 Obtain a custom interface
50 @param aInterfaceId The UID of the required custom interface
51 @return a pointer to the custom interface
53 TAny* CustomInterface(TUid aInterfaceId);
56 MCustomInterface* GetInterface();
63 CIExtnServerPluginWrapper(MCustomInterface& aInterfaceRef);
66 * Second phase constructor.
71 MCustomInterface* iCustomInterfaceRef;
72 MyMCustomInterface* iCustomInterfaceStub;
78 #endif // CIEXTNSERVERPLUGINWRAPPER_H