diff -r 000000000000 -r e686773b3f54 logsui/LogsExt/MLogsUiControlExtension.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/logsui/LogsExt/MLogsUiControlExtension.h Tue Feb 02 10:12:17 2010 +0200 @@ -0,0 +1,112 @@ +/* +* 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: +* Abstract interface for making logs UI control extensions. +* +*/ + + +#ifndef __MLogsUiControlExtension_H +#define __MLogsUiControlExtension_H + + +// INCLUDES +//#include // TPbkIconId +#include // TContactItemId +#include "MLogsUiExtensionBase.h" + + +// FORWARD DECLARATIONS +class CAknIconArray; + +class MLogsExtObserver; +class MLogsModel; +class MLogsEventGetter; +class CAknDoubleGraphicStyleListBox; + +// CLASS DECLARATION + +/** + * @internal This interface is internal to Logs. + * + * Abstract interface for logs UI control extensions. + */ +class MLogsUiControlExtension : public MLogsUiExtensionBase + { + public: // Interface + /** + * Append extension icons to the array + * + * @param aArray array of icons + */ + virtual void AppendIconsL( CAknIconArray* aArray ) = 0; + + /** + * Get presence icon index within the icon array + * + * @param aContactId contact id + * @param aIndex icon index + * @return ETrue if found, otherwise EFalse + */ + virtual TBool GetIconIndexL( TContactItemId aContactId, TInt& aIndex ) = 0; + +// Sawfish VoIP changes >>>> + /** + * Creates and starts all the icon fetching processes + * + * @since S60 v3.2 + * @param aModel the data model that contains the + * information about the log event entries in the current view. + * @param aListBox fetched icons will be added to the icon array + * of the specified listbox + */ + virtual void HandleAdditionalData( + MLogsModel& aModel, + CAknDoubleGraphicStyleListBox& aListBox ) = 0; + + /** + * Modifies the icon string descriptor + * + * e.g. adding the presence icon index '6' would change the icon string + * from "0\ttext1\ttext2" to "0\ttext1\ttext2\t\t\t6" + * If anything inside this function leaves it will be trapped and aDes + * wont be changed, otherwise aDes contains the resulting icon string. + * + * @since S60 v3.2 + * @param aDes the descriptor that contains the iconstring + * @param aDataField the unparsed data field of a log event + */ + virtual void ModifyIconString ( + TDes& aDes, + const MLogsEventGetter& aLogsEventGetter ) = 0; + + /** + * Sets the observer of the extension. + * + * @since S60 v3.2 + * @param aObserver an observer + */ + virtual void SetObserver( MLogsExtObserver& aObserver ) = 0 ; +// <<<< Sawfish VoIP changes + + protected: + /** + * Destructor. + */ + virtual ~MLogsUiControlExtension() { } + }; + +#endif + +// End of File