--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavbrowsingsession.h Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,225 @@
+/*
+* 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: session towards a media server
+*
+*/
+
+
+
+
+
+
+#ifndef C_UPNPAVBROWSINGSESSION_H
+#define C_UPNPAVBROWSINGSESSION_H
+
+// INCLUDE FILES
+#include <e32std.h>
+#include "upnpavsessionbase.h"
+
+// FORWARD DECLARATIONS
+class MUPnPAVDeviceObserver;
+class MUPnPAVBrowsingSessionObserver;
+class MUPnPAVFileObserver;
+class CUpnpObject;
+class CUpnpItem;
+class CUpnpAVDevice;
+class CUpnpContainer;
+
+/**
+ * AV Controller browsing session interface.
+ *
+ * This class defines the browsing interface of AV Controller. Includes
+ * operations to search, browse, copy, create container, delete object and
+ * to get search capabilities.
+ *
+ * @lib upnpavcontrollerclient.lib
+ * @since S60 v3.1
+ */
+class MUPnPAVBrowsingSession : public MUPnPAVSessionBase
+ {
+
+public:
+
+ /**
+ * Defines the type of browse (metadata or direct children)
+ *
+ * @since Series 60 3.1
+ */
+ enum TBrowseFlag
+ {
+ EDirectChildren = 0,
+ EMetadata
+ };
+
+ /**
+ * Defines the download location (default, phone memory, memory card or
+ * RAM Drive)
+ *
+ * @since Series 60 3.1
+ */
+ enum TMemoryType
+ {
+ EDefault = 0,
+ EPhone ,
+ EMemoryCard,
+ ERAMDrive
+ };
+
+ /**
+ * Defines the sharing status of a downloaded item
+ *
+ * @since Series 60 3.1
+ */
+ enum TFileSharing
+ {
+ EFileIsShared = 0,
+ EFileIsNotShared,
+ EShareBySettings
+ };
+
+ /**
+ * Defines the container type
+ *
+ * @since Series 60 3.1
+ */
+ enum TContainerType
+ {
+ EStorageContainer = 0, // object.container
+ EPlaylistContainer // object.container.playlistContainer
+ };
+
+public:
+
+ /**
+ * Sets the browsing session observer
+ *
+ * @since Series 60 3.1
+ * @param aObserver browsing session observer
+ */
+ virtual void SetObserver( MUPnPAVBrowsingSessionObserver&
+ aObserver) = 0;
+
+ /**
+ * Removes the browsing session observer
+ *
+ * @since Series 60 3.1
+ * @param None
+ */
+ virtual void RemoveObserver() = 0;
+
+ /**
+ * Returns the browsing session observer
+ *
+ * @since Series 60 3.1
+ * @param None
+ */
+ virtual MUPnPAVBrowsingSessionObserver* Observer() const = 0;
+
+public:
+
+ /**
+ * Browses the content directory of a given Media
+ * Server.
+ *
+ * @since Series 60 3.1
+ * @param aId Container or object id.
+ * @param aFilter TDesC8& filter
+ * @param aBrowseFlag Metadata or DirectChildren
+ * @param aStartIndex TInt start index
+ * @param aRequestedCount TInt requested count
+ * @param aSortCriteria TDesC8& sort criteria
+ */
+ virtual void BrowseL( const TDesC8& aId,
+ const TDesC8& aFilter,
+ TBrowseFlag aBrowseFlag,
+ TInt aStartIndex,
+ TInt aRequestedCount,
+ const TDesC8& aSortCriteria ) = 0;
+
+ /**
+ * Cancels the browse operation (ignores the result set when it
+ * is received).
+ *
+ * @since Series 60 3.1
+ * @param none
+ * @return none
+ */
+ virtual void CancelBrowse() = 0;
+
+ /**
+ * Searches the content directory of a given Media Server.
+ *
+ * @since Series 60 3.1
+ * @param aId container id
+ * @param aSearchCriteria TDesC8& search criteria
+ * @param aFilter TDesC8& filter
+ * @param aStartIndex TInt start index
+ * @param aRequestedCount TInt requested count
+ * @param aSortCriteria TDesC8& sort criteria
+ */
+ virtual void SearchL( const TDesC8& aId,
+ const TDesC8& aSearchCriteria,
+ const TDesC8& aFilter,
+ TInt aStartIndex,
+ TInt aRequestedCount,
+ const TDesC8& aSortCriteria ) = 0;
+
+ /**
+ * Cancels the search operation (ignores the result set when it
+ * is received).
+ *
+ * @since Series 60 3.1
+ * @param none
+ */
+ virtual void CancelSearch() = 0;
+
+ /**
+ * Gets the search capabilities of the Media Server that
+ * has been set as the "source device".
+ *
+ * @since Series 60 3.1
+ * @param None
+ */
+ virtual void GetSearchCapabilitiesL() = 0;
+
+ /**
+ * Creates a new container to the target Media Server.
+ *
+ * @since Series 60 3.1
+ * @param aTitle (const TDesC8&) title for the new container
+ * @param aParentId (const TDesC8&) container ID of the container into
+ * which the new container is to be created
+ * @param aContainerType (TContainerType) type of the new container
+ */
+ virtual void CreateContainerL( const TDesC8& aTitle,
+ const TDesC8& aParentId,
+ TContainerType aContainerType ) = 0;
+
+ /**
+ * Deletes an UPnP item on the target UPnP media server.
+ *
+ * @since Series 60 3.1
+ * @param aId id of an object to be destroyed
+ */
+ virtual void DeleteObjectL( const TDesC8& aId ) = 0;
+
+
+protected:
+
+ virtual ~MUPnPAVBrowsingSession() {};
+
+ };
+
+
+#endif // C_UPNPAVBROWSINGSESSION_H