To use the service discovery database, a client must:
Create a session to the database object, RSdp
, and open a connection.
Create a subsession to the database object, RSdpDatabase
, and open it. A client can have multiple subsessions open if required. (Sessions and subsessions are part of EPOC's architecture for interprocess communication: see Client/Server Overview).
Close subsessions and sessions when they are no longer needed.
The following example shows how to connect to the database:
// 1. Create and open session to the database
RSdp sdp;
User::LeaveIfError(sdp.Connect());
// 2. Create and open a subsession
RSdpDatabase sdpSubSession;
User::LeaveIfError(sdpSubSession.Open(sdp));
...
// 3. Cleanup
sdpSubSession.Close();
sdp.Close();
If all sessions to the SDP database are closed, then the database shuts down. Any application that offers a service should therefore keep a handle to the database as long as it is offering the service.