TBTAFHHostChannelClassification Class Reference

class TBTAFHHostChannelClassification : public TBuf8< KHCIAFHHostChannelClassificationSize >

Descriptor class that should be used to help set up an AFH host channel classification for the controller.

The bits in each byte of this descriptor are used to tell the controller which channels the host anticipates will become busy and so advisable for Bluetooth to avoid. Such channels are referred to as 'bad', and are represented by bits set to 0. Channels that are not 'bad' are referred to as 'unknown' implying simply that the host has no knowledge that they are, or are about to become 'bad'. These are represented by bits set to 1. Note: The Bluetooth specification demands that at least 20 channels must be set to 'unknown'. Any attempt by the user of this class to set too many 'bad' channels will result in the return of a KErrNotSupported error, and the attempt having no effect.

Inherits from

Public Member Functions
TBTAFHHostChannelClassification()
IMPORT_C voidReset()
IMPORT_C TIntSetChannelBad(const TUint8)
IMPORT_C TIntSetChannelRangeBad(const TUint8, const TUint8)
IMPORT_C TIntValidate()
Private Member Functions
TInt BitByteIndices(TUint8 &, TUint8 &, const TUint8)
TInt DoSetChannelBad(const TUint8)
TUint8 NumUnknownsWithinRange(const TUint8, const TUint8)
Inherited Functions
TBuf8< KHCIAFHHostChannelClassificationSize >::TBuf8()
TBuf8< KHCIAFHHostChannelClassificationSize >::TBuf8(TInt)
TBuf8< KHCIAFHHostChannelClassificationSize >::TBuf8(const TDesC8 &)
TBuf8< KHCIAFHHostChannelClassificationSize >::TBuf8(const TUint8 *)
TBuf8< KHCIAFHHostChannelClassificationSize >::operator=(const TBuf8< S > &)
TBuf8< KHCIAFHHostChannelClassificationSize >::operator=(const TDesC8 &)
TBuf8< KHCIAFHHostChannelClassificationSize >::operator=(const TUint8 *)
TBufBase8::TBufBase8(TInt)
TBufBase8::TBufBase8(TInt,TInt)
TBufBase8::TBufBase8(const TDesC8 &,TInt)
TBufBase8::TBufBase8(const TUint8 *,TInt)
TDes8::Append(TChar)
TDes8::Append(const TDesC16 &)
TDes8::Append(const TDesC8 &)
TDes8::Append(const TUint8 *,TInt)
TDes8::AppendFill(TChar,TInt)
TDes8::AppendFormat(TRefByValue< const TDesC8 >,...)
TDes8::AppendFormat(TRefByValue< const TDesC8 >,TDes8Overflow *,...)
TDes8::AppendFormatList(const TDesC8 &,VA_LIST,TDes8Overflow *)
TDes8::AppendJustify(const TDesC8 &,TInt,TAlign,TChar)
TDes8::AppendJustify(const TDesC8 &,TInt,TInt,TAlign,TChar)
TDes8::AppendJustify(const TUint8 *,TInt,TAlign,TChar)
TDes8::AppendJustify(const TUint8 *,TInt,TInt,TAlign,TChar)
TDes8::AppendNum(TInt64)
TDes8::AppendNum(TReal,const TRealFormat &)
TDes8::AppendNum(TUint64,TRadix)
TDes8::AppendNumFixedWidth(TUint,TRadix,TInt)
TDes8::AppendNumFixedWidthUC(TUint,TRadix,TInt)
TDes8::AppendNumUC(TUint64,TRadix)
TDes8::Capitalize()
TDes8::Collapse()
TDes8::Collate()
TDes8::Copy(const TDesC16 &)
TDes8::Copy(const TDesC8 &)
TDes8::Copy(const TUint8 *)
TDes8::Copy(const TUint8 *,TInt)
TDes8::CopyC(const TDesC8 &)
TDes8::CopyCP(const TDesC8 &)
TDes8::CopyF(const TDesC8 &)
TDes8::CopyLC(const TDesC8 &)
TDes8::CopyUC(const TDesC8 &)
TDes8::Delete(TInt,TInt)
TDes8::DoAppendNum(TUint64,TRadix,TUint,TInt)
TDes8::DoPadAppendNum(TInt,TInt,const TUint8 *)
TDes8::Expand()
TDes8::Fill(TChar)
TDes8::Fill(TChar,TInt)
TDes8::FillZ()
TDes8::FillZ(TInt)
TDes8::Fold()
TDes8::Format(TRefByValue< const TDesC8 >,...)
TDes8::FormatList(const TDesC8 &,VA_LIST)
TDes8::Insert(TInt,const TDesC8 &)
TDes8::Justify(const TDesC8 &,TInt,TAlign,TChar)
TDes8::LeftTPtr(TInt)const
TDes8::LowerCase()
TDes8::MaxLength()const
TDes8::MaxSize()const
TDes8::MidTPtr(TInt)const
TDes8::MidTPtr(TInt,TInt)const
TDes8::Num(TInt64)
TDes8::Num(TReal,const TRealFormat &)
TDes8::Num(TUint64,TRadix)
TDes8::NumFixedWidth(TUint,TRadix,TInt)
TDes8::NumFixedWidthUC(TUint,TRadix,TInt)
TDes8::NumUC(TUint64,TRadix)
TDes8::PtrZ()
TDes8::Repeat(const TDesC8 &)
TDes8::Repeat(const TUint8 *,TInt)
TDes8::Replace(TInt,TInt,const TDesC8 &)
TDes8::RightTPtr(TInt)const
TDes8::SetLength(TInt)
TDes8::SetMax()
TDes8::Swap(TDes8 &)
TDes8::TDes8()
TDes8::TDes8(TInt,TInt,TInt)
TDes8::Trim()
TDes8::TrimAll()
TDes8::TrimLeft()
TDes8::TrimRight()
TDes8::UpperCase()
TDes8::WPtr()const
TDes8::Zero()
TDes8::ZeroTerminate()
TDes8::operator+=(const TDesC8 &)
TDes8::operator=(const TDes8 &)
TDes8::operator[](TInt)
TDes8::operator[](TInt)const
TDesC8::Alloc()const
TDesC8::AllocL()const
TDesC8::AllocLC()const
TDesC8::AtC(TInt)const
TDesC8::Compare(const TDesC8 &)const
TDesC8::CompareC(const TDesC8 &)const
TDesC8::CompareF(const TDesC8 &)const
TDesC8::DoSetLength(TInt)
TDesC8::Find(const TDesC8 &)const
TDesC8::Find(const TUint8 *,TInt)const
TDesC8::FindC(const TDesC8 &)const
TDesC8::FindC(const TUint8 *,TInt)const
TDesC8::FindF(const TDesC8 &)const
TDesC8::FindF(const TUint8 *,TInt)const
TDesC8::Left(TInt)const
TDesC8::Length()const
TDesC8::Locate(TChar)const
TDesC8::LocateF(TChar)const
TDesC8::LocateReverse(TChar)const
TDesC8::LocateReverseF(TChar)const
TDesC8::Match(const TDesC8 &)const
TDesC8::MatchC(const TDesC8 &)const
TDesC8::MatchF(const TDesC8 &)const
TDesC8::Mid(TInt)const
TDesC8::Mid(TInt,TInt)const
TDesC8::Ptr()const
TDesC8::Right(TInt)const
TDesC8::Size()const
TDesC8::TDesC8()
TDesC8::TDesC8(TInt,TInt)
TDesC8::Type()const
TDesC8::operator!=(const TDesC8 &)const
TDesC8::operator<(const TDesC8 &)const
TDesC8::operator<=(const TDesC8 &)const
TDesC8::operator==(const TDesC8 &)const
TDesC8::operator>(const TDesC8 &)const
TDesC8::operator>=(const TDesC8 &)const
Private Attributes
TUint32 iPadding1
TUint32 iPadding2
Inherited Attributes
TBuf8< KHCIAFHHostChannelClassificationSize >::iBuf
TDes8::__DECLARE_TEST
TDes8::iMaxLength

