williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #ifndef PDRPORT_H williamr@2: #define PDRPORT_H williamr@2: williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: #include williamr@2: williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: class CFilePrinterPort : public CPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CFilePrinterPort* NewL(const TDesC& aFileName); williamr@2: IMPORT_C ~CFilePrinterPort(); williamr@2: void WriteRequest(const TDesC8& aBuf,TRequestStatus& aRequestStatus); williamr@2: void Cancel(); williamr@2: inline const TDesC& FileName() { return iFileName; } williamr@2: private: williamr@2: void ConstructL(); williamr@2: CFilePrinterPort(const TDesC& aFileName); williamr@2: private: williamr@2: RFs iFs; williamr@2: TFileName iFileName; williamr@2: RFile iFile; williamr@2: TBool iCancelled; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class TOutputHandshake williamr@2: { williamr@2: public: williamr@2: IMPORT_C TOutputHandshake(); williamr@2: IMPORT_C void InternalizeL(RReadStream& aStream); williamr@2: IMPORT_C void ExternalizeL(RWriteStream& aStream) const; williamr@2: public: williamr@2: TBool iXonXoff; williamr@2: TBool iCts; williamr@2: TBool iDsr; williamr@2: TBool iDcd; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class TSerialPrinterPortConfig williamr@2: { williamr@2: public: williamr@2: IMPORT_C TSerialPrinterPortConfig(); williamr@2: IMPORT_C void InternalizeL(RReadStream& aStream); williamr@2: IMPORT_C void ExternalizeL(RWriteStream& aStream) const; williamr@2: public: williamr@2: TBps iRate; williamr@2: TDataBits iDataBits; williamr@2: TStopBits iStopBits; williamr@2: TParity iParity; williamr@2: TBool iIgnoreParity; williamr@2: TOutputHandshake iHandshake; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class CCommPrinterPort : public CPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CCommPrinterPort* NewL(const TDesC& aCsyName, const TDesC& aPortName, const TSerialPrinterPortConfig& aConfig, const TFifo aFifo = EFifoEnable); williamr@2: IMPORT_C ~CCommPrinterPort(); williamr@2: IMPORT_C void WriteRequest(const TDesC8& aBuf, TRequestStatus& aRequestStatus); williamr@2: IMPORT_C void Cancel(); williamr@2: protected: williamr@2: IMPORT_C void ConstructL(const TDesC& aCsyName, const TDesC& aPortName, const TSerialPrinterPortConfig& aConfig, const TFifo aFifo = EFifoEnable); williamr@2: IMPORT_C CCommPrinterPort(); williamr@2: protected: williamr@2: RCommServ iCommServ; williamr@2: RComm iComm; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class CSerialPrinterPort : public CCommPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CSerialPrinterPort* NewL(const TDesC& aPortName, const TSerialPrinterPortConfig& aConfig); williamr@2: IMPORT_C ~CSerialPrinterPort(); williamr@2: IMPORT_C TSerialPrinterPortConfig Config(); // returns the current port config williamr@2: private: williamr@2: void ConstructL(const TDesC& aPortName); williamr@2: CSerialPrinterPort(const TSerialPrinterPortConfig& aConfig); williamr@2: private: williamr@2: TSerialPrinterPortConfig iConfig; williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class CParallelPrinterPort : public CCommPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CParallelPrinterPort* NewL(const TDesC& aPortName); williamr@2: IMPORT_C ~CParallelPrinterPort(); williamr@2: private: williamr@2: void ConstructL(const TDesC& aPortName); williamr@2: CParallelPrinterPort(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class CIrdaPrinterPort : public CCommPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CIrdaPrinterPort* NewL(); williamr@2: IMPORT_C ~CIrdaPrinterPort(); williamr@2: private: williamr@2: void ConstructL(); williamr@2: CIrdaPrinterPort(); williamr@2: }; williamr@2: williamr@2: /** williamr@2: * @internalTechnology williamr@2: * Internal to Symbian williamr@2: */ williamr@2: class CEpocConnectPort : public CCommPrinterPort williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CEpocConnectPort* NewL(); williamr@2: IMPORT_C ~CEpocConnectPort(); williamr@2: private: williamr@2: void ConstructL(); williamr@2: CEpocConnectPort(); williamr@2: }; williamr@2: williamr@2: #endif