williamr@4: /* williamr@4: * Copyright (c) 2009 - 2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: * All rights reserved. williamr@4: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@4: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: * williamr@4: * Initial Contributors: williamr@4: * Nokia Corporation - initial contribution. williamr@4: * williamr@4: * Contributors: williamr@4: * williamr@4: * Description: Helper classes for interface. williamr@4: * williamr@4: */ williamr@4: williamr@4: #ifndef MEMAILMAILBOXDATA_H williamr@4: #define MEMAILMAILBOXDATA_H williamr@4: williamr@4: #include williamr@4: williamr@4: namespace EmailInterface { williamr@4: williamr@4: class MEmailLaunchParameters; williamr@4: williamr@4: /** williamr@4: * Container interface for mailbox related info williamr@4: */ williamr@4: class MMailboxData williamr@4: { williamr@4: public: williamr@4: /** williamr@4: * Accessor for mailbox id williamr@4: * @return mailbox identifier williamr@4: */ williamr@4: virtual TUint MailboxId() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for mailbox name williamr@4: * @return mailbox name williamr@4: */ williamr@4: virtual const TDesC& Name() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for mailbox branding icon specifier williamr@4: * @return path descriptor to branding icon williamr@4: * e.g. "mif(z:\\resource\\apps\\myemailplugin.mif N1 N2)", williamr@4: * where N1 is integer specifying the icon number in the mif file, williamr@4: * and N2 is the number of the respective icon mask williamr@4: */ williamr@4: virtual const TDesC& BrandingIcon() const = 0; williamr@4: williamr@4: /** williamr@4: * Is mailbox's outbox empty or not williamr@4: * @return boolean williamr@4: */ williamr@4: virtual TBool IsOutboxEmpty() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for seen/unseen status williamr@4: * i.e. whether user has been to inbox after last message has been received williamr@4: * @return boolean williamr@4: */ williamr@4: virtual TBool Unseen() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for launching parameters williamr@4: * These parameters specify what application is launched when widget is pressed williamr@4: * @return interface to launch parameters williamr@4: */ williamr@4: virtual MEmailLaunchParameters& LaunchParameters() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for total count of messages in inbox williamr@4: * @return total message count williamr@4: */ williamr@4: virtual TInt MessageCount() const = 0; williamr@4: williamr@4: /** williamr@4: * Accessor for mailbox's messages. If there are more messages in the array williamr@4: * than fits the widget, only the newest will be published. williamr@4: * Assumption: array must be ordered based on timestamp (i.e. newest in index 0) williamr@4: * Assumption: plugin does not have to upkeep more than 2 latest messages williamr@4: * @return array of messages williamr@4: */ williamr@4: virtual const RPointerArray& LatestMessagesL() const = 0; williamr@4: }; williamr@4: williamr@4: } // namespace williamr@4: williamr@4: #endif // EMAILMAILBOXDATA_H