Telephony/basebandabstraction/basebandchanneladaptor/inc/bca2.h
author Tom Pritchard <tomp@symbian.org>
Thu, 12 Aug 2010 13:24:19 +0100
changeset 22 e3587ca0d5e1
parent 21 ab1d0f4d2aa4
permissions -rw-r--r--
Updating the Telephony SHAI APIs that have been voted to alpha status
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     1
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     2
/**
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
     3
* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     4
* All rights reserved.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     5
* This component and the accompanying materials are made available
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     6
* under the terms of "Eclipse Public License v1.0"
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     7
* which accompanies this distribution, and is available
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     8
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
     9
*
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    10
* Initial Contributors:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    11
* Nokia Corporation - initial contribution.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    12
*
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    13
* Contributors:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    14
*
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    15
* Description:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    16
* Baseband Channel Adaptor(BCA) APIs.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    17
* This file contains all the APIs required to implement a BCA interface for Symbian OS.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    18
* 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    19
*
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    20
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    22
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    23
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    24
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    25
 @file
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    26
 @publishedPartner
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    27
 @prototype
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    28
 @released
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    29
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    30
#ifndef BCA2_H
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    31
#define BCA2_H
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    32
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    33
/** This namespace includes the BCA component names.*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    34
namespace BasebandChannelAdaptation2
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    35
{
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    36
	
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    37
/** Flow control
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    38
 * 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    39
 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    40
 * @publishedPartner
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    41
 * @prototype
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    42
 */
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    43
 	enum TBcaFlowControlIndication 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    44
		{
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    45
			// Flow Control is off
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    46
			EBcaFlowCtlOff,
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    47
			// Flow Control is on
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    48
			EBcaFlowCtlOn
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    49
		};
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    50
	
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    51
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    52
 * The class implemented by an upper component to accept control signals from the lower component
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    53
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    54
 * @publishedPartner
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    55
 * @prototype
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    56
 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    57
class MUpperControl
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    58
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    59
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    60
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    61
	* Indicates to the layer above (link layer) that the Bca is ready to start 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    62
	* receiving packets from the upper layer (either after MBca start 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    63
	* completes or following congestion)
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    64
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    65
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    66
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    67
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    68
	virtual void StartSending()=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    69
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    70
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    71
	* Any fatal error which occurs during the send/receive session is reported 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    72
	* to the client by a call to this function. Fatal errors are errors which can’t 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    73
	* be recovered from (e.g.:  connection down) in which case MBca has become 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    74
	* defunct and can no longer be used to send and receive data
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    75
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    76
	* @param aErr TThe fatal error code from the session failures propagated 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    77
	* to the upper layer of the communications stack . Non fatal errors keep 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    78
	* the MBca2 functional which in the context of MBca2 implementation may 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    79
	* include KErrNoMemory, KErrCommsParity, KErrCommsOverrun, KErrCommsFrame. 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    80
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    81
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    82
	virtual void Error(TInt aErr)=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    83
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    84
	};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    85
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    86
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    87
 * The Class implemented by an upper component to accept inbound data travelling 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    88
 * upwards from the lower component
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    89
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    90
 * @publishedPartner
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    91
 * @prototype
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    92
 */ 	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    93
class MUpperDataReceiver
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    94
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    95
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    96
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    97
	* This function is called whenever data has been received by MBca which 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
    98
	* should be processed by its client. The implementer takes ownership of the 
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
    99
	* buffer and is responsible for its deletion.  Note: if there is a flow control
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   100
	* situation (i.e. the upper data receiver cannot handle more data) it will accept
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   101
	* the current packet and inform the lower component through the return code that
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   102
	* flow control is on.  The upper data receiver accepts this packet, i.e. the lower
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   103
	* data sender must not send a copy of this data. When flow control is off, the
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   104
	* upper data receiver will call StartReceiving() to signal the lower component to
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   105
	* start processing new packets.
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   106
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   107
	* @param aCommsBufChain - The list of comms buffers containing data to be processed. 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   108
         * Destination keeps the custody of the buffer.
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   109
	* @return TBcaFlowControlIndication.
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   110
	*/
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   111
	virtual TBcaFlowControlIndication Process(RCommsBufChain& aCommsBufChain)=0;
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   112
	};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   113
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   114
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   115
 * The interface implemented by the lower component to accept data from the upper component
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   116
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   117
 * @publishedPartner
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   118
 * @prototype
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   119
 */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   120
 	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   121
