linklayercontrol/networkinterfacemgr/netcfgext/src/nifconfigurationcontrol.cpp
changeset 0 af10295192d8
child 5 1422c6cd3f0c
--- /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")); 
+	}
+