diff -r 35488577e233 -r 2fa1fa551b0b satengine/SatServer/Engine/inc/CSatEventMonitorContainer.h --- a/satengine/SatServer/Engine/inc/CSatEventMonitorContainer.h Mon Aug 23 15:50:31 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -/* -* Copyright (c) 2002-2006 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: Container of event monitors -* -*/ - - - -#ifndef CSATEVENTMONITORCONTAINER_H -#define CSATEVENTMONITORCONTAINER_H - -// INCLUDES -#include -#include -#include "MSatEventMonitorUtils.h" -#include "MSatEventMonitorContainer.h" -#include "MSatEventObserver.h" - - -// FORWARD DECLARATIONS -class MSatEventMonitor; -class TUSatAPI; -class MSatUtils; -class MSatBIPEventNotifier; - -/** -* Base class for SAT commands. -* -* @lib SatServer -* @since Series 60 3.0 -*/ -class CSatEventMonitorContainer : public MSatEventMonitorContainer, - public MSatEventMonitorUtils, - public MSatEventObserver, - public CActive - { - public: // Constructors and destructor - - /** - * Two-phased constructor. - * @param aUsatAPI Interface for EventDownload commands - * @param aSatUtils Interface for SAT Utils class. - */ - static CSatEventMonitorContainer* NewL( - TUSatAPI& aUsatAPI, - MSatUtils& aSatUtils ); - - /** - * Destructor. - */ - virtual ~CSatEventMonitorContainer(); - - public: // Functions from parent class - - /** - * From MSatEventObserver - */ - void Event( TInt aEvent ); - - /** - * From MSatEventMonitorContainer Updates monitors state. - * @param aEvents Events that should be monitored. - * @return KErrNone if all goes OK - */ - TInt SetUpEventMonitors( TUint aEvents ); - - /** - * From MSatEventMonitorContainer Cancels all monitors - * @return KErrNone if all monitros were cancelled - */ - TInt CancelAllMonitors(); - - /** - * From MSatEventMonitorContainer Solves language code. - * @param aLanguageId Resolved language ID - */ - void LanguageSettingL( TInt& aLanguageId ); - - /** - * From MSatEventMonitorUtils Sends notify to SIM about some event - * using EventDownload command. - * @param aSingleEvent Single event reported to SIM. - * @param aFirstArg First argument interpreted according to type of event - * @param aSecArg Second argument interpreted according to type of event - */ - void EventDownload( RSat::TEventList aSingleEvent, - TInt aFirstArg, - TInt aSecArg ); - - /** - * From MSatEventMonitorUtils Returns reference to - * BIP Event notifier class. - * @return Interface for BIP Utils class. - */ - MSatBIPEventNotifier& BipNotifier(); - - /** - * From MSatEventMonitorContainer Called when SIM is removed. - * This causes all monitors to be cancelled. - */ - void SimRemoved(); - - /** - * From MSatEventMonitorContainer Gets the ISO639 language code. - * @param aId Language ID - * @param aText Language code can be read from this after function call. - */ - void GetLanguageString( const TInt aId, TDes& aText ); - - /** - * From CActive Checks that EventDownload were succesful - */ - void RunL(); - - /** - * From CActive Cancels EventDownload - */ - void DoCancel(); - - /** - * From MSatEventMonitorUtils - * Writes time between language selection and reboot. - * @param aTime Time before reboot. - * @return KErrNone if language selection time is set. - */ - TInt WriteLanguageSelectionTime( TInt aTime ); - - private: - - /** - * C++ default constructor. - * @param aUsatAPI Interface for EventDownload commands - * @param aSatUtils Interface for SAT Utils class. - */ - CSatEventMonitorContainer( TUSatAPI& aUsatAPI, MSatUtils& aSatUtils ); - - /** - * By default Symbian 2nd phase constructor is private. - */ - void ConstructL(); - - private: - - /** - * Handles Language Selection event and sends event download - * @param aLanguageId ID read from the P&S. Comes from monitor. - */ - void LanguageSelectionEvent( TInt aLanguageId ); - - /** - * Handles the browser termination event and sends event download. - * @param aCause The cause of the browser termination - */ - void BrowserTerminationEvent( TInt aCause ); - - /** - * Handles Data avaliable event and sends event download - * @param aChannelId Data channel identifier. Comes from monitor. - */ - void DataAvailableEvent( const TInt aChannelId, const TInt aLength ); - - /** - * Handles Channel status event and sends event download - * @param aChannelId Data channel identifier. Comes from monitor. - * @param aStatus Status of the data channel. - */ - void ChannelStatusEvent( const TInt aChannelId, const TInt aStatus ); - - /** - * Checks if aEvents contains only events that - * are supported. - * @param aEvents Events from SIM. - * @return ETrue if aEvents are supported. - */ - TBool EventsSupported( TUint aEvents ) const; - - /** - * Removes single event from event list - * @param aSingleEvent Event to remove - */ - void RemoveSingleEvent( RSat::TEventList aSingleEvent ); - - private: // Data - - // Ponter array containing event monitors - CArrayPtrFlat* iEventMonitors; - - // Interface to EventDownload command sending - TUSatAPI& iSat; - - // Indecates is there event pending - TBool iEventPending; - - // Pending event - RSat::TEventList iPendingEvent; - - // Pending first argument - TInt iPendingFirstArg; - - // Pending second argument - TInt iPendingSecondArg; - - // Utils class for BIP event monitors - MSatUtils& iSatUtils; - - // Indicates whether there is BIP command executing or not - TBool iBipExecuting; - - // Removable event after event download - TInt iRemovableSingleEvent; - - }; - -#endif // CSATEVENTMONITORCONTAINER_H - -// End of File