wvuing/wvuiprocess/Inc/ccainviteeditorpc.h
changeset 0 094583676ce7
equal deleted inserted replaced
-1:000000000000 0:094583676ce7
       
     1 /*
       
     2 * Copyright (c) 2006 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:  Implementation for PC InviteEditor Interface
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef CCAINVITEEDITORPC_H
       
    20 #define CCAINVITEEDITORPC_H
       
    21 
       
    22 
       
    23 // INCLUDES
       
    24 //  INCLUDES
       
    25 #include <e32base.h>
       
    26 #include <badesca.h>
       
    27 
       
    28 #include "MCAInviteEditorPC.h"
       
    29 
       
    30 // FORWARD DECLARATIONS
       
    31 class MCAInvite;
       
    32 class MCAPresence;
       
    33 class MCAServerContactsArrayPC;
       
    34 class MCAInviteConflictResolver;
       
    35 //class declaration
       
    36 /**
       
    37  *  Implementation class for InviteEditor Interface for the UI.
       
    38  *  @lib wvuiprocessng.lib
       
    39  *  @since 3.2
       
    40  */
       
    41 class CCAInviteEditorPC:  public CBase,
       
    42             public MCAInviteEditorPC
       
    43     {
       
    44 
       
    45     public:
       
    46 
       
    47         /**
       
    48          * Symbian Two Phase Constructor
       
    49          * @param aEngine : a reference to chat engine
       
    50          */
       
    51         static CCAInviteEditorPC* NewL( MCAInvite& aInviteAPI,
       
    52                                         MCAPresence& aPresenceAPI );
       
    53 
       
    54 
       
    55         /**
       
    56          * Second phased symbian constructor.
       
    57          */
       
    58         void ConstructL();
       
    59 
       
    60         /**
       
    61          * virtual destructor
       
    62          */
       
    63         virtual ~CCAInviteEditorPC();
       
    64 
       
    65     private:
       
    66 
       
    67         /**
       
    68          * default constructor
       
    69          * @param aEngine : a reference to chat engine
       
    70          */
       
    71 
       
    72         CCAInviteEditorPC( MCAInvite& aInviteAPI,
       
    73                            MCAPresence& aPresenceAPI );
       
    74 
       
    75     public: //From MCAInviteEditorPC
       
    76         /**
       
    77          * Sends an invitation for joining to a group.
       
    78          * @param aUserIDs specifies the user IDs who are going to receive
       
    79          *        this invitation.
       
    80          * @param aGroupID is the group WV ID.
       
    81          * @param aMessage is the invitation message.
       
    82          */
       
    83         TInt SendInvitationL( const CDesCArray& aUserIDs,
       
    84                               const TDesC& aGroupID,
       
    85                               const TDesC& aMessage );
       
    86         /**
       
    87          * Gets online friends from Presence API and fetch nicknames also
       
    88          * for contact ID's from Storage.
       
    89          * @return contacts array with wvid's and nicknames
       
    90          */
       
    91         MCAServerContactsArrayPC* GetOnlineFriendsLC( const TDesC& aIconTabulator );
       
    92 
       
    93         /**
       
    94         * Populates list of wvids to whom user can send invitation
       
    95         * @since 2.1
       
    96         * @param aInviteList List of user-ids
       
    97         * @param aRawOnlineList Raw data online-list
       
    98         * @param aSelectionArray Array of selected indexes
       
    99         */
       
   100         void PopulateInviteListL( CDesCArray& aInviteList,
       
   101                                   const MCAServerContactsArrayPC& aRawOnlineList,
       
   102                                   const CArrayFixFlat<TInt>& aSelectionArray );
       
   103     private://Data
       
   104 
       
   105         MCAInvite& iInviteAPI;
       
   106 
       
   107         MCAPresence& iPresenceAPI;
       
   108     };
       
   109 
       
   110 #endif      // CCAINVITEEDITORPC_H
       
   111 
       
   112 // End of File