TObexInternalHeader Class Reference

class TObexInternalHeader : public TObexData

Two parts to headers: header IDs (HI) and header values (HV). There are some strange things going on in this class, due it sourcing data (HV) from either obex or epoc, and having to then either stream it obex or return it to epoc. Might be tidier having a finer class hierarcy, but the implemented method does allow for complete generality.

Partly due to this strangeness, this is only used internally. There is also a CObexHeader class which is used for the external representation of a data header. CObexHeader

Inherits from

Public Member Functions
TObexInternalHeader()
IMPORT_C TIntGetHVText(TDes &)
IMPORT_C THeaderIDHI()
IMPORT_C TUint16HISize()
IMPORT_C THeaderTypeHIType()
IMPORT_C TUint8 *HVByteSeq()
IMPORT_C TIntHVInt()
IMPORT_C TUint16HVSize()
IMPORT_C voidSet(THeaderID, TInt)
IMPORT_C voidSet(THeaderID, TUint8 *, TInt)
IMPORT_C voidSet(THeaderID, const TDesC &)
IMPORT_C voidSetDeferred(THeaderID, TPtr8 *, TInt, TInt)
IMPORT_C voidSetHI(THeaderID)
Protected Member Functions
TUint16 DoTotalSize()
TUint16 ParseIn(TUint8 *, const TUint16)
TUint16 WriteOut(TUint8 *, const TUint16)
Inherited Functions
TObexData::TotalSize()const
Public Member Enumerations
enumTHVRepresentation { EHVObexDefault, EHVMachineText, EHVInt, EHVDefered }
enumTHeaderType { EUnicode = 0x00, EByteSeq = 0x40, E1Byte = 0x80, E4Byte = 0xC0 }
enumTWellKnownHI {
ECount = 0x00 | E4Byte, EName = 0x01 | EUnicode, EType = 0x02 | EByteSeq, ELength = 0x03 | E4Byte, ETime = 0x04 | EByteSeq, EDescription = 0x05 | EUnicode, ETarget = 0x06 | EByteSeq, EHttp = 0x07 | EByteSeq, EBody = 0x08 | EByteSeq, EEndOfBody = 0x09 | EByteSeq, EWho = 0x0A | EByteSeq, EConnectionID = 0x0B | E4Byte, EAppParam = 0x0C | EByteSeq, EAuthChallenge = 0x0D | EByteSeq, EAuthResponse = 0x0E | EByteSeq, ECreatorID = 0x0F | E4Byte, EWanUUID = 0x10 | EByteSeq, EObjectClass = 0x11 | EByteSeq
}
Public Member Type Definitions
typedef TUint8 THeaderID
Public Attributes
TPtr8 *iDefered
TInt iInt
TText *iMachine
TUint8 *iObex
Private Attributes
THeaderID iHI
union TObexInternalHeader::@57iHV
TUint16 iHVMaxSize
THVRepresentation iHVRep
TUint16 iHVSize

Constructor & Destructor Documentation

TObexInternalHeader()

IMPORT_CTObexInternalHeader()

Member Functions Documentation

DoTotalSize()

TUint16 DoTotalSize()const [protected, virtual]

GetHVText(TDes &)

IMPORT_C TIntGetHVText(TDes &aString)const

Parameters

TDes & aString

HI()

IMPORT_C THeaderIDHI()const

HISize()

IMPORT_C TUint16HISize()const

HIType()

IMPORT_C THeaderTypeHIType()const

HVByteSeq()

IMPORT_C TUint8 *HVByteSeq()const

HVInt()

IMPORT_C TIntHVInt()const

HVSize()

IMPORT_C TUint16HVSize()const

ParseIn(TUint8 *, const TUint16)

TUint16 ParseIn(TUint8 *aSource,
const TUint16aMaxSize
)[protected, virtual]

Parameters

TUint8 * aSource
const TUint16 aMaxSize

Set(THeaderID, TInt)

IMPORT_C voidSet(THeaderIDaHID,
TIntaValue
)

Parameters

THeaderID aHID
TInt aValue

Set(THeaderID, TUint8 *, TInt)

IMPORT_C voidSet(THeaderIDaHID,
TUint8 *aHV,
TIntaHVSize
)

Parameters

THeaderID aHID
TUint8 * aHV
TInt aHVSize

Set(THeaderID, const TDesC &)

IMPORT_C voidSet(THeaderIDaHID,
const TDesC &aString
)

Parameters

THeaderID aHID
const TDesC & aString

SetDeferred(THeaderID, TPtr8 *, TInt, TInt)

IMPORT_C voidSetDeferred(THeaderIDaHID,
TPtr8 *aDataInserter,
TIntaMinSize,
TIntaMaxSize = 0
)

Parameters

THeaderID aHID
TPtr8 * aDataInserter
TInt aMinSize
TInt aMaxSize = 0

SetHI(THeaderID)

IMPORT_C voidSetHI(THeaderIDaHID)

Parameters

THeaderID aHID

WriteOut(TUint8 *, const TUint16)

TUint16 WriteOut(TUint8 *aDest,
const TUint16aMaxSize
)const [protected, virtual]

Parameters

TUint8 * aDest
const TUint16 aMaxSize

Member Enumerations Documentation

Enum THVRepresentation

Enumerators

EHVObexDefault
EHVMachineText
EHVInt
EHVDefered

Enum THeaderType

Enumerators

EUnicode = 0x00
EByteSeq = 0x40
E1Byte = 0x80
E4Byte = 0xC0

Enum TWellKnownHI

Enumerators

ECount = 0x00 | E4Byte
EName = 0x01 | EUnicode
EType = 0x02 | EByteSeq
ELength = 0x03 | E4Byte
ETime = 0x04 | EByteSeq
EDescription = 0x05 | EUnicode
ETarget = 0x06 | EByteSeq
EHttp = 0x07 | EByteSeq
EBody = 0x08 | EByteSeq
EEndOfBody = 0x09 | EByteSeq
EWho = 0x0A | EByteSeq
EConnectionID = 0x0B | E4Byte
EAppParam = 0x0C | EByteSeq
EAuthChallenge = 0x0D | EByteSeq
EAuthResponse = 0x0E | EByteSeq
ECreatorID = 0x0F | E4Byte
EWanUUID = 0x10 | EByteSeq
EObjectClass = 0x11 | EByteSeq

Member Type Definitions Documentation

Typedef THeaderID

typedef TUint8 THeaderID

Member Data Documentation

TPtr8 * iDefered

TPtr8 *iDefered

THeaderID iHI

THeaderID iHI[private]

union TObexInternalHeader::@57 iHV

union TObexInternalHeader::@57iHV[private]

TUint16 iHVMaxSize

TUint16 iHVMaxSize[private]

THVRepresentation iHVRep

THVRepresentation iHVRep[private]

TUint16 iHVSize

TUint16 iHVSize[private]

TInt iInt

TInt iInt

TText * iMachine

TText *iMachine

TUint8 * iObex

TUint8 *iObex