This topic describes the steps involved in implementing a NifMan Daemon.
Daemons are loaded when a connection is started that requires network layer configuration. The ECom configuration daemon manager used for a connection is specified in the SERVICE_CONFIG_DAEMON_MANAGER_NAME field in the Comms Database Dial Out ISP and GPRS Packet Service tables. The daemon server used for a connection is specified in the SERVICE_CONFIG_DAEMON_NAME field in the CommDb Dial Out ISP and GPRS Packet Service tables.
To implement a configuration daemon, you must write a Symbian platform server for more information see Using Client/Server .
The name of the server in CServer::Start() must match the name used in the CommDb SERVICE_CONFIG_DAEMON_NAME field.
The following ServiceL() implementation tests for these messages types and calls functions:
void CEgConfigDaemonSession::ServiceL(const RMessage2& aMessage)
{
switch (aMessage.Function())
{
case EConfigDaemonConfigure:
ConfigureL(aMessage);
break;
case EConfigDaemonDeregister:
DeregisterL(aMessage);
break;
case EConfigDaemonLinkLayerDown:
LinkLayerDownL(aMessage);
break;
case EConfigDaemonLinkLayerUp:
LinkLayerUpL(aMessage);
break;
case EConfigDaemonProgress:
ProgressL(aMessage);
break;
case EConfigDaemonIoctl:
IoctlL(aMessage);
break;
case EConfigDaemonCancel:
Cancel(aMessage);
break;
case EConfigDaemonCancelMask:
CancelMask(aMessage);
break;
default:
User::Leave(KErrNotSupported);
break;
}
}
For more information about the message types see What are the daemon message types?
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.