servicediscoveryandcontrol/pnp/test/testplugin/src/ctestcontrolchannel.cpp
changeset 0 f5a58ecadc66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/servicediscoveryandcontrol/pnp/test/testplugin/src/ctestcontrolchannel.cpp	Tue Feb 02 01:12:20 2010 +0200
@@ -0,0 +1,124 @@
+// 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 "ctestcontrolchannel.h"
+#include <e32debug.h>
+
+
+CTestControlChannel* CTestControlChannel::NewL()
+	{
+	CTestControlChannel* self = new (ELeave) CTestControlChannel ();
+	CleanupStack::PushL ( self );
+	self->ConstructL ( );
+	CleanupStack::Pop (); // self
+	return self;
+	}
+
+CTestControlChannel::~CTestControlChannel ()
+	{
+	
+	}
+
+void CTestControlChannel::Recv ( TControlMessage& /*aMessage*/, TRequestStatus& /*aStatus*/ )
+	{
+	rControlAO = CPnPRControlChannelAO::NewL(*this);
+	rControlAO->Recvdata();			
+	}
+
+void CTestControlChannel::Send ( TControlMessage& /*aMessage*/, TRequestStatus& /*aStatus*/ )
+	{
+	rControlAO = CPnPRControlChannelAO::NewL(*this);
+	rControlAO-> Senddata();
+	}
+
+
+void CTestControlChannel::CancelRecv ()
+	{
+	
+	}
+
+void CTestControlChannel::CancelSend ()
+	{
+	
+	}
+
+
+CTestControlChannel::CTestControlChannel ( )
+	{
+	 //Nothing	
+	}
+
+void CTestControlChannel::ConstructL ()
+	{	
+	 //Nothing
+	}
+
+void CTestControlChannel::TimeOut(CPnPRControlChannelAO& aControlChannelAO)
+	{
+	CPnPRControlChannelAO* controlChannelAO = &aControlChannelAO;
+	delete controlChannelAO;	
+	}
+
+CPnPRControlChannelAO* CPnPRControlChannelAO::NewL(MControlChannelAOObsever& aObserver)
+{
+    CPnPRControlChannelAO* self = new (ELeave) CPnPRControlChannelAO (aObserver);
+	CleanupStack::PushL ( self );
+	self->ConstructL ( );
+	CleanupStack::Pop (); 
+	return self;
+}
+
+CPnPRControlChannelAO::CPnPRControlChannelAO(MControlChannelAOObsever& aObserver)
+:CActive(EPriorityStandard), iObserver(aObserver)
+    {
+	CActiveScheduler::Add(this);	
+    }  
+
+void CPnPRControlChannelAO::ConstructL()
+	{
+	 iTimer.CreateLocal();	
+	}
+
+void CPnPRControlChannelAO::Recvdata()
+    {
+    After(500000);
+	}
+
+void CPnPRControlChannelAO::Senddata()
+    {
+    After(500000);	
+    }
+CPnPRControlChannelAO::~CPnPRControlChannelAO()
+    {
+     Cancel();
+     iTimer.Close();
+    }
+
+void CPnPRControlChannelAO::After(TTimeIntervalMicroSeconds32 anInterval)
+  {
+	iTimer.After(iStatus,anInterval);
+	SetActive();			
+  }	
+
+void CPnPRControlChannelAO::DoCancel()
+	{
+	 iTimer.Cancel();
+	}
+
+void CPnPRControlChannelAO::RunL()
+    {
+	iObserver.TimeOut(*this);	
+    }
+