nettools/conntest/probe/src/family.cpp
changeset 0 857a3e953887
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nettools/conntest/probe/src/family.cpp	Thu Dec 17 08:39:25 2009 +0200
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2002-2006 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: Packet probe hook
+*
+*/
+
+#include <e32std.h>
+#include "family.h"
+#include "prt.h"
+//
+// Nothing interesting here...
+//
+GLDEF_C TInt E32Dll()
+	{
+	return KErrNone;
+	}
+
+class CProtocolFamilyProbe : public CProtocolFamilyBase
+	{
+public:
+	CProtocolFamilyProbe();
+	~CProtocolFamilyProbe();
+	TInt Install();
+	TInt Remove();
+	TUint ProtocolList(TServerProtocolDesc *& aProtocolList);
+	CProtocolBase* NewProtocolL(TUint /*aSockType*/, TUint aProtocol);
+	};
+
+extern "C" { IMPORT_C CProtocolFamilyBase* Install(); }
+EXPORT_C CProtocolFamilyBase* Install()
+	{
+	// Due to naming convention this cannot leave
+	// However null return value handled correctly in the caller...
+	return new CProtocolFamilyProbe;
+	}
+
+//----------------------------------------------------------------------
+// Dummy protocol family declaration. Required for DLL's
+//
+
+CProtocolFamilyProbe::CProtocolFamilyProbe()
+	{
+//	__DECLARE_NAME(_S("CProtocolFamilyProbe"));
+	}
+
+CProtocolFamilyProbe::~CProtocolFamilyProbe()
+	{
+	}
+
+TInt CProtocolFamilyProbe::Install()
+	{
+	return KErrNone;
+	}
+
+TInt CProtocolFamilyProbe::Remove()
+	{
+	return KErrNone;
+	}
+
+TUint CProtocolFamilyProbe::ProtocolList(TServerProtocolDesc *& aList)
+	{
+	aList = new TServerProtocolDesc[2];
+	if (aList == NULL)
+		return 0;
+	
+	CProtocolProbe::Identify(aList[0], 1);
+	CProtocolProbe::Identify(aList[1], 2);
+	return 2;
+	}
+
+
+CProtocolBase* CProtocolFamilyProbe::NewProtocolL(TUint /*aSockType*/,
+												 TUint aProtocol)
+	{
+	return CProtocolProbe::NewL(aProtocol);
+	}
+
+void Panic(TProbePanic aPanic)
+	{
+    User::Panic(_L("PROBE"), aPanic);
+	}