diff -r ebe688cedc25 -r 7fdbb852d323 messagingappbase/ncnlist/inc/MNcnMsgWaitingManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingappbase/ncnlist/inc/MNcnMsgWaitingManager.h Wed Sep 01 12:31:54 2010 +0100 @@ -0,0 +1,134 @@ +/* +* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Defines class MNcnMsgWaitingManager. +* +*/ + + + +#ifndef MNCNMSGWAITINGMANAGER_H +#define MNCNMSGWAITINGMANAGER_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** + * Class is used to define message waiting manager API. + * Message waiting manager in turn is responsible of + * storing message counts for certain message types + * and handling indicator status flags. Message count + * represents number of new messages. Indicator value + * in turn tells if indicator icon should be displayed + * or not. This M-class is pure virtual so client needs to + * implement following methods to use it: + * SetIndicator, SetMessageCount, GetMessageCount + * and GetIndicator. + */ +class MNcnMsgWaitingManager + { + public: // Constructors and destructor + + /** + * Destructor. + */ + virtual ~MNcnMsgWaitingManager() { /* EMPTY */ }; + + public: // + + /** + * Defines indicators that can be enabled / disabled. + * Set/GetIndicator method uses this enum. + */ + enum TNcnIndicator + { + ENcnIndicatorFax, + ENcnIndicatorEmail, + ENcnIndicatorOther, + ENcnIndicatorVMLine1, + ENcnIndicatorVMLine2, + + ENcnIndicatorLast // This must be last + }; // TNcnIndicator + + /** + * Defines message types which message count can be + * stored. + * Set/GetMessageCount method uses this enum. + */ + enum TNcnMessageType + { + ENcnMessageTypeFax, + ENcnMessageTypeEmail, + ENcnMessageTypeOther, + ENcnMessageTypeVMLine1, + ENcnMessageTypeVMLine2, + + ENcnMessageTypeLast // This must be last + }; // TNcnMessageType + + /** + * SetIndicator + * Method is used to enable / disable indicator. + * @param aIndicator Id of the indicator that should be enabled / disabled. See TNcnIndicator for ids. + * @param aEnable ETrue if indicator should be enabled. + * @return error + */ + virtual TInt SetIndicator( const TNcnIndicator aIndicator, TBool aEnable ) = 0; + + /** + * SetMessageCount + * Method is used to store new message count for certain message types. + * @param aMsgType Message type which count is updated. See TNcnMessageType for ids. + * @param aCount Number of new messages. + * @param aEnableIndicator ETrue if indicator should be enabled for certain message type. + * @return error + */ + virtual TInt SetMessageCount( const TNcnMessageType aMsgType, TUint aCount, TBool aEnableIndicator ) = 0; + + /** + * GetMessageCount + * Method returns new message count for certain message type + * @param aMsgType Message type. See MNcnMsgWaitingManager for ids. + * @param aCount Number of new messages. + * @return error + */ + virtual TInt GetMessageCount( const TNcnMessageType aMsgType, TUint& aCount) = 0; + + /** + * GetIndicator + * Method returns indicator status (enabled/disabled). + * @param aIndicator Indicator id. See MNcnMsgWaitingManager for ids. + * @param aEnabled ETrue if indicator is enabled. + * @return error + */ + virtual TInt GetIndicator( const TNcnIndicator aIndicator, TBool& aEnabled ) = 0; + + virtual TBool ConstructionReady() = 0; + + virtual void GetFirstIndicatorStatus() = 0; + + protected: + + MNcnMsgWaitingManager() { /* EMPTY */ }; + + + }; // MNcnMsgWaitingManager + +#endif // MNCNMSGWAITINGMANAGER_H + +// End of File