S60 5th Edition SDK
Example Applications Guide

CTimeServerSession Class Reference

#include <timesession.h>

Inheritance diagram for CTimeServerSession:

List of all members.

Detailed Description

CTimeServerSession. An instance of class CTimeServerSession is created for each client.

Definition at line 31 of file timesession.h.

Public Member Functions

virtual ~CTimeServerSession ()
void ServiceL (const RMessage2 &aMessage)

Static Public Member Functions

static CTimeServerSessionNewL (CTimeServer &aServer)
static CTimeServerSessionNewLC (CTimeServer &aServer)

Private Member Functions

 CTimeServerSession (CTimeServer &aServer)
void ConstructL ()
void PanicClient (const RMessagePtr2 &aMessage, TInt aPanic) const
void RequestTimeL (const RMessage2 &aMessage)

Private Attributes

CTimeServeriServer


Constructor & Destructor Documentation

CTimeServerSession::~CTimeServerSession  )  [virtual]
 

~CTimeServerSession. Destructor.

Definition at line 77 of file timesession.cpp.

References CTimeServer::DecrementSessions(), and iServer.

00078     {
00079     iServer.DecrementSessions();
00080     }

CTimeServerSession::CTimeServerSession CTimeServer aServer  )  [private]
 

CTimeServerSession. C++ default constructor.

Parameters:
aServer The server.

Definition at line 66 of file timesession.cpp.

Referenced by NewLC().

00067 : iServer( aServer )
00068     {
00069     // Implementation not required
00070     }


Member Function Documentation

CTimeServerSession * CTimeServerSession::NewL CTimeServer aServer  )  [static]
 

NewL. Two-phased constructor.

Parameters:
aServer The server.
Returns:
Pointer to created CTimeServerSession object.

Definition at line 31 of file timesession.cpp.

References NewLC().

Referenced by CTimeServer::NewSessionL().

00032     {
00033     CTimeServerSession* self = CTimeServerSession::NewLC( aServer );
00034     CleanupStack::Pop( self );
00035     return self;
00036     }

CTimeServerSession * CTimeServerSession::NewLC CTimeServer aServer  )  [static]
 

NewLC. Two-phased constructor.

Parameters:
aServer The server.
Returns:
Pointer to created CTimeServerSession object.

Definition at line 43 of file timesession.cpp.

References CTimeServerSession().

Referenced by NewL().

00044     {
00045     CTimeServerSession* self = new ( ELeave ) CTimeServerSession( aServer );
00046     CleanupStack::PushL( self );
00047     self->ConstructL();
00048     return self;
00049     }

void CTimeServerSession::ServiceL const RMessage2 &  aMessage  ) 
 

From CSession, ServiceL. Service request from client.

Parameters:
aMessage Message from client (containing requested operation and any data).

Definition at line 87 of file timesession.cpp.

References PanicClient(), and RequestTimeL().

00088     {
00089     switch ( aMessage.Function() )
00090         {
00091         case ETimeServRequestTime :
00092             RequestTimeL( aMessage );
00093             break;
00094 
00095         default:
00096             PanicClient( aMessage, EBadRequest );
00097             break;
00098         }
00099     aMessage.Complete( KErrNone );
00100     }

void CTimeServerSession::ConstructL  )  [private]
 

ConstructL. 2nd phase constructor.

Definition at line 56 of file timesession.cpp.

References CTimeServer::IncrementSessions(), and iServer.

00057     {
00058     iServer.IncrementSessions();
00059     }

void CTimeServerSession::PanicClient const RMessagePtr2 &  aMessage,
TInt  aPanic
const [private]
 

PanicClient. Causes the client thread to panic.

Parameters:
aMessage Message from client.
aPanic Panic code.

Definition at line 126 of file timesession.cpp.

Referenced by ServiceL().

00128     {
00129     aMessage.Panic( KCSSyncServer,aPanic ); // Note: this panics the client thread,
00130                                    // not server
00131     }

void CTimeServerSession::RequestTimeL const RMessage2 &  aMessage  )  [private]
 

RequestTimeL. Handle the result of the client requesting the time. Gets the time and writes it back to the client synchronously.

Parameters:
aMessage Message from client.

Definition at line 108 of file timesession.cpp.

Referenced by ServiceL().

00109     {    
00110     TTime time;
00111     time.HomeTime();
00112 
00113     TPtr8 ptr( reinterpret_cast<TUint8*>( &time ), sizeof( time ),
00114                sizeof( time ) );
00115     
00116     // Write time data to the descriptor which is the first message argument
00117     aMessage.WriteL( 0, ptr, 0 );    
00118     }


Member Data Documentation

CTimeServer& CTimeServerSession::iServer [private]
 

iServer, reference to the server.

Definition at line 105 of file timesession.h.

Referenced by ConstructL(), and ~CTimeServerSession().


The documentation for this class was generated from the following files:

© Nokia 2009

Back to top