tsrc/musenginestub/inc/musengreceivesession.h
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
equal deleted inserted replaced
32:73a1feb507fb 33:bc78a40cd63c
    17 
    17 
    18 
    18 
    19 #ifndef MUSHENGREVEIVESESSION_H
    19 #ifndef MUSHENGREVEIVESESSION_H
    20 #define MUSHENGREVEIVESESSION_H
    20 #define MUSHENGREVEIVESESSION_H
    21 
    21 
    22 // INCLUDES
       
    23 #include "musengmcesession.h"
       
    24 #include "musenguriparser.h"
       
    25 #include "musunittesting.h"
       
    26 #include "lcvideoplayer.h"
       
    27 #include <mcemediasink.h>
       
    28 
       
    29 // FORWARD DECLARATIONS
       
    30 class MMusEngReceiveSessionObserver;
       
    31 class CMceInSession;
       
    32 
    22 
    33 
    23 
    34 class CMusEngReceiveSession : 
    24 #include "musengmcesession.h"
    35     public CMusEngMceSession,
    25 
    36     public MLcVideoPlayer
    26 
       
    27 class MMusEngReceiveSessionObserver;
       
    28 
       
    29 class CMusEngReceiveSession : public CMusEngMceSession
       
    30 
    37     {
    31     {
    38     
    32 
    39     public: // Contructors and destructor
    33     public: // Contructors and destructor
    40 
    34 
    41        /**
    35        /**
    42         * Creates new MultimediaSharing Receive session.
    36         * Creates new MultimediaSharing Receive session.
    43         *
    37         *
    44         * @param aRect UI drawing area. It is allowed handle from engine
    38         * @param aRect UI drawing area. It is allowed handle from engine
    45         * @param aEngObserver Engine specific callbacks
    39         * @param aEngObserver Engine specific callbacks
    46         * @param aSessionObserver Session specific callbacks
    40         * @param aSessionObserver Session specific callbacks
    47         * @return CMusEngReceiveSession* New instanse of specified class
    41         * @return CMusEngReceiveSession* New instanse of specified class
    48         */
    42         */
    49         static CMusEngReceiveSession* NewL( const TRect& aRect );
    43         IMPORT_C static CMusEngReceiveSession* NewL(
       
    44                             const TRect& aRect,
       
    45                             MMusEngReceiveSessionObserver* aSessionObserver );
    50        /**
    46        /**
    51         * Destructor
    47         * Destructor
    52         *
    48         *
    53         * @since S60 v3.2
    49         * @since S60 v3.2
    54         */
    50         */
    55         ~CMusEngReceiveSession();
    51         ~CMusEngReceiveSession();
    56       
       
    57 
    52 
    58     public: // from MLcSession
       
    59         
       
    60         void EstablishLcSessionL();
       
    61     
       
    62         MLcVideoPlayer* RemoteVideoPlayer();    
       
    63         
       
    64         const TDesC& RemoteDisplayName();
       
    65         
       
    66         
       
    67     public: // from MLcVideoPlayer
       
    68         
       
    69         TLcVideoPlayerState LcVideoPlayerState() const;
       
    70         
       
    71         TBool LcIsPlayingL();
       
    72         
       
    73         void LcPlayL();
       
    74         
       
    75         void LcPauseL();
       
    76     
       
    77         MLcWindow* LcWindow();
       
    78 
    53 
    79         MLcCameraControl* LcCameraControl();
    54     public: // API
    80         
       
    81         MLcFileControl* LcSourceFile();
       
    82         
       
    83         MLcFileControl* LcDestinationFile();
       
    84         
       
    85         MLcAudioControl* LcAudioControl();
       
    86     
       
    87         MLcZoomControl* LcZoomControl();
       
    88     
       
    89         MLcBrightnessControl* LcBrightnessControl();
       
    90 
    55 
    91         RPointerArray< MLcValueControl >& LcExtensionControls(); 
    56        /**
    92         
    57         * Accept or deny processed invitation
       
    58         *
       
    59         * @param aAccept ETrue if session is to be accepted and EFalse if
       
    60         *        to be rejected.
       
    61         */
       
    62         IMPORT_C void AcceptInvitationL(const TBool& aAccept);
    93 
    63 
    94     protected: // CONSTRUCTORS
       
    95     
       
    96         CMusEngReceiveSession( const TRect& aRect );
       
    97 
    64 
    98 		void ConstructL();
    65     public:
    99 		
    66 
   100        
    67        /**
   101     protected: // DATA
    68         * Sets callback interface pointer
   102     
    69         *
   103         // identity of originator parsed form P-Asserted-Identity field
    70         * @param aSessionObserver Pointer to class which implements interface
   104         TBuf8<KMaxUriLength> iIdentity;
       
   105         
       
   106         HBufC8* iOriginator;
       
   107         
       
   108         HBufC* iRemoteDisplayName;
       
   109        
       
   110         /** 
       
   111         * Dummy member variable to implement MLcVideoPlayer::LcExtensionControls
       
   112         */
    71         */
   113         RPointerArray< MLcValueControl > iValueControls; 
    72         IMPORT_C void SetSessionObserver(
       
    73                                 MMusEngReceiveSessionObserver* aSessionObserver );
       
    74 
       
    75 
       
    76 
       
    77     protected: // internal API
       
    78 
       
    79         /**
       
    80         *
       
    81         * @since S60 v3.2
       
    82         */
       
    83         TBool IsRtpcInactivityTimoutSupported();
       
    84 
       
    85 
       
    86     private: // CONSTRUCTORS
       
    87 
       
    88         CMusEngReceiveSession( MMusEngReceiveSessionObserver* aSessionObserver,
       
    89                                const TRect& aRect );
       
    90 
       
    91         void ConstructL();
       
    92 
       
    93     public: // HELPERS
       
    94 
       
    95         //CMceInSession* InSession();
       
    96 
       
    97         MMusEngReceiveSessionObserver* ReceiveSessionObserver();
       
    98 
       
    99         // void CompleteSessionStructureL( CMceInSession& aInSession );
       
   100 
       
   101 
       
   102     public: // DATA
       
   103 
       
   104        // CMceInSession* iTemporaryInSession; // Owned
       
   105        TBool iAccepInvitation;
       
   106 
   114     };
   107     };
   115 
   108 
   116 #endif
   109 #endif
   117 
   110