bluetooth/btcomm/src/writer.cpp
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetooth/btcomm/src/writer.cpp	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,85 @@
+// Copyright (c) 1997-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:
+// writer.cpp - all the active reader code
+// 
+//
+
+#include <cs_port.h>
+#include "btcomm.h"
+#include "btcommactive.h"
+
+
+CBTPortWriter *CBTPortWriter::NewL(CBTPortProxy *aParent)
+/**
+	Create new CBTPortWriter.
+	This function creates a new CBTPortWriter active object.
+**/
+	{
+	CBTPortWriter *cc;
+	cc=new (ELeave) CBTPortWriter();
+	CleanupStack::PushL(cc);
+	cc->InitL(aParent);
+	CleanupStack::Pop();
+	CActiveScheduler::Add(cc);
+	return cc;
+	}
+
+void CBTPortWriter::InitL(CBTPortProxy *aParent)
+	{
+	iPortProxy=aParent;
+	}
+
+CBTPortWriter::~CBTPortWriter()
+/**
+	CBTPortWriter destructor.	
+**/
+	{
+	Cancel();
+	}
+
+void CBTPortWriter::RunL()
+/**
+	CBTPortWriter RunL.
+	Active status cleared.  We can now call the DoWriteCompleted 
+	function on the corresponding port proxy object.
+**/
+	{
+    iPortProxy->DoWriteCompleted(iStatus.Int());
+	}
+
+void CBTPortWriter::QueueWrite(const TDesC8& aData)
+/**
+	CBTPortWriter QueueWrite.
+**/
+	{
+	iPortProxy->iSocket.Write(aData,iStatus);
+	SetActive();
+	}
+
+void CBTPortWriter::DoCancel()
+/**
+	CBTPortWriter DoCancel.
+	Nothing to cancel.
+**/
+	{
+	iPortProxy->iSocket.CancelWrite();
+	}
+
+CBTPortWriter::CBTPortWriter() 
+	: CActive (EPriorityStandard)
+/**
+	CBTPortWriter private c'tor.
+**/
+	{
+	}