diff -r 000000000000 -r af10295192d8 linklayercontrol/networkinterfacemgr/netcfgext/src/nifconfigurationcontrol.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linklayercontrol/networkinterfacemgr/netcfgext/src/nifconfigurationcontrol.cpp Tue Jan 26 15:23:49 2010 +0200 @@ -0,0 +1,181 @@ +// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// Implements generic base for NIFMAN side of configuration daemon +// +// + +/** + @file NIFConfigurationControl.cpp + @internalAll +*/ +#include +#include "nifnullconfiguration.h" +#include +#include +#include +#include + +#ifdef __CFLOG_ACTIVE +_LIT8(KNifConfigControlSubTag, "NifConfigControl"); +#endif + +EXPORT_C CNifConfigurationControl* CNifConfigurationControl::NewL(MNifIfNotify& aNifIfNotify) +/** + NewL - accesses comm db to find out which derivative of CNifConfigurationControl class + to create to handle the subsequent configuration and communication with configurator. + @internalAll + @version 0.02 + @param aNifIfNotify[in] represents the connection the instance is dealing with + @return a new CNifConfigurationControl derivative +**/ + { + const TUid KUidNifConfigurationIf = {0x101FEBE1}; //interface ID + TBuf8 serverName; + TInt err = aNifIfNotify.ReadDes(TPtrC(KCDTypeNameConfigDaemonManagerName), serverName); + + if (err!=KErrNone && err!=KErrNotFound) + { + User::Leave(err); + } + if (serverName.Length() == 0 || err == KErrNotFound) + { + __FLOG_STATIC0(KESockSubConnectionTag, KNifConfigControlSubTag, + _L8("CNifConfigurationControl::NewL - creating CNifNullConfiguration object")); + // default behaviour with old CommDB or connection not using config daemons... + return new(ELeave)CNifNullConfiguration(aNifIfNotify); + } + else + { + __FLOG_STATIC0(KESockSubConnectionTag, KNifConfigControlSubTag, + _L8("CNifConfigurationControl::NewL - creating CNifConfigurationIf object")); + TEComResolverParams teComResolverParams; + teComResolverParams.SetDataType(serverName); + TAny* pImplem = REComSession::CreateImplementationL(KUidNifConfigurationIf, + _FOFF(CNifConfigurationIf, iDtor_ID_Key), &aNifIfNotify, teComResolverParams); + return reinterpret_cast(pImplem); + } + } + +void CNifNullConfiguration::RunL() +/** + RunL - called when request completes does nothing + @internalAll + @version 0.01 + @see CActive::RunL +**/ + { + __FLOG(_L8("CNifNullConfiguration::RunL")); + } + +void CNifNullConfiguration::CancelControl() +/** + CancelControl - cancels request asynchronously to avoid deadlock + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::CancelControl")); + } + +void CNifNullConfiguration::AsyncDelete() +/** + AsyncDelete - controls deletion asynchronously to avoid deadlock + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::AsyncDelete")); + // in this case there is no asynchronous stuff to worry about... + // so we jsut go away nicely. + delete this; + } + +void CNifNullConfiguration::ConfigureNetworkL() +/** + ConfigureNetworkL - signals nothing even if it should signal KLinkLayerOpen with KErrNone + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::ConfigureNetworkL")); + } + +void CNifNullConfiguration::LinkLayerDown() +/** + LinkLayerDown - does nothing. + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::LinkLayerDown")); + } + +void CNifNullConfiguration::LinkLayerUp() +/** + LinkLayerUp - does nothing. + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::LinkLayerUp")); + } + +void CNifNullConfiguration::Deregister( + TInt /* aCause */) +/** + Generates the KConfigDaemonStartingDeregistration and + KConfigDaemonFinishedDeregistrationStop progress notifications, + this indicates to CNifAgentRef that the NIF is to be stopped. + @internalAll +**/ + { + iNifIfNotify->IfProgress(KConfigDaemonStartingDeregistration, KErrNone); + iNifIfNotify->IfProgress(KConfigDaemonFinishedDeregistrationStop, KErrNone); + } + +void CNifNullConfiguration::SendIoctlMessageL(const ESock::RLegacyResponseMsg& aMessage) +/** + * SendIoctlMessageL forwards Ioctl request to the daemon and activates the AO to wait for response + * + @internalAll + @version 0.01 + @param aMessage[in] a message to be processed (it's the caller's responsibility to forward just Ioctl + * messages) +**/ + { + __FLOG(_L8("CNifNullConfiguration::SendIoctlMessageL")); + aMessage.Complete(KErrNotSupported); + } + +void CNifNullConfiguration::DoCancel() +/** + DoCancel - does nothing + @internalAll + @version 0.01 + @see CActive::DoCancel +**/ + { + __FLOG(_L8("CNifNullConfiguration::DoCancel()")); + } + +void CNifNullConfiguration::EventNotification(TNetworkAdaptorEventType /*aEventType*/, TUint /*aEvent*/, const TDesC8& /*aEventData*/, TAny* /*aSource*/) +/** + Notification - does nothing. + @internalAll + @version 0.01 +**/ + { + __FLOG(_L8("CNifNullConfiguration::EventNotification")); + } +