2 * Copyright (c) 2009 - 2009 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 header for Email Observer Plugin API.
18 #ifndef EMAILOBSERVERPLUGIN_H
19 #define EMAILOBSERVERPLUGIN_H
22 #include <ecom/ecom.h>
24 namespace EmailInterface {
26 // Forward declarations
27 class MEmailObserverListener;
31 * Class that client of this interface user instantiates
33 class CEmailObserverPlugin : public CBase
38 * @param aImplUid implementation identifier used by the ECOM framework
39 * @param aListener callback interface provided by the client/instantiator.
40 * Plugin should call this when it wants the widget data to be updated
41 * @return plugin instance
43 inline static CEmailObserverPlugin* NewL(
45 MEmailObserverListener* aListener );
48 inline virtual ~CEmailObserverPlugin();
51 * Accessor for data that needs to be published
52 * Plugin must implement this.
53 * When client calls this, plugin must ensure that all necessary data is accessible/updated
54 * @return interface to email data
56 virtual MEmailData& EmailDataL() = 0;
60 * Unique instance identifier key
66 #include "emailobserverplugin.inl"
70 #endif // EMAILOBSERVERPLUGIN_H