linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp
changeset 0 af10295192d8
child 17 d566d76acea1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp	Tue Jan 26 15:23:49 2010 +0200
@@ -0,0 +1,210 @@
+// Copyright (c) 2008-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:
+//
+
+#include <comms-infras/ss_mmnode.h>
+#include "netcfgextprov.h"
+#include "netcfgextnotify.h"
+#include <commsdattypeinfov1_1.h>
+
+using namespace Elements;
+using namespace Messages;
+using namespace ESock;
+
+_LIT(KIAPId, "IAP\\Id");
+_LIT(KIAPNetwork, "IAP\\IAPNetwork");
+
+EXPORT_C CNetCfgExtNotify* CNetCfgExtNotify::NewL(CSubConnectionProviderBase* aScpr)
+	{
+	return new(ELeave) CNetCfgExtNotify(aScpr);
+	}
+
+CNetCfgExtNotify::CNetCfgExtNotify(CSubConnectionProviderBase* aScpr)
+	: iScpr(aScpr)
+	{
+	}
+
+void CNetCfgExtNotify::IfProgress(TInt aStage, TInt aError)
+	{
+	TStateChange change(aStage, aError);
+	RClientInterface::OpenPostMessageClose(iScpr->Id(), iScpr->Id(),
+		TCFMessage::TStateChange(change).CRef());
+	}
+
+TInt CNetCfgExtNotify::DoReadInt(const TDesC& aField, TUint32& aValue,const RMessagePtr2* /*aMessage*/)
+	{
+	const ESock::RMetaExtensionContainerC& apc = iScpr->AccessPointConfig();
+	
+	const CNetCfgExtProvision* provision = static_cast<const CNetCfgExtProvision*>(apc.FindExtension(
+	        STypeId::CreateSTypeId(CNetCfgExtProvision::EUid, CNetCfgExtProvision::ETypeId)));
+	if (!provision)
+		{
+		return KErrArgument;
+		}
+
+	if (aField == KIAPId)
+		{
+		aValue = provision->Iap();
+		return KErrNone;
+		}
+	else if (aField == KIAPNetwork)
+		{
+		aValue = provision->NetworkId();
+		return KErrNone;
+		}
+	return KErrNotSupported;
+	}
+
+TInt CNetCfgExtNotify::DoReadDes(const TDesC& aField, TDes8& aValue,const RMessagePtr2* aMessage)
+	{
+	TBuf<KCommsDbSvrMaxFieldLength> buf;
+	TInt ret = DoReadDes(aField, buf, aMessage);
+	aValue.Copy(buf);
+	return ret;
+	}
+
+TInt CNetCfgExtNotify::DoReadDes(const TDesC& aField, TDes16& aValue,const RMessagePtr2* /*aMessage*/)
+	{
+	const ESock::RMetaExtensionContainerC& apc = iScpr->AccessPointConfig();
+	
+	const CNetCfgExtProvision* provision = static_cast<const CNetCfgExtProvision*>(apc.FindExtension(STypeId::CreateSTypeId(CNetCfgExtProvision::EUid, CNetCfgExtProvision::ETypeId)));
+	if (!provision)
+		{
+		return KErrArgument;
+		}
+	
+	if (aField == TPtrC(KCDTypeNameConfigDaemonName))
+		{
+		aValue.Copy(provision->ConfigDaemonName());
+		return KErrNone;
+		}
+	if (aField == TPtrC(KCDTypeNameConfigDaemonManagerName))
+		{
+		aValue.Copy(provision->ConfigDaemonManagerName());
+		return KErrNone;
+		}
+	
+	return KErrNotSupported;
+	}
+
+
+/*
+  Unsupported MNifIfNotify methods
+*/
+void CNetCfgExtNotify::LinkLayerDown(TInt /*aReason*/, TAction /*aAction*/)
+	{
+	// Unsupported
+	}
+
+void CNetCfgExtNotify::LinkLayerUp()
+	{
+	// Unsupported
+	}
+
+void CNetCfgExtNotify::NegotiationFailed(CNifIfBase* /*aIf*/, TInt /*aReason*/)
+	{
+	// Unsupported
+	}
+
+TInt CNetCfgExtNotify::Authenticate(TDes& /*aUsername*/, TDes& /*aPassword*/)
+	{
+	return KErrNotSupported;
+	}
+
+void CNetCfgExtNotify::CancelAuthenticate()
+	{
+	// Unsupported
+	}
+
+
+TInt CNetCfgExtNotify::GetExcessData(TDes8& /*aBuffer*/)
+	{
+	return KErrNotSupported;
+	}
+	
+void CNetCfgExtNotify::OpenRoute()
+	{
+	// Unsupported
+	}
+
+void CNetCfgExtNotify::CloseRoute()
+	{
+	// Unsupported
+	}
+
+
+void CNetCfgExtNotify::IfProgress(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TInt /*aStage*/, TInt /*aError*/)
+	{
+	// Unsupported
+	}
+
+TInt CNetCfgExtNotify::Notification(TNifToAgentEventType /*aEvent*/, void* /*aInfo*/)
+	{
+	return KErrNotSupported;
+	}
+
+void CNetCfgExtNotify::BinderLayerDown(CNifIfBase* /*aBinderIf*/, TInt /*aReason*/, TAction /*aAction*/)
+	{
+	// Unsupported
+	}
+
+TInt CNetCfgExtNotify::PacketActivity(TDataTransferDirection /*aDirection*/, TUint /*aBytes*/, TBool /*aResetTimer*/)
+	{
+	return KErrNotSupported;
+	}
+
+void CNetCfgExtNotify::NotifyDataSent(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aUplinkVolume*/)
+	{
+	// Unsupported
+	}
+
+void CNetCfgExtNotify::NotifyDataReceived(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aDownlinkVolume*/)
+	{
+	// Unsupported
+	}
+
+void CNetCfgExtNotify::NifEvent(TNetworkAdaptorEventType /*aEventType*/, TUint /*aEvent*/, const TDesC8& /*aEventData*/, TAny* /*aSource=0*/)
+	{
+	// Unsupported
+	}
+
+
+
+TInt CNetCfgExtNotify::DoWriteInt(const TDesC& /*aField*/, TUint32 /*aValue*/,const RMessagePtr2* /*aMessage*/)
+	{
+	return KErrNotSupported;
+	}
+
+
+TInt CNetCfgExtNotify::DoWriteDes(const TDesC& /*aField*/, const TDesC8& /*aValue*/, const RMessagePtr2* /*aMessage*/)
+	{
+	return KErrNotSupported;
+	}
+
+TInt CNetCfgExtNotify::DoWriteDes(const TDesC& /*aField*/, const TDesC16& /*aValue*/,const RMessagePtr2* /*aMessage*/)
+	{
+	return KErrNotSupported;
+	}
+
+TInt CNetCfgExtNotify::DoReadBool(const TDesC& /*aField*/, TBool& /*aValue*/,const RMessagePtr2* /*aMessage*/)
+	{
+	return KErrNotSupported;
+	}
+
+TInt CNetCfgExtNotify::DoWriteBool(const TDesC& /*aField*/, TBool /*aValue*/,const RMessagePtr2* /*aMessage*/)
+	{
+	return KErrNotSupported;
+	}
+
+