upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsessionobserver.h
changeset 0 7f85d04be362
child 38 5360b7ddc251
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavrenderingsessionobserver.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,151 @@
+/*
+* 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:      callback interface for a rendering session
+*
+*/
+
+
+
+
+
+
+#ifndef M_UPNPAVRENDERINGSESSIONOBSERVER_H
+#define M_UPNPAVRENDERINGSESSIONOBSERVER_H
+
+// INCLUDE FILES
+#include "upnpavsessionobserverbase.h"
+
+// TYPEDEFS
+enum TUPnPAVInteractOperation
+    {
+    EUPnPAVPlay = 0,
+    EUPnPAVPause,
+    EUPnPAVStop,
+    EUPnPAVPlayUser,
+    EUPnPAVPauseUser,
+    EUPnPAVStopUser
+    };
+
+/**
+* Defines the response interface for the media control operations of the
+* UPnP AV Controller.
+*
+* @since Series 60 3.1
+*/
+class MUPnPAVRenderingSessionObserver : public MUPnPAVSessionObserverBase
+    {
+    
+public:
+
+    /**
+     * UPnP AV Controller calls this method to return the result for the
+     * 'get volume' request. Parameter contains the volume level of the
+     * media renderer device to which the 'get volume' request was sent.
+     *
+     * @since Series 60 3.1
+     * @param aError system wide error code
+     * @param aVolumeLevel TInt volume level (integer value between 0 - 100)
+     * @param aActionResponse ETrue, if this is a response to GetVolume()
+     * @return None
+     */
+    virtual void VolumeResult( TInt aError, TInt aVolumeLevel,
+        TBool aActionResponse ) = 0;
+
+    /**
+     * UPnP AV Controller calls this method to return the result for the
+     * 'get mute' request. Parameter contains the state of the mute of the
+     * media renderer device to which the 'get mute' request was sent.
+     *
+     * @since Series 60 3.1
+     * @param aError system wide error code
+     * @param aMute TBool the state of the mute (ETrue or EFalse)
+     * @param aActionResponse ETrue, if this is a response to GetMute()
+     * @return None
+     */
+    virtual void MuteResult( TInt aError, TBool aMute,
+        TBool aActionResponse ) = 0;
+
+    /**
+     * UPnP AV Controller calls this method to indicate that the requested
+     * interaction operation (play, stop, etc.) is complete. In other words,
+     * the target rendering device has changed it's state accordingly.
+     *
+     * @since Series 60 3.1
+     * @param aError system wide error code
+     * @param aOperation TInt operation (TAVInteractOperation)
+     * @return None
+     */
+    virtual void InteractOperationComplete( 
+                      TInt aError,
+                      TUPnPAVInteractOperation aOperation 
+                      ) = 0;
+
+    /**
+     * UPnP AV Controller calls this method as a response to Position 
+     * Info action. The current position and the total length of the 
+     * track that is currently playing is returned. The results are in
+     * (hh:mm:ss) format.
+     *
+     * UPnPAVController releases the memory allocated for aTrackPosition
+     * and aTrackLength.
+     *
+     * @since Series 60 3.0
+     * @param aStatus TInt error code
+     * @param aTrackPosition TDesC8& track position
+     * @param aTrackLength TDesC8& track length
+     * @return None
+     */
+    virtual void PositionInfoResult( 
+                      TInt aError, 
+                      const TDesC8& aTrackPosition, 
+                      const TDesC8& aTrackLength 
+                      ) = 0;
+
+    /**
+     * UPnP AV Controller calls this method to return the result for the
+     * 'set uri' request.
+     *
+     * @since Series 60 3.1
+     * @param aError error code
+     * @return None
+     */                      
+    virtual void SetURIResult( TInt aError ) = 0;
+
+    /**
+     * UPnP AV Controller calls this method to return the result for the
+     * 'set next uri' request.
+     *
+     * @since Series 60 3.1
+     * @param aError error code
+     * @return None
+     */                         
+    virtual void SetNextURIResult( TInt aError ) = 0;                   
+
+    /**
+     * Notifies that the Media Renderer we have a session with has
+     * disappeared. Session is now unusable and must be closed. 
+     *
+     * @since Series 60 3.1
+     * @return None
+     */        
+    virtual void MediaRendererDisappeared( 
+        TUPnPDeviceDisconnectedReason aReason ) = 0;
+        
+    virtual void ReserveLocalMSServicesCompleted( TInt aError ) = 0;        
+
+    };
+
+#endif // M_UPNPAVRENDERINGSESSIONOBSERVER_H
+
+// End of File