PECengine/ListLibrary2/ContactListSrc/CPEngContactListMngTransAddId.h
author Fionntina Carville <fionntinac@symbian.org>
Mon, 15 Nov 2010 11:27:49 +0000
branchRCL_3
changeset 22 df9aab66f73e
parent 0 094583676ce7
permissions -rw-r--r--
Bug 3539. Update localisation mappings.

/*
* Copyright (c) 2005 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:  Contact list add contact handler.
*
*/

#ifndef __CPENGCONTACTLISTMNGTRANSADDID_H__
#define __CPENGCONTACTLISTMNGTRANSADDID_H__

//  INCLUDES
#include "CPEngContactListMngTransBase.h"


/**
 * Contact list add contact handler.
 *
 * @lib PEngListLib2
 * @since 3.0
 */
NONSHARABLE_CLASS( CPEngContactListMngTransAddId ) :
        public CPEngContactListMngTransBase
    {
public:

    /**
     * Two-phased constructor.
     */
    static CPEngContactListMngTransAddId* NewLC(
        CPEngContactListModBase& aContactList,
        CPEngSessionSlotId& aSessionSlotId,
        TPEngWVCspVersion& aCSPVersion,
        TInt aOperationId );

    /**
     * Destructor.
     */
    virtual ~CPEngContactListMngTransAddId();


public: // From CPEngContactListMngTransBase

    /**
     * Appends add nick list XML message
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoAppendListNickUpdateL( MPEngXMLSerializer& aXmlSerializer );


    /**
     * Append subscription update XML message
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoGetXMLSubscriptionUpdateL( MPEngXMLSerializer& aXmlSerializer );


    /**
     * Parse subscription update response
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoParseSubscriptionUpdateResponseL( const TDesC8& aResponse );


    /**
     * Update Transaction State
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoUpdateTransactionState();


    /**
     * Fill nick list of the update
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoFillNickListLC(
        RPointerArray<CPEngContactListModItemContainer>& aNickList );

    /**
     * Complete contact list update
     * @see <CPEngContactListMngTransBase.h>
     */
    void DoCompleteContactListUpdateL();


private: // Constructors

    /**
     * C++ constructor.
     */
    CPEngContactListMngTransAddId( CPEngContactListModBase& aContactList,
                                   CPEngSessionSlotId& aSessionSlot,
                                   TPEngWVCspVersion& aCSPVersion,
                                   TInt aOperationId );

    /**
     * Symbian constructor.
     */
    void ConstructL();

    };

#endif      //  __CPENGCONTACTLISTMNGTRANSADDID_H__


//  End of File