diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-82499F0B-2791-59B6-9BAE-F9F87234FBF1.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-82499F0B-2791-59B6-9BAE-F9F87234FBF1.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,44 @@ + + + + + +Implementing a NifMan Daemon TutorialThis 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 OS 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?

What is Network Interface Management (NifMan)? Architecture Reference
\ No newline at end of file