class MLowerDataSender
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   122
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   123
	public:
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   124
		
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   125
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   126
	* Sends the specified buffer data down to the base-band. The implementer takes 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   127
	* ownership of the buffer and is responsible for its deletion.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   128
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   129
	* @param aCommsBufChain the comms buffer list to be sent.The buffer ownership is passed 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   130
	* to the BCA
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   131
	* @return TTSendResult either EBcaFlowCtlOn or EBcaFlowCtlOff. When the Bca 
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   132
	* is congested and cannot send any data beyond the current packet (which is 
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   133
	* always accepted), the implementation returns EBcaFlowCtlOn. If BCA is not
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   134
	* congested then EBcaFlowCtlOff is returned to continue sending. When congestion 
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   135
	* passes, the Bca calls StartSending on the upper layer to resume sending. The
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   136
	* implementation is recommended to panic any attempts to call Send during congestion 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   137
	*/
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   138
	virtual	TBcaFlowControlIndication Send(RCommsBufChain& aCommsBufChain)=0;
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   139
	};
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   140
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   141
/**
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   142
 * The interface implemented by the lower component to allow the upper component to inform
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   143
 * Bca that it can now handle packets.
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   144
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   145
 * @publishedPartner
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   146
 * @prototype
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   147
 */
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   148
class MLowerControl
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   149
	{
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   150
public:
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   151
/**
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   152
	* Indicates to the layer below that Bca the link layer is ready to 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   153
	* receive packets from Bca, either after Start() completes or following
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   154
	* flow control. 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   155
	
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   156
	* @param none
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   157
	* @return none.
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   158
	*/
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   159
	virtual void StartReceiving()=0;
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   160
	};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   161
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   162
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   163
 * The interface implemented by the lower component to accept control signals from the upper component
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   164
 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   165
 * @publishedPartner
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   166
 * @prototype
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   167
 */ 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   168
class MBca2
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   169
	{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   170
public:
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   171
	 struct TBcaParams 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   172
		{
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   173
		RCommsBufPond iCommsBufPond;	// Pond to be used by BCA implementation for creating, using pools and buffers
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   174
		const TDesC& iChannelId;				// port number or channel which BCA uses to communicate with its lower layers 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   175
		TBcaParams(RCommsBufPond aCommsBufPond,const TDesC& aChannelId)
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   176
		: iCommsBufPond(aCommsBufPond),
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   177
		iChannelId(aChannelId){}
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   178
	 	};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   179
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   180
		
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   181
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   182
	* Opens the BCA instance and commences a BCA session (::Close() terminates the session). 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   183
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   184
	* @param aControl reference to a MUpperControl implementation, which will 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   185
	* serve as the call-back interface for incoming control calls
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   186
	* @param aData - reference to a MUpperDataReceiver implementation, which
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   187
	* will serve as the call-back interface for incoming data
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   188
	* @param aBcaParams A reference to the BCA start up params
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   189
	* @return KErrNone if successful, system-wide error code otherwise. All 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   190
	* other error codes reported are fatal denoting that MBca interface has 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   191
	* failed to open and MBca is not good for transferring data
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   192
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   193
	virtual TInt Open(MUpperControl& aControl, 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   194
					MUpperDataReceiver& aData, 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   195
					const TBcaParams& aBcaParams)=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   196
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   197
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   198
	 * The API starts the baseband connection asynchronously. The Start () request 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   199
	 * API’s successful completion is acknowledged with MUpperControl::StartSending(). 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   200
	 * The request failure is acknowledged with MUpperControl::Error(). Client should 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   201
	 * take care of scenarios when MUpperControl::StartSending() gets very delayed 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   202
	 * or not called at all
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   203
 	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   204
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   205
	* @return none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   206
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   207
	virtual void Start()=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   208
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   209
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   210
	 * Returns a reference to the MLowerDataSender, This reference is used by 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   211
	 * upper components to send packets to the lower components. This API must be 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   212
	 * called only after Start() completes, otherwise the implementation should panic.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   213
 	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   214
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   215
	* @return reference to the MLowerDataSender. 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   216
	*/
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   217
	virtual MLowerDataSender& GetLowerDataSender()=0;
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   218
	
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   219
	
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   220
	/**
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   221
	 * Returns a reference to the MLowerControl, This reference is used by 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   222
	 * upper components to inform lower Bca that it can resume sending. This API must be 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   223
	 * called only after Start() completes, otherwise the implementation should panic.
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   224
 	
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   225
	* @param none
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   226
	* @return reference to the MLowerControl. 
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   227
	*/
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   228
	virtual MLowerControl& GetLowerControl()=0;
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   229
	
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   230
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   231
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   232
	* Synchronously closes the BCA immediately. Informs the BCA is no longer 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   233
	* required by the client and can release its resources. Close cancels all 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   234
	* pending asynchronous operations which can only be ::Start() or ::Control() .
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   235
	* To use the BCA instance it needs to be re-opened. Close operation must not fail.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   236
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   237
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   238
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   239
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   240
	virtual void Close()=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   241
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   242
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   243
	* Release/deletes the BCA instance. Derived classes will typically implement 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   244
	* this as ‘delete this’.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   245
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   246
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   247
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   248
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   249
	virtual void Release()=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   250
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   251
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   252
	* The BCA control function to get or set the options of the BCA in an 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   253
	* asynchronous manner.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   254
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   255
	* @param aStatus  asynchronous completion status, KErrNone if successful, 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   256
         * system-wide error code otherwise
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   257
	* @param aOptLevel option level to be used KBcaOptLevelGeneric 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   258
	* or KBcaOptLevelExtSerial
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   259
	* @param aOptName option name to be used.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   260
	* @param aOpt an optional parameter,holds the option value on return or the
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   261
	* option value to be set.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   262
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   263
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   264
	virtual void Control(TRequestStatus& aStatus,
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   265
							TUint aOptLevel,
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   266
							TUint aOptName,
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   267
							TDes8& aOpt)=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   268
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   269
	/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   270
	* Cancels the Control request in a synchronous way.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   271
	
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   272
	* @param none
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   273
	* @return none.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   274
	*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   275
	virtual void CancelControl()=0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   276
	};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   277
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   278
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   279
* Control option level.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   280
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   281
const TUint KBcaOptLevelGeneric 		= 0x0194;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   282
const TUint KBcaOptLevelExtSerial 		= 0x0195;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   283
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   284
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   285
* C32 BCA capability
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   286
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   287
const TUint KBcaCapSerial			= 0x01; //Serial port capability supported
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   288
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   289
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   290
* Generic Control option name
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   291
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   292
const TUint KBCAMru	                = 0x12;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   293
const TUint KBCAMtu	                = 0x13;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   294
const TUint KBCASpeedMetric	        = 0x14;
22
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   295
const TUint KBCACaps	              = 0x15;
e3587ca0d5e1 Updating the Telephony SHAI APIs that have been voted to alpha status
Tom Pritchard <tomp@symbian.org>
parents: 21
diff changeset
   296
