diff -r 000000000000 -r 7f85d04be362 upnpavcontroller/upnpavcontrollerclient/inc/upnpavbrowserequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavbrowserequest.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,203 @@ +/* +* 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: a data class containing browse-related data +* +*/ + + + + + + +#ifndef C_CUPNPAVBROWSEREQUEST_H +#define C_CUPNPAVBROWSEREQUEST_H + + +#include +#include + +#include "upnpavbrowsingsession.h" +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* UPnP AV Controller Client/Server communication helper class +* +* +* @lib - +* @since Series 60 3.1 +*/ + +class CUpnpAVBrowseRequest : public CBase + { + +public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static inline CUpnpAVBrowseRequest* NewLC(); + + /** + * Two-phased constructor. + */ + static inline CUpnpAVBrowseRequest* NewL(); + + /** + * Destructor. + */ + inline virtual ~CUpnpAVBrowseRequest(); + +public: + + /** + * Externalizes device information to stream. + * Leaves in case of errors. + * @since Series 60 3.0 + * @param reference to RWriteStream + * @return none + */ + inline void ExternalizeL( RWriteStream& aStream ) const; + + /** + * Internalizes device information from stream. + * Leaves in case of errors. + * @since Series 60 3.0 + * @param reference to RReadStream + * @return none + */ + inline void InternalizeL( RReadStream& aStream ); + + /** + * Externalizes information to stream and returns the object as a heap + * desctiptor. + */ + inline HBufC8* ToDes8L() const; + +private: // + + /** + * Constructor + */ + inline CUpnpAVBrowseRequest(); + + /** + * Perform the second phase construction + */ + inline void ConstructL(); + +public: // New methods + + /** + * Set Id + * @param aId + */ + inline void SetIdL( const TDesC8& aId ); + + /** + * Get Id + * @return id + */ + inline const TDesC8& Id(); + + /** + * Set search criteria + * @param aSearchCriteria + */ + inline void SetSearchCriteriaL( const TDesC8& aSearchCriteria ); + + /** + * Get search criteria + * @return search criteria + */ + inline const TDesC8& SearchCriteria(); + + /** + * Set filter + * @param aFilter + */ + inline void SetFilterL( const TDesC8& aFilter ); + + /** + * Get filter + * @return filter + */ + inline const TDesC8& Filter(); + + /** + * Set browse flag + * @param aBrowseFlag + */ + inline void SetBrowseFlag( MUPnPAVBrowsingSession::TBrowseFlag + aBrowseFlag ); + + /** + * Get browse flag + * @return browse flag + */ + inline MUPnPAVBrowsingSession::TBrowseFlag BrowseFlag(); + + /** + * Set start index + * @param aStartIndex + */ + inline void SetStartIndex( TInt aStartIndex ); + + /** + * Get start index + * @return start index + */ + inline TInt StartIndex(); + + /** + * Set requested count + * @param aRequestedCount + */ + inline void SetRequestedCount( TInt aRequestedCount ); + + /** + * Get requested count + * @return requested count + */ + inline TInt RequestedCount(); + + /** + * Set sort criteria + * @param aSortCriteria + */ + inline void SetSortCriteriaL( const TDesC8& aSortCriteria ); + + /** + * Get sort criteria + * @return sort criteria + */ + inline const TDesC8& SortCriteria(); + +private: + + TInt iCriteriaLength; + HBufC8* iId; // Owned + HBufC8* iSearchCriteria; // Owned + HBufC8* iFilter; // Owned + MUPnPAVBrowsingSession::TBrowseFlag iBrowseFlag; + TInt iStartIndex; + TInt iRequestedCount; + HBufC8* iSortCriteria; // Owned + + }; + +#include "upnpavbrowserequest.inl" + +#endif // C_CUPNPAVBROWSEREQUEST_H