Msrp/MsrpClient/inc/RMSRPSession.h
branchMSRP_FrameWork
changeset 25 505ad3f0ce5c
child 58 cdb720e67852
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Msrp/MsrpClient/inc/RMSRPSession.h	Sat Jun 12 14:30:11 2010 +0530
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2009-2010 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:
+* MSRP Implementation
+*
+*/
+
+#ifndef RMSRPSESSION_H_
+#define RMSRPSESSION_H_
+
+
+//  Include Files
+#include <e32base.h>
+#include <e32std.h>
+
+// INCLUDES
+#include "MMSRPServerInterface.h"
+
+
+// Forward Declarations
+class RMSRP;
+
+
+// Class declaration
+
+class RMSRPSession : public RSubSessionBase, public MMSRPServerInterface
+    {
+public:
+    /**
+      * constructor.
+      */
+    RMSRPSession();
+    
+public: // New functions
+    /**
+      * Opens a Sub-Session to MSRP Server
+      * @return Status of the operation
+      */
+    TInt CreateServerSubSession( RMSRP& aRMSRP, 
+                                 const TUint32 aIapId );
+    
+    void CloseServerSubSession( );
+   
+    
+public: // From base class
+    
+    // From MMSRPServerInterface
+    
+    void GetLocalPathL( TDes8 &aLocalHost,
+                       TDes8 &aSessionID );
+    
+    void Connect( const TDesC8& aRemoteHost,
+                  const TUint aRemotePort,
+                  const TDesC8& aRemoteSessionID,
+                  TRequestStatus& aStatus );
+        
+    void ListenConnections( const TDesC8& aRemoteHost,
+                            const TUint aRemotePort,
+                            const TDesC8& aRemoteSessionID,
+                            TBool aIsMessage,
+                            TRequestStatus& aStatus );
+    
+    void ListenMessages( TBool aIsMessage,
+                         TRequestStatus& aStatus );
+    
+    void ListenSendResult( const TDesC8& aSessionID,
+                           TRequestStatus& aStatus );
+            
+    TInt SendMessage( TDesC8& aMessageBuffer );
+        
+    TInt CancelSending( TDesC8& aMessageId );
+    
+    void CancelReceiving( );
+    void CancelSendResultListening( );
+        
+    const TDesC8& GetMessageIdOfSentMessage( ) const;
+    TInt GetStatusOfSentMessage( ) const;
+    TInt GetStatusOfReceivedMessage( ) const;
+    const TDesC8& GetReceivedMessage( ) const;
+    
+    TBool GetListenProgress() const;
+    TInt GetBytesReceived() const;
+    TInt GetTotalBytesReceived() const;
+    
+    TBool GetSendProgress() const;
+    TInt GetBytesSent() const;
+    TInt GetTotalBytes() const;
+
+    
+    TInt SendFileL(TDesC8& aFileParamBuffer);
+    TInt ReceiveFileL(TDesC8& aFileParamBuffer);
+private: //variables
+    
+    // Local path data to be recived from the server
+    TPckgBuf< TLocalPathMSRPData > iLocalPathMSRPDataPckg;
+        
+    // Connection data to be sent to server
+    TPckgBuf< TConnectMSRPData > iConnectMSRPDataPckg;
+    
+    // Message sending data to be sent to server
+    TPckgBuf< TSendMSRPData > iSendMSRPDataPckg;
+
+    // Listen for incoming messages data package
+    TPckgBuf< TListenMSRPData > iListenMSRPDataPckg;
+
+    // Listen for response to sent messages data package
+    TPckgBuf< TListenSendResultMSRPData > iSendResultListenMSRPDataPckg;
+        
+    };
+
+#endif /* RMSRPSESSION_H_ */