presadap12/impsplugin/inc/pimpsadapxmltools.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) 2006 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:  Various tools for XML
*
*/

#ifndef __NIMPSADAPXMLTOOLS_H__
#define __NIMPSADAPXMLTOOLS_H__

//  INCLUDES
#include <e32base.h>
#include "PEngXMLTags.h"
#include "impsplugintags.h"
#include "PImpsAdapWVCspVersion.h"



// FORWARD DECLARATION

class MPEngXMLSerializer;
class MPEngXMLParser;


// NAMESPACE DEFINITION

/**
 * Namespace encapsulating a collection of
 * List Library utility functions.
 */
namespace NImpsAdapXMLTools
    {
    /**
     * Leave if there is error except, KErrAlreadyExists.
     *
     * @since 3.0
     * @param aError The errorcode which to handle
     */
    void LeaveIfMajorErrorL( TInt aError );

#if 0
    /**
     * Parses contacts in the nick list response.
     *
     * @since 3.0
     * @param aResponse buffer with response to parse
     * @param aParsedContacts array to store parsed contacts
     * @param aContactList contact list model to look for contacts
     * @param aXMLparser1 XML parser1
     * @param aXMLparser2 XML parser2
     * @param aUpdateNickname
     * @param aNewContactCount count is goint to be increased for each new contact
     */

    TBool ParseContactListNickListL(
        const TDesC8& aResponse,
        RPointerArray<CPEngContactListModItemContainer>& aParsedContacts,
        CPEngContactListModBase& aContactList,
        MPEngXMLParser& aXMLparser1,
        MPEngXMLParser& aXMLparser2,
        TBool aUpdateNickname,
        TInt* aNewContactCount = NULL );



    /**
     * Parses plain contact IDs from the list response.
     *
     * @since 3.0
     * @param aResponse buffer with response to parse
     * @param aParsedContacts array to store parsed contacts
     * @param aContactList contact list model to look for contacts
     * @param aXMLparser1 XML parser1
     * @param aXMLparser2 XML parser2
     * @param aUpdateNickname
     * @param aNewContactCount count is goint to be increased for each new contact
     */
    /*
    TBool ParseContactListIDsL(
                       const TDesC8& aResponse,
                       RPointerArray<CPEngContactListModItemContainer>& aParsedContacts,
                       CPEngContactListModBase& aContactList,
                       MPEngXMLParser& aXMLparser1,
                       TBool aUpdateNickname,
                       TInt* aNewContactCount = NULL );


    */
    /**
     * Parse Contact list properties
     *
     * @since 3.0
     * @param aResponse buffer with response to parse
     * @param aSettings contact list settings, to store parsed data
     * @param aXMLparser1 XML parser1
     * @param aXMLparser2 XML parser2
     */
    /*
    TBool ParseContactListPropertiesL(
                       const TDesC8& aResponse,
                       CPEngContactListSettings& aSettings,
                       MPEngXMLParser& aXMLparser1,
                       MPEngXMLParser& aXMLparser2 );

    */
    /**
     * Remove bad contact from the contact list(local, network view)
     *
     * @since 3.0
     * @param aTransactionStatus transaction status with the bad contact ids
     * @param aContactList contact list
     */
    /*
    void RemoveBadContactsL(
                       const CPEngTransactionStatus& aTransactionStatus,
                       CPEngContactListModBase& aContactList );

    */
    /**
     * Remove bad contact Ids from the local view, so they will be removed
     * from the server at next transaction.
     *
     * @since 3.0
     * @param aTransactionStatus transaction status with the bad contact ids
     * @param aContactList contact list
     */
    /*
    void MarkForRemoveBadContactsL(
                       const CPEngTransactionStatus& aTransactionStatus,
                       CPEngContactListModBase& aContactList );

    */

#endif

    /**
    * Append transaction content to the start of the buffer
    * @since 3.0
    * @param aXMLSerializer XML serializer
    * @param aCSPVersion CPS Version
    */
    void AppendTransactionContentTagXmlL(
        MPEngXMLSerializer& aXMLSerializer,
        TImpsAdapWVCspVersion aCSPVersion );

    void AppendUserIdXmlL( MPEngXMLSerializer& aXmlSerializer,
                           const TDesC16& aUserId );

    /**
     * Append Contact list "ReceiveList" tag for the
     * "ListManage-Request" request, if it is supported
     *
     * @since 3.0
     * @param aXMLSerializer XML serializer
     * @param aCSPVersion version of the CSP
     * @param aValue value of the ReceiveList tag
     */
    void ApppendReceiveListTagL( MPEngXMLSerializer& aXmlSerializer,
                                 TImpsAdapWVCspVersion& aCSPVersion,
                                 TBool aValue );

    void AppendContactListNameXmlL( MPEngXMLSerializer& aXmlSerializer,
                                    const TDesC16& aContactListName );

#if 0


    /**
     * Append Presence Attributes for subscription to the XML buffer
     *
     * @since 3.0
     * @param aAttributes
     * @param aXMLSerializer XML serializer
     * @param aSessionSlotId Session slot Id
     * @param aCSPVersion CSP Version
     */
    //void AppendAttributesForSubscriptionXmlL(
    //                    const RArray<TUint32> aAttributes,
    //                    MPEngXMLSerializer& aXmlSerializer,
    //                    const CPEngSessionSlotId& aSessionSlotId,
    //                    TPEngWVCspVersion& aCSPVersion );



    /**
     * Append Contact list properties into the XML buffer
     *
     * @since 3.0
     * @param aXMLSerializer XML serializer
     * @param aSettings contact list settings
     */
    /*
    void AppendContactListPropertiesXmlL(
                       MPEngXMLSerializer& aXmlSerializer,
                       const CPEngContactListSettings& aSettings );
    */



#endif

    }




#endif // __NIMPSADAPXMLTOOLS_H__


//  End of File