RATExt Class Reference

class RATExt : public RSessionBase

Client of AT Extension.

atextclient.lib
Since
S60 v5.0

Inherits from

Public Member Functions
IMPORT_C TInt BroadcastNvramStatusChange (const TDesC8 &)
IMPORT_C TInt CancelHandleCommand ()
IMPORT_C TInt CancelReceiveEcomPluginChange ()
IMPORT_C TInt CancelReceiveUnsolicitedResult ( TUid &)
IMPORT_C TInt Connect ( TATExtensionInterface , const TDesC8 &)
IMPORT_C TInt GetNextPartOfReply ( TBuf8 < KDefaultCmdBufLength > &, TInt &)
IMPORT_C TInt GetNextSpecialCommand ( TDes8 &, TBool &)
IMPORT_C TInt HandleCommand ( TRequestStatus &, const TDesC8 &, TBuf8 < KDefaultCmdBufLength > &, TPckg < TInt > &, TPckg < TATExtensionReplyType > &)
IMPORT_C TInt MarkUrcHandlingOwnership ( TUid &)
IMPORT_C TInt NumberOfPlugins ()
IMPORT_C TInt ReceiveEcomPluginChange ( TRequestStatus &, TPckg < TUid > &, TPckg < TATExtensionEcomType > &)
IMPORT_C TInt ReceiveUnsolicitedResult ( TRequestStatus &, TBuf8 < KDefaultUrcBufLength > &, TPckg < TUid > &)
IMPORT_C TInt ReportCharacterChange ( TATExtensionCharType , TInt8 )
IMPORT_C TInt ReportExternalHandleCommandError ()
IMPORT_C TInt ReportHandleCommandAbort ( TBool &)
IMPORT_C TInt ReportListenerUpdateReady ( TUid &, TATExtensionEcomType )
IMPORT_C TInt ReportQuietModeChange ( TBool )
IMPORT_C TInt ReportVerboseModeChange ( TBool )
IMPORT_C TInt SynchronousClose ()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::Close()
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RSessionBase::CreateSession(RServer2,const TVersion &)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt)
RSessionBase::CreateSession(RServer2,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TIpcSessionType,const TSecurityPolicy *,TRequestStatus *)
RSessionBase::CreateSession(const TDesC &,const TVersion &,TInt,TRequestStatus *)
RSessionBase::Open(RMessagePtr2,TInt,TOwnerType)
RSessionBase::Open(RMessagePtr2,TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Open(TInt,TOwnerType)
RSessionBase::Open(TInt,const TSecurityPolicy &,TOwnerType)
RSessionBase::Send(TInt)const
RSessionBase::Send(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt)const
RSessionBase::SendReceive(TInt,TRequestStatus &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &)const
RSessionBase::SendReceive(TInt,const TIpcArgs &,TRequestStatus &)const
RSessionBase::SetReturnedHandle(TInt)
RSessionBase::SetReturnedHandle(TInt,RHandleBase &)
RSessionBase::SetReturnedHandle(TInt,const TSecurityPolicy &)
RSessionBase::ShareAuto()
RSessionBase::ShareProtected()
Inherited Enumerations
RHandleBase:TAttributes
RSessionBase:TAttachMode
Private Attributes
TATExtensionInterface iConnectedIf
Inherited Attributes
RHandleBase::iHandle

Member Functions Documentation

BroadcastNvramStatusChange(const TDesC8 &)

IMPORT_C TInt BroadcastNvramStatusChange ( const TDesC8 & aNvram )

Broadcasts NVRAM status change to the plugins.

Since
S60 5.0

Parameters

const TDesC8 & aNvram New NVRAM status. The new settings (delimited by "|") must differ from the Hayes defaults.

CancelHandleCommand()

IMPORT_C TInt CancelHandleCommand ( )

Cancels a command handling request. Calling this API in editor mode also causes ATEXT to reset the information about the plugin currently handling byte-by-byte data. This causes the next command to be handled in normal mode.

Since
S60 v5.0

CancelReceiveEcomPluginChange()

IMPORT_C TInt CancelReceiveEcomPluginChange ( )

Cancels ECOM plugin uninstall/install/version report receiving

Since
S60 5.0

CancelReceiveUnsolicitedResult(TUid &)

IMPORT_C TInt CancelReceiveUnsolicitedResult ( TUid & aUrcPluginUid )

Cancels a pending receiving request.

Since
S60 v5.0

Parameters

TUid & aUrcPluginUid UID of the plugin

Connect(TATExtensionInterface, const TDesC8 &)

IMPORT_C TInt Connect ( TATExtensionInterface aIf,
const TDesC8 & aName
)

Establishes a session with server and connect to corresponding extension plugins specified by parameter TATExtensionInterface.

Since
S60 v5.0

Parameters

TATExtensionInterface aIf The AT extension interface
const TDesC8 & aName Connection identifier name

GetNextPartOfReply(TBuf8< KDefaultCmdBufLength > &, TInt &)

IMPORT_C TInt GetNextPartOfReply ( TBuf8 < KDefaultCmdBufLength > & aReply,
TInt & aRemainingReplyLength
)

Gets the remaining reply of a previous handled command.

Since
S60 v5.0

Parameters

TBuf8 < KDefaultCmdBufLength > & aReply The descriptor to hold the reply;
TInt & aRemainingReplyLength tells the length of remaining reply if it is not 0; the remainings can be fetched by GetNextPartOfReply().

GetNextSpecialCommand(TDes8 &, TBool &)

IMPORT_C TInt GetNextSpecialCommand ( TDes8 & aCmd,
TBool & aFirstSearch
)

Gets the next special command RSS file entry. These commands are commands with a matching start but with any ending sequence. Command "ATD*99***1#" is one of these and the number of these commands should be kept minimal.

Since
S60 5.0

Parameters

TDes8 & aCmd The next found special command
TBool & aFirstSearch If ETrue the search is done from the start, If EFalse the search continues from the old position. ATEXT sets this to EFalse after each successfull call.

HandleCommand(TRequestStatus &, const TDesC8 &, TBuf8< KDefaultCmdBufLength > &, TPckg< TInt > &, TPckg< TATExtensionReplyType > &)

IMPORT_C TInt HandleCommand ( TRequestStatus & aStatus,
const TDesC8 & aCmd,
TBuf8 < KDefaultCmdBufLength > & aReply,
TPckg < TInt > & aRemainingReplyLength,
TPckg < TATExtensionReplyType > & aReplyType
)

Handles a command. This API supports two modes: Normal mode (!EReplyTypeEditor) for normal use cases Editor mode (EReplyTypeEditor) for special AT commands with text mode

Notes for parameters below: (1) Command to be handled is used in normal mode only. Editor mode is entered when the first EReplyTypeEditor reply is received (5). Editor mode is ended when the first !EReplyTypeEditor reply is received (5). (2) Data received is character set independent; this API is called byte-by-byte in editor mode. (3) The reply string is not used in editor mode's text input. Only editor mode's start condition (prompt) and end condition (!EReplyTypeEditor) handle the possibly existing reply string. (4) The remaining reply length setting is not used in editor mode's text input. It is only used in editor mode's start condition (prompt) and end condition (!EReplyTypeEditor) (5) Normal mode: Other than EReplyTypeEditor reply. Editor mode: Started with EReplyTypeEditor, continued with EReplyTypeEditor, Ended with !EReplyTypeEditor Note: the first reply with EReplyTypeEditor is the "prompt". Subsequent replies with EReplyTypeEditor are ignored.

Note: The editor mode supported by this API should only be used for commands not requiring support for signals. These commands include cases such as DCD signal required by command AT+CMGS.

Since
S60 v5.0

Parameters

TRequestStatus & aStatus The request status
const TDesC8 & aCmd The command to be handled (1) or data for editor mode (2).
TBuf8 < KDefaultCmdBufLength > & aReply The descriptor to hold reply to this command (3).
TPckg < TInt > & aRemainingReplyLength Tells the length of remaining reply if it is not 0; the remainings can be fetched by GetNextPartOfReply() (4).
TPckg < TATExtensionReplyType > & aReplyType Reply type for the handled AT command (1) or editor mode (2) (5).

MarkUrcHandlingOwnership(TUid &)

IMPORT_C TInt MarkUrcHandlingOwnership ( TUid & aUrcPluginUid )

Marks URC handling ownership.

Since
S60 v5.0

Parameters

TUid & aUrcPluginUid UID of the plugin

NumberOfPlugins()

IMPORT_C TInt NumberOfPlugins ( )

Number of plugins

Since
S60 v5.0

ReceiveEcomPluginChange(TRequestStatus &, TPckg< TUid > &, TPckg< TATExtensionEcomType > &)

IMPORT_C TInt ReceiveEcomPluginChange ( TRequestStatus & aStatus,
TPckg < TUid > & aPluginUid,
TPckg < TATExtensionEcomType > & aEcomType
)

Receives ECOM plugin uninstall/install/version reports

Since
S60 5.0

Parameters

TRequestStatus & aStatus The request status
TPckg < TUid > & aPluginUid UID of the plugin
TPckg < TATExtensionEcomType > & aEcomType Ecom type for the update

ReceiveUnsolicitedResult(TRequestStatus &, TBuf8< KDefaultUrcBufLength > &, TPckg< TUid > &)

IMPORT_C TInt ReceiveUnsolicitedResult ( TRequestStatus & aStatus,
TBuf8 < KDefaultUrcBufLength > & aRecvBuffer,
TPckg < TUid > & aUrcPluginUid
)

Receives unsolicited result code from extension plugins.

Since
S60 v5.0

Parameters

TRequestStatus & aStatus The request status
TBuf8 < KDefaultUrcBufLength > & aRecvBuffer The receiving buffer
TPckg < TUid > & aUrcPluginUid UID of the plugin

ReportCharacterChange(TATExtensionCharType, TInt8)

IMPORT_C TInt ReportCharacterChange ( TATExtensionCharType aCharType,
TInt8 aNewChar
)

Reports change to a value of a character

Since
S60 5.0

Parameters

TATExtensionCharType aCharType New character's type
TInt8 aNewChar New character value

ReportExternalHandleCommandError()

IMPORT_C TInt ReportExternalHandleCommandError ( )

Reports about external handle command error condition. This is for cases when for example DUN decided the reply contained an error condition but the plugin is still handling the command internally. Example: "AT+TEST;+TEST2" was given in command line; "AT+TEST" returns non-EReplyTypeError condition and "AT+TEST2" returns EReplyTypeError. As the plugin(s) returning the non-EReplyTypeError may still have some ongoing operation then these plugins are notified about the external EReplyTypeError in command line processing. It is to be noted that HandleCommandCancel() is not sufficient to stop the processing as the command handling has already finished.

Since
S60 5.0

ReportHandleCommandAbort(TBool &)

IMPORT_C TInt ReportHandleCommandAbort ( TBool & aStop )

Reports about abort condition in command handling. This is for cases when for example DUN decided an abort condition was received from DTE (ITU-T V.250 5.6.1). This API is for notifying the plugin that abort was requested. However the plugin currently handling the command may ignore the request if it doesn't support abort for the command or it may return the changed condition with HandleCommandCompleted()

Since
S60 5.0

Parameters

TBool & aStop If ETrue stop command line processing If EFalse continue command line processing

ReportListenerUpdateReady(TUid &, TATExtensionEcomType)

IMPORT_C TInt ReportListenerUpdateReady ( TUid & aPluginUid,
TATExtensionEcomType aUpdateType
)

Reporter for reporting when client side has updated its internal information after ReceiveEcomPluginChange()

Since
S60 5.0

Parameters

TUid & aPluginUid UID of the plugin
TATExtensionEcomType aUpdateType Type of update

ReportQuietModeChange(TBool)

IMPORT_C TInt ReportQuietModeChange ( TBool aMode )

Reports change to quiet mode. The quiet mode is off by default.

Since
S60 5.0

Parameters

TBool aMode ETrue if quiet mode changed on, EFalse if off

ReportVerboseModeChange(TBool)

IMPORT_C TInt ReportVerboseModeChange ( TBool aMode )

Reports change to verbose mode. The verbose mode is on by default.

Since
S60 5.0

Parameters

TBool aMode ETrue if verbose mode changed on, EFalse if off

SynchronousClose()

IMPORT_C TInt SynchronousClose ( )

Synchronously closes the session Optional: client can do either Close() or SynchronousClose() +Close()

Since
S60 v5.0

Member Data Documentation

TATExtensionInterface iConnectedIf

TATExtensionInterface iConnectedIf [private]

Connected interface