class CObex : public CBase |
This class is the common base class for CObexClient and CObexServer. It is an abstract class and cannot be instantiated in itself. However, it does contain user functionality common to both client and server connections.
initiation or response to puts & gets
(possible) handling of more generalised 'objects' (prob. with data buffered through a file).
This class is not designed for user derivation
Public Member Functions | |
---|---|
~CObex() | |
void | Error(TInt) |
TConnectState | GetConnectState() |
IMPORT_C TBool | IsAuthenticating() |
IMPORT_C TBool | IsConnected() |
IMPORT_C TBool | IsStrictPeer() |
IMPORT_C const TObexConnectInfo & | LocalInfo() |
void | NotifyError(TInt) |
void | NotifyProcess(CObexPacket &) |
void | NotifyTransportDown(TBool) |
void | NotifyTransportUp() |
void | Process(CObexPacket &) |
IMPORT_C void | RemoteAddr(TSockAddr &) |
IMPORT_C const TObexConnectInfo & | RemoteInfo() |
IMPORT_C void | SetCallBack(MObexAuthChallengeHandler &) |
IMPORT_C TInt | SetLocalWho(const TDesC8 &) |
IMPORT_C void | SuppressAuthenticationHeaderElements(TObexSuppressedAuthElements) |
void | TransportDown(TBool) |
void | TransportUp() |
void | UserPasswordL(const TDesC &) |
Protected Member Functions | |
---|---|
CObex() | |
void | CancelObexConnection() |
IMPORT_C TConnectState | ConnectState() |
void | ConstructL(TObexTransportInfo &) |
void | ControlledTransportDown() |
void | ForcedTransportDown() |
TInt | GenerateChallenge(CObexPacket &) |
void | OnError(TInt) |
void | OnPacketReceive(CObexPacket &) |
void | OnTransportDown() |
void | OnTransportUp() |
TInt | ParseConnectPacket(CObexPacket &) |
void | PrepareChallResponseL(const TDesC &) |
void | ProcessChallResponseL(const TObexInternalHeader &) |
void | ProcessChallengeL(const TObexInternalHeader &) |
void | RemoteInfoCleanup() |
void | SetConnectState(TConnectState) |
Public Member Enumerations | |
---|---|
enum | TConnectState { EConnIdle, EConnTransport, EConnObex, ESimpleConnRequest, EConnChallRxed, ESimpleConnChallIssued, EChallConnRequested, EChallConnChallIssued, EWaitForFinalResponse, EFinalResponseReceived, EFinalChallRxed, EWaitForUserInput, EDropLink } |
enum | TObexSuppressedAuthElements { EObexNoSuppressedAuthElements = 0x00, EObexSuppressChallengeOptionsAuthElement = 0x01, EObexSuppressRealmAuthElement = 0x02, EObexSuppressAllAuthElements = EObexSuppressChallengeOptionsAuthElement | EObexSuppressRealmAuthElement } |
enum | TOperation { EOpConnect = 0x00, EOpDisconnect = 0x01, EOpPut = 0x02, EOpGet = 0x03, EOpSetPath = 0x05, EOpAbort = 0xFF, EOpAbortNoFBit = 0x7F, EOpGetResponse = 0xFD, EOpIdle = 0xFE } |
Protected Attributes | |
---|---|
CObexAuthenticator * | iAuthEngine |
MObexAuthChallengeHandler * | iCallBack |
HBufC8 * | iChallPassword |
TBool | iChallenge |
TConnectState | iConnectState |
TOperation | iCurrentOperation |
TBuf8< KChallResponseSize > | iIncomingChallResp |
TNonce | iIncomingNonce |
TBuf8< KObexRespSize > | iIncomingRequestDigest |
TObexConnectInfo | iLocalInfo |
CObexNotifyHandlerBase * | iNotifyHandler |
TBuf8< KChallResponseSize > | iOutgoingChallResp |
TNonce | iOutgoingNonce |
TObexConnectInfo | iRemoteInfo |
HBufC * | iRemoteRealm |
HBufC * | iRemoteUID |
TBool | iReserved |
HBufC8 * | iRespPassword |
HBufC8 * | iRxChallenge |
TUint | iSuppressedObexAuthElements |
CObexTransportControllerBase * | iTransportController |
TBool | iUserIDRequested |
void | ConstructL | ( | TObexTransportInfo & | aObexTransportInfo | ) | [protected, virtual] |
TObexTransportInfo & aObexTransportInfo |
TInt | GenerateChallenge | ( | CObexPacket & | aPacket | ) | [protected] |
CObexPacket & aPacket |
void | NotifyProcess | ( | CObexPacket & | aPacket | ) |
CObexPacket & aPacket |
void | OnPacketReceive | ( | CObexPacket & | aPacket | ) | [protected, pure virtual] |
CObexPacket & aPacket |
TInt | ParseConnectPacket | ( | CObexPacket & | aPacket | ) | [protected, pure virtual] |
CObexPacket & aPacket |
void | PrepareChallResponseL | ( | const TDesC & | aPassword | ) | [protected] |
const TDesC & aPassword |
void | ProcessChallResponseL | ( | const TObexInternalHeader & | hdr | ) | [protected] |
const TObexInternalHeader & hdr |
void | ProcessChallengeL | ( | const TObexInternalHeader & | hdr | ) | [protected] |
const TObexInternalHeader & hdr |
IMPORT_C void | SetCallBack | ( | MObexAuthChallengeHandler & | aCallBack | ) |
MObexAuthChallengeHandler & aCallBack |
void | SetConnectState | ( | TConnectState | aNewState | ) | [protected] |
TConnectState aNewState |
IMPORT_C TInt | SetLocalWho | ( | const TDesC8 & | aInfo | ) |
const TDesC8 & aInfo |
IMPORT_C void | SuppressAuthenticationHeaderElements | ( | TObexSuppressedAuthElements | aSuppressedObexAuthElements | ) |
TObexSuppressedAuthElements aSuppressedObexAuthElements |
void | TransportDown | ( | TBool | aForceTransportDeletion | ) | [virtual] |
TBool aForceTransportDeletion |
void | UserPasswordL | ( | const TDesC & | aPassword | ) | [pure virtual] |
const TDesC & aPassword |
Current obex connection state In general, the further through the enum the values are, the further through the connection process the state machine will be.
EConnIdle | |
EConnTransport |
Nothing is happening |
EConnObex |
Transport Link connected not yet established true Link |
ESimpleConnRequest |
full connection established |
EConnChallRxed |
Connect without Auth has been sent by ClientReceived by Server |
ESimpleConnChallIssued |
Server has issued a challenge, to a Client cionnect |
EChallConnRequested |
Server, received Simple Connect but Server Challenge issued |
EChallConnChallIssued |
Connect with Auth has been sent by Client/Received by Server |
EWaitForFinalResponse |
Server has sent a Challenge & Resp to a Client EChallConnRequest |
EFinalResponseReceived |
Client, waiting for final success/fail not chall-response expected Server, Waiting for final Resp fromm Client to Challenge |
EFinalChallRxed |
Server, the final response has been received |
EWaitForUserInput |
Server, Client connect with challenge, Server responds with challenge, Client re-issued original/new challenge |
EDropLink |
waiting for the user drop the link |
Flags to suppress the authentication elements of the authentication challenge header.
EObexNoSuppressedAuthElements = 0x00 | |
EObexSuppressChallengeOptionsAuthElement = 0x01 | |
EObexSuppressRealmAuthElement = 0x02 | |
EObexSuppressAllAuthElements = EObexSuppressChallengeOptionsAuthElement | EObexSuppressRealmAuthElement |
The Obex operation currently being performed.
EOpConnect = 0x00 | |
EOpDisconnect = 0x01 |
Connect |
EOpPut = 0x02 |
Disconnect |
EOpGet = 0x03 |
Put |
EOpSetPath = 0x05 |
Get |
EOpAbort = 0xFF |
SetPath |
EOpAbortNoFBit = 0x7F |
Abort - must fit in one pkt so final bit is always set |
EOpGetResponse = 0xFD |
Abort (internal, never transmitted) |
EOpIdle = 0xFE |
Internal - not actually an obex operation. |
TBuf8< KChallResponseSize > | iIncomingChallResp | [protected] |
TBuf8< KObexRespSize > | iIncomingRequestDigest | [protected] |
TBuf8< KChallResponseSize > | iOutgoingChallResp | [protected] |