phonebookui/Phonebook/App/inc/CPbkAiwInterestItemCall.h
changeset 0 e686773b3f54
equal deleted inserted replaced
-1:000000000000 0:e686773b3f54
       
     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 *     Implements Call AIW interest item functionality.
       
    16 *
       
    17 */
       
    18 
       
    19 
       
    20 #ifndef __CPbkAiwInterestItemCall_H__
       
    21 #define __CPbkAiwInterestItemCall_H__
       
    22 
       
    23 //  INCLUDES
       
    24 #include <e32base.h>
       
    25 #include "CPbkAiwInterestItemBase.h"
       
    26 #include <MPbkAiwInterestItem.h>
       
    27 
       
    28 // FORWARD DECLARATIONS
       
    29 class CPbkContactEngine;
       
    30 class CAiwServiceHandler;
       
    31 class CPbkContactItem;
       
    32 class CPbkCallTypeSelector;
       
    33 class MPbkCommand;
       
    34 
       
    35 // CLASS DECLARATION
       
    36 
       
    37 /**
       
    38  * Base AIW interest item. Implements common AIW interest logic.
       
    39  *
       
    40  */
       
    41 class CPbkAiwInterestItemCall : 
       
    42         public CPbkAiwInterestItemBase, public MPbkAiwInterestItem
       
    43     {
       
    44     public:  // Constructors and destructor
       
    45         /**
       
    46          * Creates a new instance of this class.
       
    47          */
       
    48         static CPbkAiwInterestItemCall* NewL(
       
    49             CAiwServiceHandler& aServiceHandler,
       
    50             CPbkContactEngine& aEngine);
       
    51 
       
    52         /**
       
    53          * Destructor.
       
    54          */
       
    55         ~CPbkAiwInterestItemCall();
       
    56 
       
    57     public:  // from MPbkAiwInterestItem
       
    58         TBool InitMenuPaneL(
       
    59             TInt aResourceId,
       
    60             CEikMenuPane& aMenuPane,
       
    61             TUint aFlags);
       
    62         TBool HandleCommandL(
       
    63             TInt aMenuCommandId,
       
    64             const CContactIdArray& aContacts,
       
    65             const TPbkContactItemField* aFocusedField = NULL,
       
    66             TInt aServiceCommandId = KNullHandle,
       
    67             MPbkAiwCommandObserver* aObserver = NULL);
       
    68         void AttachL(
       
    69             TInt aMenuResourceId,
       
    70             TInt aInterestResourceId,
       
    71             TBool aAttachBaseServiceInterest);
       
    72 
       
    73     private:  // implementation
       
    74         CPbkAiwInterestItemCall(
       
    75             CAiwServiceHandler& aServiceHandler,
       
    76             CPbkContactEngine& aEngine);
       
    77         void ConstructL();
       
    78         MPbkCommand* CreateCallCmdObjectL(
       
    79             TInt aMenuCommandId,
       
    80             const CPbkContactItem& aContact,
       
    81             const CContactIdArray& aContacts,
       
    82             const TPbkContactItemField* aFocusedField);
       
    83         MPbkCommand* CreatePocCmdObjectL(
       
    84             TInt aMenuCommandId,
       
    85             const CContactIdArray& aContacts,
       
    86             const TPbkContactItemField* aFocusedField);
       
    87 
       
    88     private: // data
       
    89         /// Ref: Phonebook contact engine
       
    90         CPbkContactEngine& iEngine;
       
    91         /// Own: Call type selector
       
    92         CPbkCallTypeSelector* iSelector;
       
    93     };
       
    94 
       
    95 #endif // __CPbkAiwInterestItemCall_H__
       
    96             
       
    97 // End of File