--- /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 <e32base.h>
+
+// 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