satengine/SatServer/Engine/inc/CSatBIPGPRSDataChannel.h
changeset 46 2fa1fa551b0b
parent 42 35488577e233
child 48 78df25012fda
--- a/satengine/SatServer/Engine/inc/CSatBIPGPRSDataChannel.h	Mon Aug 23 15:50:31 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-/*
-* Copyright (c) 2002-2009 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:  GPRS Data channel
-*
-*/
-
-
-
-#ifndef CSATBIPGPRSDATACHANNEL_H
-#define CSATBIPGPRSDATACHANNEL_H
-
-#include  <e32base.h>
-#include  <es_enum.h>           // TConnectionInfo
-#include  <in_sock.h>
-#include  <etelqos.h>
-
-#include  "MSatBIPDataChannel.h"
-#include  "MSatBIPUtils.h"
-#include  "TSatQoSParser.h"
-
-class CSatBIPUtils;
-class MSatSendDataObserver;
-class CSatBIPDataSender;
-class CSatBIPDataReceiver;
-class MSatConnectionObserver;
-class TSatChannelIdInfo;
-class TNotificationEventBuf;
-class CSubConQosR5ParamSet;
-class CSubConExtensionParameterSet;
-class CSatSActiveWrapper;
-class CSatBIPSubConnEventObserver;
-
-/**  Maximum Address Length */
-const TInt KMaxAddressLength = 50;
-
-/**  Enum for connection stage */
-enum TSatBIPConnectionStage
-    {
-    ESatBIPClosed,
-    ESatBIPConnect,
-    ESatBIPConnected,
-    ESatBIPCancelled
-    };
-
-/**
- *  GPRS Data channel for Bearer Independent Protocol.
- *  
- *  @lib SatServer
- *  @since Series 60 3.0
- */
-class CSatBIPGPRSDataChannel : public CActive,
-                               public MSatBIPDataChannel
-    {
-public:  
-
-// Constructors and destructor
-
-    /**
-     * Two-phased constructor.
-     * @param aUtils Interface for EventDownload commands
-     * @param aSocketServer Reference to Socket server.
-     * @param aChannelId ID for this data channel
-     * @param aConnection Reference to Connection
-     * @param aSubConnection ID Reference to SubConnection
-     */
-    static CSatBIPGPRSDataChannel* NewL( CSatBIPUtils& aUtils,
-        RSocketServ& aSocketServer,
-        TSatChannelIdInfo& aChannelId,
-        RConnection& aConnection,
-        RSubConnection& aSubConnection
-         );
-
-    /**
-     * Two-phased constructor.
-     * @param aUtils Interface for EventDownload commands
-     * @param aSocketServer Reference to Socket server.
-     * @param aChannelId ID for this data channel needs to add to comments
-     * @param aConnection Reference to Connection
-     * @param aSubConnection ID Reference to SubConnection
-     */
-    static CSatBIPGPRSDataChannel* NewLC( CSatBIPUtils& aUtils,
-        RSocketServ& aSocketServer,
-        TSatChannelIdInfo& aChannelId,
-        RConnection& aConnection,
-        RSubConnection& aSubConnection );
-    
-    /**
-     * Destructor.
-     */
-    virtual ~CSatBIPGPRSDataChannel();
-
-// New functions
-
-    /**
-     * Notification that data has been received.
-     * @param aData Holds received data.
-     */
-    void DataReceivedNotificationL( const TDesC8& aData );
-
-    /**
-     * Error notification while receiving
-     * @param aError The error code
-     */
-    void DataReceiveError( const TInt aError );
-        
-    /**
-     * Granted parameters event is received correctly.
-     * @param aEventBuffer Holds the negotiated QoS parameters.
-     */
-    void GrantedEventReceivedL( const TNotificationEventBuf& aEventBuffer );
-        
-    /**
-     * Return the subconnection.
-     * @return Reference to SubConnection
-     */
-    RSubConnection& SubConnection() const;
-        
-// From base class MSatBIPDataChannel
-
-    /**
-     * From MSatBIPDataChannel Sets up connection. Does not activate it yet.
-     * @param aConnParams includes all needed information to open the connection.
-     */
-    void SetupConnectionL( const TSatBipConnectionInfo& aConnParams );
-
-    /**
-     * Notification that data has been received.
-     * @param aData Holds received data.
-     */
-    void ActivateConnectionL( MSatConnectionObserver* aObserver );
-
-    /**
-     * From MSatBIPDataChannel Returns Negotiated bearer parameters
-     * @param aResult Output Negotiated bearer parameters
-     */
-    void GetNegotiatedQoSParams( RSat::TBearerParams& aResult ) const;
-
-    /**
-     * From MSatBIPDataChannel Sends the data or stores it into a
-     * buffer for later send.
-     * @param aData Data to be send.
-     * @param aSendImmedeately Indicates whether to send immediately or
-     *        store data to buffer for later send.
-     * @param aFreeBufferSize The number of bytes of empty size in the buffer
-     * @param aObserver Observer of the SendData procedure. When data is sent,
-     *        observer gets notification. If data is stored for later send,
-     *        observer is not notified.
-     * @return Error code indicating the status of the command execution.
-     */
-    TInt SendDataL( const TDes8& aData, 
-        const TBool aSendImmediately,
-        TInt& aFreeBufferSize,
-        MSatSendDataObserver* aObserver );
-
-    /**
-     * From MSatBIPDataChannel Receives the data from the buffer.
-     * @param aData Data to receive.
-     * @param aBytesToRead The number of requested bytes to return
-     * @param aAvailableBytes Number of unread bytes left in the buffer.
-     * @return Error code indicating the status of the command execution.
-     */
-    TInt ReceiveDataL( TDes8& aData, const TInt aBytesToRead,
-        TInt& aAvailableBytes );
-
-    /**
-     * From MSatBIPDataChannel Returns the ID of this data channel.
-     * @return ID of this channel.
-     */
-    TInt ChannelId() const;
-    
-    /**
-     * From MSatBIPDataChannel Returns the ID of this data channel to
-     * ChannelStatus.
-     * @return ID that can be placed to ChannelStatus
-     */
-    TUint8 ChannelStatusChannelId() const;
-
-    /**
-     * From MSatBIPDataChannel Returns the status of this channel.
-     * @return Status of this data channel
-     */
-    TInt Status() const;
-
-    /**
-     * From MSatBIPDataChannel Closes the connection and empties the buffers.
-     */
-    void CloseChannel();
-    
-    /**
-     * From MSatBIPDataChannel Cancels all activities.
-     */
-    void CancelAll();
-
-    /**
-     * From MSatBIPDataChannel Indicates whether PDP contex is active or not.
-     * @return TBool indicating context activation.
-     */
-    TBool IsContextActive() const;
-
-    /**
-     * From MSatBIPDataChannel Returns connection information
-     * @return Connection information
-     */
-    const MSatBIPDataChannel::TSatBipConnectionInfo& ConnInfo() const;
-
-    /**
-     * From MSatBIPDataChannel Close socket if type is udp.
-     */
-     void StopUdpSocket();
-   
-
- // From base class CActive
- 
-    /**
-     * From CActive
-     */
-    void RunL();
-
-    /**
-     * From CActive
-     */
-    void DoCancel();
-
-    /**
-     * From CActive
-     */
-    TInt RunError( TInt aError );
-        
-
-
-private:
-
-    /**
-     * C++ default constructor.
-     * @param aUtils Interface for EventDownload commands
-     * @param aSocketServer Reference to Socket server.
-     * @param aChannelId ID for this data channel
-     * @param aConnection  Reference to RConnection
-     * @param aSubConnection Reference to RSubConnection
-     */
-    CSatBIPGPRSDataChannel( CSatBIPUtils& aUtils,
-        RSocketServ& aSocketServer,
-        TSatChannelIdInfo& aChannelId,
-        RConnection& aConnection,
-        RSubConnection& aSubConnection );
-
-    /**
-     * By default Symbian 2nd phase constructor is private.
-     */
-    void ConstructL();
-
-    /**
-     * Opens and connects / binds socket
-     * @param aAddrFamily Address family to use.
-     */
-    void OpenSocketL();
-
-    /**
-     * Opens sub-connection and attaches socket into it
-     */
-    void OpenSubConnection();
-
-    /**
-     * Sets QoS parameters to connection
-     */
-    void SetSubConQoSParamsL();
-    
-    /**
-     * Starts to receive data from socket
-     */
-    void StartReceiveL();
-    
-    /**
-     * Defines the IP address.
-     * @param aAddr An 8-bit descriptor containing the IP address
-     * @return IP address in TBuf descriptor, which may be 8- or 16-bit.
-     */
-    TInetAddr DestAddress( const TPtrC8& aAddr );
-        
-    /**
-     * Write QoS Values used for requesting Primary PDP context to RCmManager
-     */
-    void WritePrimaryPDPContextQoSParamsL();
-    
-    /**
-     * Write Default QoS values to RCmManager
-     */
-    void WriteDefaultQoSParamsL(); 
-    
-    /**
-     * Sets up QoS parameters for connection or subconnection
-     */
-    void SetConnQoSParamsL();
-    
-    /**
-     * Get the negotiated QoS parameters from granted event
-     * @param aEvent SubConNotificationEvent
-     * @param aNegQoSRel5 hold the negotiated QoS in Rel5 got from event
-     * @return errCode if it fails to get the parameters from event.
-     */
-    TInt GetSubConQoSR5ParamsFromEvent(
-        CSubConNotificationEvent& aEvent, 
-        TSatQoSParser::TQoSRel5& aNegQoSRel5 );
-        
-private:    // Data
-        
-    /**
-     * Receive Buffer
-     */
-    TBuf8<KSatBIPMinReceiveBufferSize> iRcvBuffer;
-        
-    /**
-     * Status of this channel
-     */
-    TInt iChannelStatus;
-        
-    /**
-     * Socket to send / receive data
-     */
-    RSocket iSocket;
-       
-    /**
-     * Connection information
-     */
-    MSatBIPDataChannel::TSatBipConnectionInfo iConnInfo;
-
-    /**
-     * Destination address
-     */
-    TInetAddr iDestAddr;
-
-    /**
-     * Sourceaddress
-     */
-    TInetAddr iSourceAddr;
-
-    /**
-     * Reference to BIP Utils.
-     * Not own.
-     */
-    CSatBIPUtils& iUtils;
-        
-    /**
-     * Connection stage
-     */
-    TSatBIPConnectionStage iConnStage;
-    
-    /**
-     * Indicates the protocol
-     */
-    TBool iUseTcpProtocol;
-        
-    /**
-     * Reference to a socket server
-     * Not own.
-     */
-    RSocketServ& iSocketServ;
-        
-    /**
-     * Identifier for this channel
-     * Not own.
-     */
-    TSatChannelIdInfo& iChannelId;
-        
-    /**
-     * Connection information
-     *  Not own
-     */
-    RConnection& iConnection;
-    
-    /**
-     * Subconnection, represents a data channel
-     *  Not own
-     */
-    RSubConnection& iSubConnection;
-        
-    /**
-     * SendBuffer
-     * Own.
-     */
-    HBufC8* iSendStore;
-        
-    /**
-     * SendData observer
-     * Own.
-     */
-    MSatSendDataObserver* iSendDataObserver;
-
-    /**
-     * Sender object
-     * Own.
-     */
-    CSatBIPDataSender* iSender;
-
-    /**
-     * Receiver object
-     * Own.
-     */
-    CSatBIPDataReceiver* iReceiver;
-
-    /**
-     * Connection observer
-     * Own.
-     */
-    MSatConnectionObserver* iConnectionObserver;
-        
-    /**
-     * Observer for SubConnection parameters event;
-     * Own.
-     */
-    CSatBIPSubConnEventObserver* iSubConnEventObserver;
-    
-    };
-
-#endif      // CSATBIPGPRSDATACHANNEL_H
-
-