logsui/LogsExt/MLogsUiControlExtension.h
branchRCL_3
changeset 63 f4a778e096c2
parent 0 e686773b3f54
equal deleted inserted replaced
62:5b6f26637ad3 63:f4a778e096c2
       
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description: 
       
    15 *    Abstract interface for making logs UI control extensions.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef __MLogsUiControlExtension_H
       
    21 #define __MLogsUiControlExtension_H
       
    22 
       
    23 
       
    24 //  INCLUDES
       
    25 //#include <PbkIconId.hrh>    // TPbkIconId
       
    26 #include <cntdef.h>         // TContactItemId
       
    27 #include "MLogsUiExtensionBase.h"
       
    28 
       
    29 
       
    30 //  FORWARD DECLARATIONS
       
    31 class CAknIconArray;
       
    32 
       
    33 class MLogsExtObserver;
       
    34 class MLogsModel;
       
    35 class MLogsEventGetter;
       
    36 class CAknDoubleGraphicStyleListBox;
       
    37 
       
    38 // CLASS DECLARATION
       
    39 
       
    40 /**
       
    41  * @internal This interface is internal to Logs.
       
    42  *
       
    43  * Abstract interface for logs UI control extensions.
       
    44  */
       
    45 class MLogsUiControlExtension : public MLogsUiExtensionBase
       
    46     {
       
    47     public: // Interface
       
    48         /**
       
    49          * Append extension icons to the array
       
    50          *
       
    51          * @param aArray array of icons
       
    52          */
       
    53         virtual void AppendIconsL( CAknIconArray* aArray ) = 0;
       
    54 
       
    55         /**
       
    56          * Get presence icon index within the icon array
       
    57          *
       
    58          * @param aContactId contact id
       
    59          * @param aIndex icon index
       
    60          * @return ETrue if found, otherwise EFalse
       
    61          */
       
    62         virtual TBool GetIconIndexL( TContactItemId aContactId, TInt& aIndex ) = 0;
       
    63 
       
    64 // Sawfish VoIP changes  >>>>
       
    65         /**
       
    66          * Creates and starts all the icon fetching processes
       
    67          *
       
    68          * @since S60 v3.2
       
    69          * @param aModel the data model that contains the
       
    70          * information about the log event entries in the current view.
       
    71          * @param aListBox fetched icons will be added to the icon array
       
    72          * of the specified listbox
       
    73          */
       
    74         virtual void HandleAdditionalData( 
       
    75                                 MLogsModel& aModel, 
       
    76                                 CAknDoubleGraphicStyleListBox& aListBox ) = 0;
       
    77 
       
    78         /**
       
    79          * Modifies the icon string descriptor
       
    80          * 
       
    81          * e.g. adding the presence icon index '6' would change the icon string 
       
    82          * from "0\ttext1\ttext2" to "0\ttext1\ttext2\t\t\t6"
       
    83          * If anything inside this function leaves it will be trapped and aDes
       
    84          * wont be changed, otherwise aDes contains the resulting icon string.
       
    85          *
       
    86          * @since S60 v3.2
       
    87          * @param aDes the descriptor that contains the iconstring
       
    88          * @param aDataField the unparsed data field of a log event
       
    89          */ 
       
    90         virtual void ModifyIconString ( 
       
    91                             TDes& aDes, 
       
    92                             const MLogsEventGetter& aLogsEventGetter ) = 0;
       
    93         
       
    94         /**
       
    95          * Sets the observer of the extension.
       
    96          *
       
    97          * @since S60 v3.2
       
    98          * @param aObserver an observer
       
    99          */
       
   100         virtual void SetObserver( MLogsExtObserver& aObserver ) = 0 ;
       
   101 // <<<<  Sawfish VoIP changes
       
   102         
       
   103     protected:
       
   104         /**
       
   105          * Destructor.
       
   106          */
       
   107         virtual ~MLogsUiControlExtension() { }
       
   108     };
       
   109 
       
   110 #endif
       
   111             
       
   112 // End of File