--- /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 <comms-infras/ss_log.h>
+#include "nifnullconfiguration.h"
+#include <comms-infras/nifif.h>
+#include <commsdattypeinfov1_1.h>
+#include <cdbcols.h>
+#include <cdblen.h>
+
+#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<KCommsDbSvrMaxFieldLength> 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<CNifConfigurationIf*>(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"));
+ }
+