presadap12/impsplugin/inc/pimpsadapxmltools.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/presadap12/impsplugin/inc/pimpsadapxmltools.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,221 @@
+/*
+* 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
+