RATExt Class Reference

class RATExt : public RSessionBase

Client of AT Extension.

atextclient.lib
Since
S60 v5.0

Inherits from

Public Member Functions
IMPORT_C TIntBroadcastNvramStatusChange(const TDesC8 &)
IMPORT_C TIntCancelHandleCommand()
IMPORT_C TIntCancelReceiveEcomPluginChange()
IMPORT_C TIntCancelReceiveUnsolicitedResult(TUid &)
IMPORT_C TIntConnect(TATExtensionInterface, const TDesC8 &)
IMPORT_C TIntGetNextPartOfReply(TBuf8< KDefaultCmdBufLength > &, TInt &)
IMPORT_C TIntGetNextSpecialCommand(TDes8 &, TBool &)
IMPORT_C TIntHandleCommand(TRequestStatus &, const TDesC8 &, TBuf8< KDefaultCmdBufLength > &, TPckg< TInt > &, TPckg< TATExtensionReplyType > &)
IMPORT_C TIntMarkUrcHandlingOwnership(TUid &)
IMPORT_C TIntNumberOfPlugins()
IMPORT_C TIntReceiveEcomPluginChange(TRequestStatus &, TPckg< TUid > &, TPckg< TATExtensionEcomType > &)
IMPORT_C TIntReceiveUnsolicitedResult(TRequestStatus &, TBuf8< KDefaultUrcBufLength > &, TPckg< TUid > &)
IMPORT_C TIntReportCharacterChange(TATExtensionCharType, TInt8)
IMPORT_C TIntReportExternalHandleCommandError()
IMPORT_C TIntReportHandleCommandAbort(TBool &)
IMPORT_C TIntReportListenerUpdateReady(TUid &, TATExtensionEcomType)
IMPORT_C TIntReportQuietModeChange(TBool)
IMPORT_C TIntReportVerboseModeChange(TBool)
IMPORT_C TIntSynchronousClose()
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 TIntBroadcastNvramStatusChange(const TDesC8 &aNvram)

Broadcasts NVRAM status change to the plugins.

Since
S60 5.0

Parameters

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

CancelHandleCommand()

IMPORT_C TIntCancelHandleCommand()

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 TIntCancelReceiveEcomPluginChange()

Cancels ECOM plugin uninstall/install/version report receiving

Since
S60 5.0

CancelReceiveUnsolicitedResult(TUid &)

IMPORT_C TIntCancelReceiveUnsolicitedResult(TUid &aUrcPluginUid)

Cancels a pending receiving request.

Since
S60 v5.0

Parameters

TUid & aUrcPluginUidUID of the plugin

Connect(TATExtensionInterface, const TDesC8 &)

IMPORT_C TIntConnect(TATExtensionInterfaceaIf,
const TDesC8 &aName
)

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

Since
S60 v5.0

Parameters

TATExtensionInterface aIfThe AT extension interface
const TDesC8 & aNameConnection identifier name

GetNextPartOfReply(TBuf8< KDefaultCmdBufLength > &, TInt &)

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

Gets the remaining reply of a previous handled command.

Since
S60 v5.0

Parameters

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

GetNextSpecialCommand(TDes8 &, TBool &)

IMPORT_C TIntGetNextSpecialCommand(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 & aCmdThe next found special command
TBool & aFirstSearchIf 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 TIntHandleCommand(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 & aStatusThe request status
const TDesC8 & aCmdThe command to be handled (1) or data for editor mode (2).
TBuf8< KDefaultCmdBufLength > & aReplyThe descriptor to hold reply to this command (3).
TPckg< TInt > & aRemainingReplyLengthTells the length of remaining reply if it is not 0; the remainings can be fetched by GetNextPartOfReply() (4).
TPckg< TATExtensionReplyType > & aReplyTypeReply type for the handled AT command (1) or editor mode (2) (5).

MarkUrcHandlingOwnership(TUid &)

IMPORT_C TIntMarkUrcHandlingOwnership(TUid &aUrcPluginUid)

Marks URC handling ownership.

Since
S60 v5.0

Parameters

TUid & aUrcPluginUidUID of the plugin

NumberOfPlugins()

IMPORT_C TIntNumberOfPlugins()

Number of plugins

Since
S60 v5.0

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

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

Receives ECOM plugin uninstall/install/version reports

Since
S60 5.0

Parameters

TRequestStatus & aStatusThe request status
TPckg< TUid > & aPluginUidUID of the plugin
TPckg< TATExtensionEcomType > & aEcomTypeEcom type for the update

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

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

Receives unsolicited result code from extension plugins.

Since
S60 v5.0

Parameters

TRequestStatus & aStatusThe request status
TBuf8< KDefaultUrcBufLength > & aRecvBufferThe receiving buffer
TPckg< TUid > & aUrcPluginUidUID of the plugin

ReportCharacterChange(TATExtensionCharType, TInt8)

IMPORT_C TIntReportCharacterChange(TATExtensionCharTypeaCharType,
TInt8aNewChar
)

Reports change to a value of a character

Since
S60 5.0

Parameters

TATExtensionCharType aCharTypeNew character's type
TInt8 aNewCharNew character value

ReportExternalHandleCommandError()

IMPORT_C TIntReportExternalHandleCommandError()

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 TIntReportHandleCommandAbort(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 & aStopIf ETrue stop command line processing If EFalse continue command line processing

ReportListenerUpdateReady(TUid &, TATExtensionEcomType)

IMPORT_C TIntReportListenerUpdateReady(TUid &aPluginUid,
TATExtensionEcomTypeaUpdateType
)

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

Since
S60 5.0

Parameters

TUid & aPluginUidUID of the plugin
TATExtensionEcomType aUpdateTypeType of update

ReportQuietModeChange(TBool)

IMPORT_C TIntReportQuietModeChange(TBoolaMode)

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

Since
S60 5.0

Parameters

TBool aModeETrue if quiet mode changed on, EFalse if off

ReportVerboseModeChange(TBool)

IMPORT_C TIntReportVerboseModeChange(TBoolaMode)

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

Since
S60 5.0

Parameters

TBool aModeETrue if verbose mode changed on, EFalse if off

SynchronousClose()

IMPORT_C TIntSynchronousClose()

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