RSuplTerminalServer Class Reference

class RSuplTerminalServer : public RSessionBase

This class is used to establish connection and to close connection to terminal resident SUPL Server. This class contains methods for connecting to SUPL Server, to close connection to SUPL Server and get SUPL Terminal Initiation API version number. After the connection has been established, its handle is passed as a parameter to the Open method of RSuplTerminalSubSession to create a "sub-session". Client should close connection to SUPL Server when connection is no longer required.

Inherits from

Public Member Functions
RSuplTerminalServer()
IMPORT_C voidClose()
IMPORT_C TIntConnect()
IMPORT_C TIntConnect(TRequestStatus &)
IMPORT_C TVersionVersion()
Private Member Functions
voidConstructL()
voidDestruct()
TInt StartServer()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
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
TAny *iReserved
Inherited Attributes
RHandleBase::iHandle

Constructor & Destructor Documentation

RSuplTerminalServer()

IMPORT_CRSuplTerminalServer()

Constructor for RSuplTerminalServer

Member Functions Documentation

Close()

IMPORT_C voidClose()

Closes a connection with the SUPL Server. A client must ensure that all sub-sessions are closed and all outstanding requests are cancelled before the connection to SUPL Server is closed.

Connect()

IMPORT_C TIntConnect()

Creates a connection with SUPL Server. If there is no other connection when this is called, the method will start the server. If client tries to connect again with the same instance before closing previous connection, it panics with panic code ESuplServerHandleNotClosed.

  • KErrNone when a link has been successfully established with SUPL Server.

  • KErrNotFound if server executable is not found to start a SUPL Server

  • KErrNotSupported if version of client API is not compatible with SUPL Server or if SUPL feature is not enabled in the terminal.

  • KErrPermissionDenied if client does not have CommDD capability

Connect(TRequestStatus &)

IMPORT_C TIntConnect(TRequestStatus &aStatus)

Asynchronous method to creates a connection with SUPL Server. If there is no other connection when this is called, the method will start the server. If client tries to connect again with the same instance before closing previous connection, it panics with panic code ESuplServerHandleNotClosed.

This method can complete the request issued by client with the following error codes
  • KErrNone when a link has been successfully established with SUPL Server.

  • KErrNotFound if server executable is not found to start a SUPL Server

  • KErrNotSupported if version of client API is not compatible with SUPL Server or if SUPL feature is not enabled in the terminal.

  • KErrPermissionDenied if client does not have CommDD capability

Parameters

TRequestStatus & aStatus

ConstructL()

voidConstructL()[private]

Destruct()

voidDestruct()[private]

StartServer()

TInt StartServer()[private, static]

Start the server process/thread which lives in an EPOCEXE object.

Version()

IMPORT_C TVersionVersion()const

Obtains the current version number of the SUPL Terminal Initiation API.

Member Data Documentation

TAny * iReserved

TAny *iReserved[private]

Unused variable for future expansion.