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 void Close ()
IMPORT_C TInt Connect ()
IMPORT_C TInt Connect ( TRequestStatus &)
IMPORT_C TVersion Version ()
Private Member Functions
void ConstructL ()
void Destruct ()
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_C RSuplTerminalServer ( )

Constructor for RSuplTerminalServer

Member Functions Documentation

Close()

IMPORT_C void Close ( )

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 TInt Connect ( )

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 TInt Connect ( 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()

void ConstructL ( ) [private]

Destruct()

void Destruct ( ) [private]

StartServer()

TInt StartServer ( ) [private, static]

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

Version()

IMPORT_C TVersion Version ( ) 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.