diff -r fa1df4b99609 -r ebe688cedc25 messagingapp/msgsettings/msginit/inc/coutboxobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingapp/msgsettings/msginit/inc/coutboxobserver.h Tue Aug 31 15:11:31 2010 +0300 @@ -0,0 +1,125 @@ +/* + * Copyright (c) 2010 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: + * The purpose of this class is to observe if there are messages + * in the outbox. + * + */ + +#ifndef OUTBOXOBSERVER_H +#define OUTBOXOBSERVER_H + +// INCLUDES +#include +#include // for MMsvSessionObserver +#include "msignalstrengthobserver.h" + +// FORWARD DECLARATIONS + +class CMsvSession; +class COutboxSender; +class MSignalStrengthHandler; + +// CLASS DECLARATION + +/** + * Observes if there are messages in the OutBox.. + */ +class COutboxObserver: public CBase, public MMsvEntryObserver, public MSignalStrengthObserver +{ +public: + // Constructors and destructor + + /** + * A Two-phased constructor. + */ + static COutboxObserver* NewL(); + + /** + * Destructor. + */ + virtual ~COutboxObserver(); + +private: + // From MSignalStrengthObserver + + void SignalStrengthAndBarUpdatedL(TInt aNewSignalValue, TInt aNewBarValue); + +public: + + void HandleMsvSessionReadyL(CMsvSession& aMsvSession); + void HandleMsvSessionClosedL(); + +public: + + /** + * The messaging server sends notifications of changes in the + * observed entry to COutboxObserver by calling this method. + */ + void + HandleEntryEventL(TMsvEntryEvent aEvent, TAny* /*aArg1*/, TAny* /*aArg2*/, TAny* /*aArg3*/); + +public: + // New functions + + /** + * Informs the networkstatus to Outbox Sender + */ + void InformOutboxSenderL(const TInt& aNetworkBars); + +private: + + /** + * A C++ constructor. + */ + COutboxObserver(); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + /** + * By default, prohibit copy constructor + */ + COutboxObserver(const COutboxObserver&); + + /** + * Prohibit assigment operator + */ + COutboxObserver& operator=(const COutboxObserver&); + + /** + * Creates the Msv Session and sets the outbox + * observer and outbox sender. + * @param aMsvSession The Msv session to use. + */ + void StartSessionsL(CMsvSession& aMsvSession); + + /** + * Delete session, outbox observer and outbox sender. + */ + void EndSessions(); + +private: + // In-box folder entry. Note that the entry is not owned by this class. + CMsvEntry* iOutboxFolder; + // Pointer to Outbox Sender. + COutboxSender* iOutboxSender; + // Signal strength handler. Owned. + MSignalStrengthHandler* iSignalStrengthHandler; +}; + +#endif // OUTBOXOBSERVER_H +// End of File