--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsmessages/inc/senatomfeed.h Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2009 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: Header declaration
+*
+*/
+
+
+
+
+
+
+#ifndef SENATOMFEED_H_
+#define SENATOMFEED_H_
+
+/**
+* Provides object and methods to manipulate <feed> tag from atom-pub API.
+*
+* @lib SenMessages.DLL
+* @since 5.0
+*/
+
+
+
+// INCLUDES
+#include <e32base.h>
+#include <e32cmn.h>
+
+#include "senatommessage.h"
+
+
+class CSenAtomEntry;
+class CDesC16ArrayFlat;
+
+
+// CLASS DECLARATION
+
+
+class CSenAtomFeed : public CSenAtomMessage
+ {
+ public:
+ // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSenAtomFeed* NewL(TInt64 aId = 0);
+
+ /**
+ * Two-phased constructor.
+ */
+ IMPORT_C static CSenAtomFeed* NewLC(TInt64 aId = 0);
+
+ /**
+ * Destructor.
+ */
+ IMPORT_C ~CSenAtomFeed();
+
+ /*
+ * Method returns count of entries in the feed.
+ * @return - number of tries
+ *
+ */
+ IMPORT_C TInt EntryCount() ;//const;
+
+ /*
+ * Method returns an entry at specified index from the feed. Index is made from inserting order or from order in the feed xml
+ * in case of parsing.
+ * @param aIndex - index of returned entry
+ * @return - entry at index position
+ */
+ IMPORT_C CSenAtomEntry* Entry( TInt aIndex ) const;
+
+ /*
+ * Method adds the entry to the feed.
+ * @param aEntry - entry to insert
+ * @return - error code
+ */
+ IMPORT_C TInt AddEntryL(CSenAtomEntry& aEntry);
+
+ /*
+ * Method removes from the feed an entry with 'id' tag specified as @aEntryId parameter.
+ * @param aEntryId - id of an entry to remove
+ */
+ IMPORT_C void RemoveEntryL( const TDesC8& aEntryId );
+
+ /*
+ * Method removes from the feed first entry specified as @aEntry parameter. Distincion is made basing on 'id' tag of an entry.
+ * @param aEntry - entry to remove
+ */
+ IMPORT_C void RemoveEntryL( CSenAtomEntry& aEntry);
+
+ /*
+ * Method returns content of "subtitle" tag.
+ * @return - descriptor containing value of subtitle.
+ */
+ IMPORT_C const TDesC8& SubtitleL();
+
+ /*
+ * Method sets content of "subtitle" tag
+ * @param aSubtitle - descriptor that contains value of subtitle.
+ */
+ IMPORT_C void SetSubtitleL( const TDesC8& aTitle );
+
+ /*
+ * Method sets content of "icon" tag
+ * @param aUri - descriptor that contains value of icon's uri.
+ */
+ IMPORT_C void SetIconL( const TDesC8& aUri);
+
+ /*
+ * Method returns content of "icon" tag.
+ * @return - descriptor containing value of icon's uri.
+ */
+ IMPORT_C const TDesC8& IconL();
+
+ /*
+ * Method sets content of "logo" tag
+ * @param aUri - descriptor that contains value of logo tag.
+ */
+ IMPORT_C void SetLogoL( const TDesC8& logo);
+
+ /*
+ * Method returns content of "logo" tag.
+ * @return - descriptor containing value of logo.
+ */
+ IMPORT_C const TDesC8& LogoL();
+
+ /*
+ * Method returns whole content of "generator" tag as TXmlEngElement.
+ * @return - generator tag as TXmlEngElement
+ */
+ IMPORT_C TXmlEngElement GetGeneratorL();
+
+ /*
+ * Method sets content of "generator" tag. Provided parameters correspond in name with subtags of the tag.
+ * @param aUri - uri value
+ * @param aVersion - version value
+ * @param aText - text value
+ */
+ IMPORT_C void SetGeneratorL( const TDesC8& aUri, const TDesC8& aVersion, const TDesC8& aText);
+
+
+ //CALLBACK
+ IMPORT_C virtual void OnStartElementL(const RTagInfo& aElement,
+ const RAttributeArray& aAttributes,
+ TInt aErrorCode);
+ //CALLBACK
+ IMPORT_C virtual void OnEndElementL(const RTagInfo& aElement,
+ TInt aErrorCode);
+ //CALLBACK
+ IMPORT_C virtual void OnContentL(const TDesC8& aBytes, TInt aErrorCode);
+
+
+ protected:
+
+ IMPORT_C CSenAtomFeed();
+ IMPORT_C void BaseConstructL();
+ IMPORT_C void ParseEntryL(const RTagInfo& aElement, const RAttributeArray& aAttributes);
+
+ protected: // Data
+ CSenFragmentBase* ipEntryFragment;
+ RPointerArray<CSenAtomEntry> iEntries;
+ CSenAtomEntry* iEntry;
+ TXmlEngElement* ipGroupFragment;
+
+ };
+#endif /*SENATOMFEED_H_*/