diff -r 000000000000 -r e686773b3f54 logsui/LogsIndicatorPlugin/CLogsIndicatorPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/LogsIndicatorPlugin/CLogsIndicatorPlugin.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2002 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: +* Ecom plugin to implement touch support for universal missed calls indicator. +* +* +*/ + + +#ifndef CLOGSINDICATORPLUGIN_H +#define CLOGSINDICATORPLUGIN_H + + +// Until aknstylusactivatedpopupcontent.h is fixed +class TAknWindowComponentLayout; + +// INCLUDES +#include +#include +#include + +#include +#include + +// FORWARD DECLARATION +class CRepository; + +// The maximum length of the event number string +const TInt KMaxEventNumberLength = 4; //9999 = 4 numbers + +// CLASS DECLARATION + +/** + * Implements shared text pool + */ +class CLogsIndicatorPlugin : public CAknIndicatorPlugin, MCenRepNotifyHandlerCallback + { + public: + + static CLogsIndicatorPlugin* NewL(); + + + public: // from CAknIndicatorPlugin + /** + * Implements stylus tap actions for the indicator in question + * @param aUid UID of an indicator + * @return none + */ + void HandleIndicatorTapL(const TInt aUid); + + /** + * Returns the description used as link text, displayed with + * the indicator icon in the indicator popup. + * + * @param aUid UID of the indicator. + * @param[out] aTextType Type of the text, + * @see TAknIndicatorPluginTextTypes. + * + * @return Indicator description or link text. + * Ownership is transferred. + */ + HBufC* TextL( const TInt aUid, TInt& aTextType ); + + public: // from MCenRepNotifyHandlerCallback + + /** + * This callback method is used to notify the client about + * changes for integer value keys, i.e. key type is EIntKey. + * + * @param aId Id of the key that has changed. + * @param aNewValue The new value of the key. + */ + void HandleNotifyInt( TUint32 aId, TInt aNewValue ); + + + ~CLogsIndicatorPlugin(); + + private: + + CLogsIndicatorPlugin(); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + /** + * Create singular or plural content message for the popup + * @return constructed text + * + * NOTE! Ownership of the text is transferred to caller. + */ + HBufC* CreatePopupContentMessageL(); + + + private: + + // Command link array for popup + RArray iLinkArray; + + // Owns. Popup heading + HBufC* iPopupHeading; + + // Owns. Popup content singular (template) + HBufC* iPopupTextOne; + + // Owns. Popup content plural (template) + HBufC* iPopupTextMultiple; + + // Owns. Command link text (Show) + HBufC* iLinkText; + + // Owns. Reference to central repository for fetching the missed call count + CRepository* iRepositoryLogs; + // Owns. Reference to central repository for observing the missed call count changes + CCenRepNotifyHandler* iNotifyHandlerLogs; + + TInt iUid; + + TInt iResourceFileOffset; + }; +#endif // CLOGSINDICATORPLUGIN_H + + + +// End of File