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