diff -r 000000000000 -r dd21522fd290 browserutilities/feedsengine/FeedsServer/Common/inc/PackedFolder.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/feedsengine/FeedsServer/Common/inc/PackedFolder.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,158 @@ +/* +* 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 the License "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: Is a serialized version of CFolderIem suitable for transfer between +* client and server. +* +*/ + + +#ifndef PACKED_FOLDER_H +#define PACKED_FOLDER_H + + +// INCLUDES +#include + +#include "LeakTracker.h" +#include "Packed.h" + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + + +/** +* Is a serialized version of CFolderItem suitable for transfer between client and server. +* +* \b Library: FeedsEngine.lib +* +* @since 3.1 +*/ +class CPackedFolder: public CPacked + { + public: // Destructor + /** + * Two-phased constructor. + */ + static CPackedFolder* NewL(); + + /** + * Destructor. + */ + virtual ~CPackedFolder(); + + + public: // New Methods + /** + * Insert the begining of a folder. + * + * @since 3.1 + * @param aTitle The folder's title. + * @param aEntryId The unique id for this entry. + * @return Void + */ + void FolderBeginsL(const TDesC& aTitle, TInt aEntryId = 0, TInt aStatus = KErrNone); + + /** + * Insert the ending of a folder. + * + * @since 3.1 + * @return Void + */ + void FolderEndsL(); + + /** + * Insert a feed. + * + * @since 3.1 + * @param aTitle The feed's title. + * @param aFeedUrl The feed's url. + * @param aLastUpdate The feed's timestamp. + * @param aUnreadCount The number of unread topics. + * @param aEntryId The unique id for this entry. + * @param aFeedId The id of the feed. + * @return void. + */ + void AddFeedL( const TDesC& aTitle, const TDesC& aFeedUrl, + const TTime& aLastUpdate, TInt aFreq, TInt aStatus = KErrNone, TInt aUnreadCount = 0, TInt aEntryId = 0, TInt aFeedId = 0); + + /** + * Insert the begining of a mini item. + * + * @since 3.2 + * @return Void + */ + void ItemBeginsL(); + + /** + * Insert the ending of a mini item. + * + * @since 3.2 + * @return Void + */ + void ItemEndsL(); + + /** + * Called when when packing is done. + * + * @since 3.1 + * @return void. + */ + void DoneL(); + + /** + * Extract the folder item's attributes. + * + * @since 3.1 + * @param aTitle The item's title. + * @param aUrl The item's url. + * @param aEntryId The item's entry id. + * @param aFeedId The item's feed id or 0 if its a folder. + * @param aTimestamp The item's timestamp. + * @param aUnreadCount The number of unread topics. + * @param aStatus The feed status. + * @param aFreq The frequency for auto updating. + * @return void. + */ + void ExtractAttributes(TPtrC& aTitle, TPtrC& aUrl, TInt& aEntryId, + TInt& aFeedId, TTime& aTimestamp, TInt& aUnreadCount, TInt &aStatus, TInt& aFreq) const; + + + protected: // New Methods + /** + * C++ default constructor. + */ + CPackedFolder(TInt aTokenArrayInc, TInt aStringTableInc); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + private: + TLeakTracker iLeakTracker; + }; + + +#endif // PACKED_FOLDER_H + +// End of File