diff -r 000000000000 -r dd21522fd290 browserutilities/feedsengine/FeedsServer/FeedHandler/inc/FeedHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserutilities/feedsengine/FeedsServer/FeedHandler/inc/FeedHandler.h Mon Mar 30 12:54:55 2009 +0300 @@ -0,0 +1,103 @@ +/* +* 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: The top-level handler of Feeds. It takes a buffer and uses an +* appropriate feeds parser to create a Feed instance. +* +*/ + + +#ifndef FEED_HANDLER_H +#define FEED_HANDLER_H + + +// INCLUDES +#include + +#include "FeedParser.h" +#include "LeakTracker.h" + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION +class CXmlUtils; + +/** +* The top-level handler of Feeds. It takes a buffer and uses an +* appropriate feeds parser to create a Feed instance. +* +* \b Library: FeedsEngine.lib +* +* @since 3.0 +* @attention WARNING!!! This class must be "Thread (ActiveObject) safe". Meaning +* that it must not contain any member variables that can't +* be safely shared between all "threads" using it. +*/ +class CFeedHandler: public CBase + { + public: // Constructors and destructor + /** + * Two-phased constructor. + */ + static CFeedHandler* NewL(CXmlUtils& aXmlUtils); + + /** + * Destructor. + */ + virtual ~CFeedHandler(); + + + public: // New methods + /** + * Creates a Feed instance from the buffer. This method + * may modify aBuffer. + * + * @since 3.0 + * @param aBuffer A utf8 buffer. -- TODO: pass be ref + * @param aContentType The content-type. + * @param aCharSet The char-encoding. + * @return A Feed instance. + */ + void ParseL(TDesC8& aBuffer, const TDesC& aContentType, + const TDesC& aCharSet, MFeedParserObserver& aObserver); + + + private: + /** + * C++ default constructor. + */ + CFeedHandler(CXmlUtils& aXmlUtils); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + + private: + + TLeakTracker iLeakTracker; + CXmlUtils& iXmlUtils; + }; + +#endif // FEED_HANDLER_H + +// End of File \ No newline at end of file