upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h
branchnew development branch with rendering state machine and other goodies
changeset 38 5360b7ddc251
parent 0 7f85d04be362
--- a/upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h	Fri Sep 17 08:31:21 2010 +0300
+++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsession.h	Mon Nov 01 12:37:49 2010 +0200
@@ -1,173 +1,188 @@
-/*
-* 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
+/*
+* 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"
+#include "upnpavrenderingsessionobserver.h"
+
+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;
+    
+    /**
+     * Sends a AVTransport Seek operation with type REL_TIME to the renderer.
+     *
+     * @since Series 60 3.2.3
+     * @param aDesiredTime the time where to seek
+     */
+    virtual void SeekRelTimeL( const TTime& aDesiredTime ) = 0;
+        
+    /**
+     * Returns current state of the renderer
+     *
+     * @since Series 60 5.2
+     * @return TUPnPAVInteractOperation rendrer state
+     */
+    virtual TUPnPAVInteractOperation GetRendererStateL() = 0;
+    };
+
+
+#endif // C_UPNPAVRENDERINGSESSION_H