Constructor & Destructor Documentation

TBTAFHHostChannelClassification()

IMPORT_CTBTAFHHostChannelClassification()

Constructor

TBuf8

Member Functions Documentation

BitByteIndices(TUint8 &, TUint8 &, const TUint8)

TInt BitByteIndices(TUint8 &aByteIndex,
TUint8 &aBitIndex,
const TUint8aChannel
)const [private]

Parameters

TUint8 & aByteIndex
TUint8 & aBitIndex
const TUint8 aChannel

DoSetChannelBad(const TUint8)

TInt DoSetChannelBad(const TUint8aChannel)[private]

Parameters

const TUint8 aChannel

NumUnknownsWithinRange(const TUint8, const TUint8)

TUint8 NumUnknownsWithinRange(const TUint8aChannelRangeLowest,
const TUint8aChannelRangeHighest
)const [private]

Parameters

const TUint8 aChannelRangeLowest
const TUint8 aChannelRangeHighest

Reset()

IMPORT_C voidReset()

Resets descriptor to default value

The default value is that in which there are no bad channels in 79 channel set. Note: most significant bit is reserved and set to zero.

SetChannelBad(const TUint8)

IMPORT_C TIntSetChannelBad(const TUint8aChannel)

Set a channel in this TBTAFHHostChannelClassification as 'bad' or busy.

Channels are represented by the bits in the TBTAFHHostChannelClassification descriptor. The most significant leftmost bit is always set to 0. The next most significant bit represents channel 78 The least significant rightmost bit represents channel 0 SetChannelBad unsets (i.e. sets to 0) the bit specified by the parameter 'aChannel'.

Parameters

const TUint8 aChannelThe number (in the range [0,78]) of the channel to be set as bad

SetChannelRangeBad(const TUint8, const TUint8)

IMPORT_C TIntSetChannelRangeBad(const TUint8aChannelRangeLowest,
const TUint8aChannelRangeHighest
)

Set a range of channels in this TBTAFHHostChannelClassification as 'bad' or busy.

Channels are represented by the bits in the TBTAFHHostChannelClassification descriptor. The most significant leftmost bit is always set to 0. The next most significant bit represents channel 78 The least significant rightmost bit represents channel 0 SetChannelRangeBad unsets (i.e. sets to 0) all bits in the range ['aChannelRangeLowest','aChannelRangeHighest'], that is all bits between and including the bit repesenting 'aChannelRangeLowest' and the bit representing 'aChannelRangeHighest'.

Parameters

const TUint8 aChannelRangeLowestThe lowest channel number representing a channel to be set as bad
const TUint8 aChannelRangeHighestThe highest channel number representing a channel to be set as bad

Validate()

IMPORT_C TIntValidate()const

Check that this AFH host channel classification conforms to the spec.

Checks that at least 20 channels are NOT set to bad, as required in Bluetooth specification. Also checks length is ten bytes.

Member Data Documentation

TUint32 iPadding1

TUint32 iPadding1[private]

TUint32 iPadding2

TUint32 iPadding2[private]