--- /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.
+**/
+ {
+ }