epoc32/include/bluetooth/hci/hctlchannelobserver.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
permissions -rw-r--r--
Final list of Symbian^2 public API header files
     1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 
    17 
    18 /**
    19  @file
    20  @publishedPartner
    21 */
    22 
    23 #ifndef HCTLCHANNELOBSERVER_H
    24 #define HCTLCHANNELOBSERVER_H
    25 
    26 /** Definition of the HCI transport channel type */
    27 typedef TUint16 THCITransportChannel;	
    28 
    29 /** No HCI transport channels available for sending */
    30 static const THCITransportChannel KHCITransportNoChannels		= 0x0000;
    31 
    32 /** Command HCI transport channel available for sending */
    33 static const THCITransportChannel KHCITransportCommandChannel	= 0x0001;
    34 
    35 /** ACL data HCI transport channel available for sending */
    36 static const THCITransportChannel KHCITransportACLDataChannel	= 0x0002;
    37 
    38 /** SCO data HCI transport channel available for sending */
    39 static const THCITransportChannel KHCITransportSCODataChannel	= 0x0004;
    40 
    41 /** All HCI transport channels available for sending */
    42 static const THCITransportChannel KHCITransportAllChannels = static_cast<THCITransportChannel>(KHCITransportCommandChannel | 
    43 																							   KHCITransportACLDataChannel | 
    44 																							   KHCITransportSCODataChannel);
    45 
    46 /** The UID associated with the MHCTLChannelObserver interface. */
    47 const TInt KHCTLChannelObserverUid = 0x102736EF;
    48 
    49 /**
    50 API for observing information regarding the status of a HCTL channel.
    51 
    52 This should be implemented by the stack so it can control the multiplexing
    53 of the command and data sent over the HCTL.
    54 */
    55 class MHCTLChannelObserver
    56 	{
    57 public:
    58 	/**
    59 	Indication that a HCTL channel has been opened.
    60 
    61 	@param aChannel A bitmask containing the channels which are now open.
    62 	*/
    63 	virtual void MhcoChannelOpen(THCITransportChannel aChannels) =0;
    64 
    65 	/**
    66 	Indication that a HCTL channel has been closed.
    67 
    68 	@param aChannel A bitmask containing the channels which are now closed.
    69 	*/
    70 	virtual void MhcoChannelClosed(THCITransportChannel aChannels) =0;
    71 	};
    72 
    73 #endif // HCTLCHANNELOBSERVER_H