epoc32/include/app/emailobserverplugin.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
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