| author | William Roberts <williamr@symbian.org> | 
| Wed, 31 Mar 2010 12:33:34 +0100 | |
| branch | Symbian3 | 
| changeset 4 | 837f303aceeb | 
| permissions | -rw-r--r-- | 
| williamr@4 | 1  | 
/*  | 
| williamr@4 | 2  | 
* Copyright (c) 2009 - 2009 Nokia Corporation and/or its subsidiary(-ies).  | 
| williamr@4 | 3  | 
* All rights reserved.  | 
| williamr@4 | 4  | 
* This component and the accompanying materials are made available  | 
| williamr@4 | 5  | 
* under the terms of "Eclipse Public License v1.0"  | 
| williamr@4 | 6  | 
* which accompanies this distribution, and is available  | 
| williamr@4 | 7  | 
* at the URL "http://www.eclipse.org/legal/epl-v10.html".  | 
| williamr@4 | 8  | 
*  | 
| williamr@4 | 9  | 
* Initial Contributors:  | 
| williamr@4 | 10  | 
* Nokia Corporation - initial contribution.  | 
| williamr@4 | 11  | 
*  | 
| williamr@4 | 12  | 
* Contributors:  | 
| williamr@4 | 13  | 
*  | 
| williamr@4 | 14  | 
* Description: Interface header for Email Observer Plugin API.  | 
| williamr@4 | 15  | 
*  | 
| williamr@4 | 16  | 
*/  | 
| williamr@4 | 17  | 
|
| williamr@4 | 18  | 
#ifndef EMAILOBSERVERPLUGIN_H  | 
| williamr@4 | 19  | 
#define EMAILOBSERVERPLUGIN_H  | 
| williamr@4 | 20  | 
|
| williamr@4 | 21  | 
// System includes  | 
| williamr@4 | 22  | 
#include <ecom/ecom.h>  | 
| williamr@4 | 23  | 
|
| williamr@4 | 24  | 
namespace EmailInterface {
 | 
| williamr@4 | 25  | 
|
| williamr@4 | 26  | 
// Forward declarations  | 
| williamr@4 | 27  | 
class MEmailObserverListener;  | 
| williamr@4 | 28  | 
class MEmailData;  | 
| williamr@4 | 29  | 
|
| williamr@4 | 30  | 
/**  | 
| williamr@4 | 31  | 
* Class that client of this interface user instantiates  | 
| williamr@4 | 32  | 
*/  | 
| williamr@4 | 33  | 
class CEmailObserverPlugin : public CBase  | 
| williamr@4 | 34  | 
    {
 | 
| williamr@4 | 35  | 
public:  | 
| williamr@4 | 36  | 
/**  | 
| williamr@4 | 37  | 
* Contructor  | 
| williamr@4 | 38  | 
* @param aImplUid implementation identifier used by the ECOM framework  | 
| williamr@4 | 39  | 
* @param aListener callback interface provided by the client/instantiator.  | 
| williamr@4 | 40  | 
* Plugin should call this when it wants the widget data to be updated  | 
| williamr@4 | 41  | 
* @return plugin instance  | 
| williamr@4 | 42  | 
*/  | 
| williamr@4 | 43  | 
inline static CEmailObserverPlugin* NewL(  | 
| williamr@4 | 44  | 
TUid aImplUid,  | 
| williamr@4 | 45  | 
MEmailObserverListener* aListener );  | 
| williamr@4 | 46  | 
|
| williamr@4 | 47  | 
/** destructor */  | 
| williamr@4 | 48  | 
inline virtual ~CEmailObserverPlugin();  | 
| williamr@4 | 49  | 
|
| williamr@4 | 50  | 
/**  | 
| williamr@4 | 51  | 
* Accessor for data that needs to be published  | 
| williamr@4 | 52  | 
* Plugin must implement this.  | 
| williamr@4 | 53  | 
* When client calls this, plugin must ensure that all necessary data is accessible/updated  | 
| williamr@4 | 54  | 
* @return interface to email data  | 
| williamr@4 | 55  | 
*/  | 
| williamr@4 | 56  | 
virtual MEmailData& EmailDataL() = 0;  | 
| williamr@4 | 57  | 
|
| williamr@4 | 58  | 
private:  | 
| williamr@4 | 59  | 
/**  | 
| williamr@4 | 60  | 
* Unique instance identifier key  | 
| williamr@4 | 61  | 
*/  | 
| williamr@4 | 62  | 
TUid iDtor_ID_Key;  | 
| williamr@4 | 63  | 
};  | 
| williamr@4 | 64  | 
|
| williamr@4 | 65  | 
// Inline functions  | 
| williamr@4 | 66  | 
#include "emailobserverplugin.inl"  | 
| williamr@4 | 67  | 
|
| williamr@4 | 68  | 
} // namespace  | 
| williamr@4 | 69  | 
|
| williamr@4 | 70  | 
#endif // EMAILOBSERVERPLUGIN_H  |