diff -r 000000000000 -r ff3b6d0fd310 satui/satplugin/aisatplugininc/caisatnotifier.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/satui/satplugin/aisatplugininc/caisatnotifier.h Tue Feb 02 01:11:09 2010 +0200 @@ -0,0 +1,168 @@ +/* +* Copyright (c) 2006-2008 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 handler for the SAT Plug-in +* Set Up Idle Mode Text proactive command. +* +*/ + + +#ifndef CAISATNOTIFIER_H +#define CAISATNOTIFIER_H + +// INCLUDES +#include "mpluginapi.h" // Needed in cpp and header + +class RSatSession; +class RSatService; + +// CLASS DECLARATION + +/** + * This is the handler for the Set Up Idle Mode Text proactive command. + * This active objects is registered with ETel SAT Api to receive notifications + * about the incoming Display Text commands. + * + * @since S60 v3.2 + * + */ +class CAiSatNotifier : public CActive + { +public: // Constructors and destructor + + /** + * Part of the two phased constuction + * + * @param MPluginAPI& aPlugin a ref to a object implementing MPluginAPI + * (the object ordering a notification of the content status change) + * @param RSatService& aSatService a ref to RSatService + * @return Pointer to the created CAiSatNotifier object + */ + static CAiSatNotifier* NewL( MPluginAPI& aPlugin, + RSatService& aSatService ); + + /** + * Destructor + */ + virtual ~CAiSatNotifier(); + + /** + * Starts listening for the Sat command. + * @return Error code. + */ + TInt Start(); + + /** + * Whether the P&S has content or not. + * @return whether has content or not. + */ + TBool HasContent(); + + /** + * Get Idle mode data to member: string, icon qualifier, icon id. + * + * @param aDupIcon Whether the icon is the same with previous one + * @param aDupText Whether the icon is the same with previous one + */ + void GetIdleModeDataL( TBool& aDupIcon, TBool& aDupText ); + + /** + * Get idle text string + * + * @param aString Idle text string. + */ + void GetIdleTextString( TPtrC& aString ); + + /** + * Idle icon record id + * + * @return Icon record id + */ + TUint8 IdleIconId(); + + /** + * Idle icon qualifier + * + * @return Icon qualifier + */ + RSatService::TSatIconQualifier IdleIconQualifier(); + +protected: // From base class CActive + + /** + * From CActive + * Handles the request completion. + */ + void RunL(); + + /** + * From CActive + * Implements the cancel protocol. + */ + void DoCancel(); + +private: // Constructors + + /** + * Constructor to use in the object creation. + * Initializes the necessary data. + * + * @param aPlugin Ref to a object implementing MPluginAPI + * (the object ordering a notification of the content status change) + * @param aSatService Ref to a RSatService + */ + CAiSatNotifier( MPluginAPI& aPlugin, + RSatService& aSatService ); + + /** + * To continue listening to the Sat command. + */ + void Activate(); + +private: // Data + + /** + * Idle mode text. + * Own + */ + HBufC* iString; + + /** + * Idle mode icon id. + */ + TUint8 iRecordId; + + /** + * Idle mode icon qualifier. + */ + RSatService::TSatIconQualifier iIconQualifier; + + /** + * CAiSatPlugin reference. + */ + MPluginAPI& iPlugin; + + /** + * RSatService reference from CAiSatEngine. + */ + RSatService& iSatService; + + /** + * Identify the first start up. + */ + TBool iFirstStartup; + + }; + +#endif // CAISATNOTIFIER_H +