Msrp/MsrpClient/inc/CMSRPSessionImplementation.h
branchMSRP_FrameWork
changeset 58 cdb720e67852
parent 25 505ad3f0ce5c
--- a/Msrp/MsrpClient/inc/CMSRPSessionImplementation.h	Sat Jun 12 14:30:11 2010 +0530
+++ b/Msrp/MsrpClient/inc/CMSRPSessionImplementation.h	Thu Nov 25 13:59:42 2010 +0200
@@ -32,102 +32,136 @@
 class RMSRP;
 class CMSRPSessionParams;
 
-
+// CLASS DECLARATION
+/**
+* This is an implementation class for CMSRPSession class.
+*
+*/
 class CMSRPSessionImplementation : public CBase
     {
-public:       
-    static CMSRPSessionImplementation* NewL( RMSRP& aRMSRP,
-                                             MMSRPSessionObserver& aObserver,
-                                             const TUint aIapId );
-    
-    static CMSRPSessionImplementation* NewLC( RMSRP& aRMSRP,
-                                              MMSRPSessionObserver& aObserver,
-                                              const TUint aIapId );
-    
-    ~CMSRPSessionImplementation();
+    public:       
     
-public:
-    
-    TDesC8& LocalMSRPPath();
-    
-    void SetSessionParams( CMSRPSessionParams& aSessionParams );
-    
-    void ConnectL( const TDesC8& aRemoteMsrpPath );
-    
-    void ListenL( const TDesC8& aRemoteMsrpPath );
-        
-    HBufC8* SendBufferL( const TDesC8& aMessage, const TDesC8& aMimeType );
+        /** 
+         * Object Creation. This is not exported to the client. It is called
+         * while attempting to create an msrp session.
+         * @param aRMSRP an instance of the client server session
+         * @param aObserver the session observer that is created by the client
+         * @param aIapId IAP id of the application
+         * @param aSessionId session id of this MSRP session. This comes from the
+         *        path SDP attribute where session id is used
+         * @return session object
+         */
+         static CMSRPSessionImplementation* NewL( RMSRP& aRMSRP,
+                                                 MMSRPSessionObserver& aObserver,
+                                                 const TUint aIapId,
+                                                 const TDesC8& aSessionId );
         
-    void CancelSendingL( TDesC8& aMessageId );
-    
+         /** 
+          * Object Creation. This is not exported to the client. It is called
+          * while attempting to create an msrp session.
+          * @param aRMSRP an instance of the client server session
+          * @param aObserver the session observer that is created by the client
+          * @param aIapId IAP id of the application
+          * @param aSessionId session id of this MSRP session. This comes from the
+          *        path SDP attribute where session id is used
+          * @return session object
+          */
+        static CMSRPSessionImplementation* NewLC( RMSRP& aRMSRP,
+                                                  MMSRPSessionObserver& aObserver,
+                                                  const TUint aIapId,
+                                                  const TDesC8& aSessionId );
         
-    void ConnectionEstablishedL( TInt aStatus );
-    
-    void HandleIncomingMessageL( const TDesC8& aIncomingMessage,
-                                 TInt aStatus );
-    void ReceiveProgress(TInt aBytesReceived, TInt aTotalBytes);
-    
-    void SendProgress(TInt aBytesSent, TInt aTotalBytes);
-    
-    void SendStatusL( TInt aStatus, const TDesC8& aMessageid );
-	
-    void HandleConnectionErrors( TInt aErrorStatus );
-    
-	void SendFileL( const TFileName& aFileName,const TDesC8& aMimeType );
-	 
-	void NotifyProgress(TBool aFlag);
-
-	void ReceiveFileL(const TFileName& aFileName,const TInt aFileSize, const TDesC8& aMimeType);
-
-private:
+        ~CMSRPSessionImplementation();
+        
+    public:
+        
+        TDesC8& LocalMSRPPath();
+        
+        void SetSessionParams( CMSRPSessionParams& aSessionParams );
+        
+        void ConnectL( const TDesC8& aRemoteMsrpPath );
+        
+        void ListenL( const TDesC8& aRemoteMsrpPath );
+            
+        HBufC8* SendBufferL( const TDesC8& aMessage, const TDesC8& aMimeType );
+            
+        void CancelSendingL( TDesC8& aMessageId );
+        
+        void CancelReceivingL( TDesC8& aMessageId );
     
-    CMSRPMessage* CreateMsrpMessageL( const TDesC8& aMessage, const TDesC8& aToPath, 
-                                      const TDesC8& aFromPath, const TDesC8& aMimeType );
-    
-    void SendMessageL( CMSRPMessage* aMessage );
-    
-    void GetRemotePathComponentsL( TPtrC8& aRemoteHost, TUint& aRemotePort, TPtrC8& aRemoteSessionID );
-    
-    CMSRPMessage* SetFileParamsL(const TFileName& aFileName,const TDesC8& aToPath,
-                                                               const TDesC8& aFromPath, 
-                                                               const TDesC8& aMimeType );
-private:
-    
-    CMSRPSessionImplementation( RMSRP& aRMSRP,
-                                MMSRPSessionObserver& aObserver );
-    
-    void ConstructL( const TUint aIapId );
+        void ConnectionEstablishedL( TInt aStatus );
+        
+        void HandleIncomingMessageL( const TDesC8& aIncomingMessage,
+                                     TInt aStatus );
+        void ReceiveProgress( const TDesC8& aMessageId, TInt aBytesReceived, TInt aTotalBytes);
+        
+        void SendProgress(const TDesC8& aMessageId, TInt aBytesSent, TInt aTotalBytes);
         
-private:
-    
-    RMSRP& iRMSRP;
-    
-    MMSRPSessionObserver& iSessionObserver;
+        void SendStatusL( TInt aStatus, const TDesC8& aMessageid );
+        
+        void HandleConnectionErrors( TInt aErrorStatus );
+        
+        HBufC8* SendFileL( const TFileName& aFileName,const TDesC8& aMimeType );
+        
+        void NotifyProgress(TBool aFlag);
     
-    RMSRPSession* iMSRPSession;
-    
-    RBuf8 iLocalMsrpPath;
-    
-    RBuf8 iRemoteMsrpPath;
-    
-    TReportStatus iSuccessReport;
-    
-    TReportStatus iFailureReport;
+    private:
+        
+        CMSRPMessage* CreateMsrpMessageL( const TDesC8& aMessage, const TDesC8& aToPath, 
+                                          const TDesC8& aFromPath, const TDesC8& aMimeType );
+        
+        void SendMessageL( CMSRPMessage* aMessage );
+        
+        void GetRemotePathComponentsL( TPtrC8& aRemoteHost, TUint& aRemotePort, TPtrC8& aRemoteSessionID );
+        
+        CMSRPMessage* SetFileParamsL(const TFileName& aFileName,const TDesC8& aToPath,
+                                                                   const TDesC8& aFromPath, 
+                                                                   const TDesC8& aMimeType );
+    private:
+        
+        CMSRPSessionImplementation( RMSRP& aRMSRP,
+                                    MMSRPSessionObserver& aObserver );
+        
+        /** 
+         * Second phase constructor
+         * @param aIapId IAP id of the application
+         * @param aSessionId session id of this MSRP session. This comes from the
+         *        path SDP attribute where session id is used
+         */
+        void ConstructL( const TUint aIapId, const TDesC8& aSessionId );
             
-    TBuf8< KMaxLengthOfIncomingMessageExt > iExtMessageBuffer;
-    
-    CMSRPConnectionListener* iConnectionListener;
-    
-    CMSRPIncomingListener* iIncomingListener;
-    
-    CMSRPSendResultListener* iSendResultListener;
-    
-    RPointerArray< CMSRPMessage > iSentMessages;
-    
-    TBool iProgress;
-    
-    TBool  isSendFile;
-    TBool  isReceiveFile;
+    private:
+        
+        RMSRP& iRMSRP;
+        
+        MMSRPSessionObserver& iSessionObserver;
+
+        // session to server, owned
+        RMSRPSession* iMSRPSession;
+        
+        RBuf8 iLocalMsrpPath;
+        
+        RBuf8 iRemoteMsrpPath;
+        
+        TReportStatus iSuccessReport;
+        
+        TReportStatus iFailureReport;
+                
+        TBuf8< KMaxLengthOfIncomingMessageExt > iExtMessageBuffer;
+
+        // connection to other party server listener, owned
+        CMSRPConnectionListener* iConnectionListener;
+        
+        // incoming messages listener instance, owned
+        CMSRPIncomingListener* iIncomingListener;
+        
+        // result of send message request listener, owned
+        CMSRPSendResultListener* iSendResultListener;
+        
+        // array of sent messages, owned
+        RPointerArray< CMSRPMessage > iSentMessages;
     };
 
 #endif /* CMSRPSESSIONIMPLEMENTATION_H_ */
+
+// End of file