upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,173 @@
+/*
+* 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:      interface for session against a renderer
+*
+*/
+
+
+
+
+
+
+#ifndef C_UPNPAVRENDERINGSESSION_H
+#define C_UPNPAVRENDERINGSESSION_H
+
+#include <e32std.h>
+#include "upnpavsessionbase.h"
+
+class MUPnPAVRenderingSessionObserver;
+class CUpnpItem;
+
+/**
+ *  AV Controller rendering session interface.
+ *
+ *  This class defines the rendering interface of AV Controller.
+ *  Includes operations to set and to set next uri, play, stop and
+ *  pause the playback, to set the volume and mute and to get the
+ *  position information
+ *
+ *  @lib upnpavcontrollerclient.lib
+ *  @since S60 v3.1
+ */
+ class MUPnPAVRenderingSession : public MUPnPAVSessionBase
+    {
+
+public:
+
+    /**
+     * Sets the rendering session observer
+     *
+     * @since Series 60 3.1      
+     * @param aObserver rendering session observer
+     * @return none
+     */
+    virtual void SetObserver(
+        MUPnPAVRenderingSessionObserver& aObserver ) = 0;
+
+    /**
+     * Removes the rendering session observer
+     *
+     * @since Series 60 3.1     
+     * @param None
+     * @return None
+     */
+    virtual void RemoveObserver() = 0;
+    
+    /**
+     * Returns the rendering session observer
+     *
+     * @since Series 60 3.1     
+     * @param None
+     * @return observer
+     */
+    virtual MUPnPAVRenderingSessionObserver* Observer() const = 0;   
+    
+public:
+
+    /**
+     * Set the URI by providing an URI and the item  
+     * 
+     * @since Series 60 3.1
+     * @param aURI URI of the item
+     * @param aObject item
+     */
+    virtual void SetURIL( const TDesC8& aURI, const CUpnpItem& aItem ) = 0;
+    
+    /**
+     * Set the next URI by providing an URI and the item  
+     * 
+     * @since Series 60 3.1
+     * @param aURI URI of the item
+     * @param aObject item
+     */
+    virtual void SetNextURIL( const TDesC8& aURI,
+        const CUpnpItem& aItem ) = 0;
+
+    /**
+     * Starts the playback. 
+     *
+     * @since Series 60 3.1
+     * @param None
+     * @return none
+     */
+    virtual void PlayL() = 0;
+
+    /**
+     * Stops the playback.
+     *
+     * @since Series 60 3.1
+     * @param None
+     * @return none
+     */
+    virtual void StopL() = 0;
+
+    /**
+     * Pauses the playback.
+     *
+     * @since Series 60 3.1
+     * @param None
+     * @return none
+     */
+    virtual void PauseL() = 0;
+
+    /**
+     * Sets the volume level.
+     *
+     * @since Series 60 3.1
+     * @param aVolumeLevel TInt Volume level in percents (0 - 100)
+     * @return none
+     */
+    virtual void SetVolumeL( TInt aVolumeLevel ) = 0;
+
+    /**
+     * Gets the volume level.
+     *
+     * @since Series 60 3.1
+     * @param None
+     * @return none
+     */
+    virtual void GetVolumeL() = 0;
+
+    /**
+     * Sets the mute state.
+     *
+     * @since Series 60 3.1
+     * @param aMute TBool desired state of the mute (ETrue of EFalse)
+     * @return none
+     */
+    virtual void SetMuteL( TBool aMute ) = 0;
+
+    /**
+     * Gets the mute state.
+     *
+     * @since Series 60 3.1
+     * @param None
+     * @return none
+     */
+    virtual void GetMuteL() = 0;
+
+    /**
+     * Gets position info of the media that is currently
+     * rendered on the UPnP Media Renderer.
+     *
+     * @since Series 60 3.0
+     * @param none
+     * @return none
+     */
+    virtual void GetPositionInfoL() = 0;
+    
+    };
+
+
+#endif // C_UPNPAVRENDERINGSESSION_H