const TUint KBCASetIapId	          = 0x16;
21
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   297
const TUint KBCASetBcaStack	        = 0x1e;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   298
const TUint KVersionNumber	        = 0x1c;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   299
/** 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   300
Purges the buffers */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   301
const TUint KBCAResetBuffers        = 0x1f;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   302
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   303
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   304
* Serial Control option name
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   305
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   306
const TUint KSerialCaps	            = 0x17;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   307
const TUint KSerialConfig	        = 0x18;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   308
const TUint KSerialSetConfig	    = 0x1a;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   309
const TUint KSerialPortName	        = 0x19;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   310
const TUint KSerialSetCsyName	    = 0x1b;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   311
const TUint KSerialSetCommRole	    = 0x1d;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   312
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   313
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   314
Set the size of receive & transmit buffers.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   315
Provided for compatibility with C32 RComm */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   316
const TUint KSerialSetTxRxBufferSize  = 0x2a;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   317
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   318
/** Retrieves the size of the receive & transmit buffers */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   319
const TUint KSerialTxRxBufferSize     = 0x2b;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   320
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   321
/** Set and/or clear signal lines */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   322
const TUint KSerialSetControlLines	  = 0x2c;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   323
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   324
struct TSerialSetControlLines {
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   325
/**
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   326
Structure associated with KSerialSetSignals control.
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   327
Indicates which control lines to set/clear. 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   328
*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   329
	TUint	iSetMask;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   330
	TUint	iClearMask;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   331
};
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   332
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   333
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   334
// Bitmasks specifying which buffer to reset. Used with KBCaResetBuffers
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   335
//
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   336
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   337
/** Reset Rx buffer only */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   338
const TUint KResetRxBuf = 0x01;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   339
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   340
/** Reset Tx buffer only */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   341
const TUint KResetTxBuf = 0x02;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   342
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   343
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   344
/** Monitor EIA-232 control lines and take action specified. */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   345
const TUint KSerialMonitorControlLines = 0x30;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   346
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   347
/** Turn control line monitoring off - do not fail on line change */
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   348
const TUint KMonitorOff = 0x0;
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   349
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   350
/** Fail when BCA-specific lines go from high to low. 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   351
This is the "Default" option, where the BCA itself selects what lines to monitor 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   352
This mask must not be specified in conjunction with other masks, as the BCA will monitor
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   353
& fail on its specific lines ONLY. The other lines will be ignored.*/
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   354
const TUint KFailBcaSpecificOnly = 0xFFFFFFFF; 
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   355
}
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   356
ab1d0f4d2aa4 Adding the "WishList" state Telephony APIs
Tom Pritchard <tomp@symbian.org>
parents:
diff changeset
   357
#endif // BCA2_H