--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/satengine/SatServer/inc/MSatBIPDataChannel.h Tue Feb 02 01:11:09 2010 +0200
@@ -0,0 +1,173 @@
+/*
+* 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: Interface for BIP Data channel.
+*
+*/
+
+
+
+#ifndef MSATBIPDATACHANNEL_H
+#define MSATBIPDATACHANNEL_H
+
+// INCLUDES
+#include <e32std.h>
+#include <etelsat.h>
+#include <extendedconnpref.h> // TExtendedConnPref
+
+// CLASS DECLARATION
+class MSatSendDataObserver;
+class MSatConnectionObserver;
+/**
+* Interface for BIP Data channel.
+*
+* @lib SatEngine
+* @since Series 60 3.0
+*/
+class MSatBIPDataChannel
+ {
+
+ public: // Structs
+
+ // Contains all the information needed to establish connection.
+ // Parameters are common to all bearers
+ struct TSatBipConnectionInfo
+ {
+ RSat::TSimMeInterface iProtocol; // TCP or UDP, port number
+ RSat::TOtherAddress iDestination; // Dest. address, IPv4 or IPv6
+ TUint16 iBufferSize; // Size of the receive buffer
+ TExtendedConnPref* iOverrideSet; // extended connection
+ RSat::TBearerParams iBearerParams; // QoS parameters
+ RSat::TOtherAddress iSource; // Local addr, IPv4 or IPv6
+ TUint32 iCreatedApnId; // ID of the created APN
+ };
+
+ public: // New functions
+
+ /**
+ * Sets up connection. Does not activate it yet.
+ * @param aConnParams includes all needed information to
+ * open the connection.
+ */
+ virtual void SetupConnectionL(
+ const TSatBipConnectionInfo& aConnParams ) = 0;
+
+ /**
+ * Activates connection. Connection information must be set before
+ * activating connection
+ * @param aObserver Observer of the connection
+ */
+ virtual void ActivateConnectionL(
+ MSatConnectionObserver* aObserver ) = 0;
+
+ /**
+ * From MSatBIPDataChannel Returns Negotiated bearer parameters
+ * @param aResult Output Negotiated bearer parameters
+ */
+ virtual void GetNegotiatedQoSParams(
+ RSat::TBearerParams& aResult ) const = 0;
+
+ /**
+ * 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 completion of data send.
+ * @return Error code indicating the status of the command execution.
+ */
+ virtual TInt SendDataL( const TDes8& aData,
+ const TBool aSendImmediately,
+ TInt& aFreeBufferSize,
+ MSatSendDataObserver* aObserver ) = 0;
+
+ /**
+ * 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.
+ */
+ virtual TInt ReceiveDataL( TDes8& aData,
+ const TInt aBytesToRead,
+ TInt& aAvailableBytes ) = 0;
+
+ /**
+ * Returns the ID of this data channel.
+ * @return ID of this channel.
+ */
+ virtual TInt ChannelId() const = 0;
+
+ /**
+ * Returns the ID of this data channel to ChannelStatus
+ * @return ID that can be placed to ChannelStatus
+ */
+ virtual TUint8 ChannelStatusChannelId() const = 0;
+
+ /**
+ * Returns the status of this channel.
+ * @return Status of this data channel
+ */
+ virtual TInt Status() const = 0;
+
+ /**
+ * Closes the connection and empties the buffers.
+ */
+ virtual void CloseChannel() = 0;
+
+ /**
+ * Cancels all actions.
+ */
+ virtual void CancelAll() = 0;
+
+ /**
+ * Indicates whether PDP contex is active or not.
+ * @return TBool indicating context activation.
+ */
+ virtual TBool IsContextActive() const = 0;
+
+ /**
+ * Returns connection information
+ * @return Connection information
+ */
+ virtual const TSatBipConnectionInfo& ConnInfo() const = 0;
+
+ /**
+ * Close udp socket.
+ */
+ virtual void StopUdpSocket() = 0;
+
+ /**
+ * Destructor.
+ */
+ virtual ~MSatBIPDataChannel() {};
+
+ protected: // Constructors and destructor
+
+ /**
+ * Constructor.
+ */
+ MSatBIPDataChannel() {};
+
+ private:
+
+ // Assign operator
+ MSatBIPDataChannel& operator=( const MSatBIPDataChannel& );
+
+ // Prohibit copy constructor if not deriving from CBase.
+ MSatBIPDataChannel( const MSatBIPDataChannel& );
+ };
+
+#endif // MSATBIPDATACHANNEL_H
+
+// End of File