class CProtocolInterfaceBase : public CProtocolBaseUnbind |
A special interface for a protocol module that itself provides access to a network interface.
When IP6 is bound to a protocol, such protocol is loaded whenever IP is active. If the TServerProtocolDesc::iServiceTypeInfo has EInterface (of TProtocolServiceInfo) flag set, the IP6 assumes that the protocol is derived from CProtocolIneterfaceBase and that it supports the GetBinderL method.
The GetBinderL method is then called using the current protocol name (ip or ip6) as a parameter. If GetBinderL succeeds by returning a NIF pointer, the stack installs this an interface to the system. This can be used to create "fake" or real interfaces to the stack outside the NIFMAN control.
WARNING: TCPIP is just stealing the EInterface flag for this purpose. The original use of this flag is unknown, and it does not seem to be used for anything in current socket server (as of writing this).
Public Member Functions | |
---|---|
CNifIfBase * | GetBinderL(const TDesC &) |
CNifIfBase * | GetBinderL | ( | const TDesC & | aName | ) | [pure virtual] |
Gets the network inteface provided by the protocol module.
Network layer calls this method once after a protocol that has been tagged as "interface protocol" by use of EInterface flag in the TServerProtocolDesc::iServiceTypeInfo field.
The returned NIF (if ANY) is installed a network interface to the IP stack.
const TDesC & aName | Name of the binding protocol ("ip" or "ip6"). |
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.