williamr@2: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: @file williamr@2: @publishedPartner williamr@2: */ williamr@2: williamr@2: #ifndef HCTLCHANNELOBSERVER_H williamr@2: #define HCTLCHANNELOBSERVER_H williamr@2: williamr@2: /** Definition of the HCI transport channel type */ williamr@2: typedef TUint16 THCITransportChannel; williamr@2: williamr@2: /** No HCI transport channels available for sending */ williamr@2: static const THCITransportChannel KHCITransportNoChannels = 0x0000; williamr@2: williamr@2: /** Command HCI transport channel available for sending */ williamr@2: static const THCITransportChannel KHCITransportCommandChannel = 0x0001; williamr@2: williamr@2: /** ACL data HCI transport channel available for sending */ williamr@2: static const THCITransportChannel KHCITransportACLDataChannel = 0x0002; williamr@2: williamr@2: /** SCO data HCI transport channel available for sending */ williamr@2: static const THCITransportChannel KHCITransportSCODataChannel = 0x0004; williamr@2: williamr@2: /** All HCI transport channels available for sending */ williamr@2: static const THCITransportChannel KHCITransportAllChannels = static_cast(KHCITransportCommandChannel | williamr@2: KHCITransportACLDataChannel | williamr@2: KHCITransportSCODataChannel); williamr@2: williamr@2: /** The UID associated with the MHCTLChannelObserver interface. */ williamr@2: const TInt KHCTLChannelObserverUid = 0x102736EF; williamr@2: williamr@2: /** williamr@2: API for observing information regarding the status of a HCTL channel. williamr@2: williamr@2: This should be implemented by the stack so it can control the multiplexing williamr@2: of the command and data sent over the HCTL. williamr@2: */ williamr@2: class MHCTLChannelObserver williamr@2: { williamr@2: public: williamr@2: /** williamr@2: Indication that a HCTL channel has been opened. williamr@2: williamr@2: @param aChannel A bitmask containing the channels which are now open. williamr@2: */ williamr@2: virtual void MhcoChannelOpen(THCITransportChannel aChannels) =0; williamr@2: williamr@2: /** williamr@2: Indication that a HCTL channel has been closed. williamr@2: williamr@2: @param aChannel A bitmask containing the channels which are now closed. williamr@2: */ williamr@2: virtual void MhcoChannelClosed(THCITransportChannel aChannels) =0; williamr@2: }; williamr@2: williamr@2: #endif // HCTLCHANNELOBSERVER_H