diff -r 26673e532f65 -r 159fc2f68139 ImagePrint/ImagePrintEngine/DeviceProtocols/btprotocol/inc/cbtprintingdevice.h --- a/ImagePrint/ImagePrintEngine/DeviceProtocols/btprotocol/inc/cbtprintingdevice.h Tue May 25 12:42:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,248 +0,0 @@ -/* -* Copyright (c) 2004-2007 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: -* -*/ - - -#ifndef CBTPRINTINGDEVICE_H -#define CBTPRINTINGDEVICE_H - -#include "mprotprintingdevice.h" -#include "mbtpcobserver.h" -#include "imageprint.h" -#include "btprotocolconsts.h" -#include "crsbtdiscoverengine.h" -#include "crsbtdevice.h" -#include "cbtprintercontroller.h" -#include "cprintjob.h" - -static const TUid KBtProtocolUid = { 0x01007779 }; - -/** - * @brief CBtPrintingDevice implements MProtPrintingDevice. This makes the class the "published" class of the DLL it is in. - */ -class CBtPrintingDevice : public CActive, public MProtPrintingDevice, public MBtPCObserver - { - public: - - static MProtPrintingDevice* NewL(); - - // Default constructor and destructor. - CBtPrintingDevice(); - ~CBtPrintingDevice(); - - public: // From MProtPrintingDevice - - // General. - void ConstructL(const TDesC& aDLLPath); - TVersion Version(); - TUint SupportedProtocols(); - // Discovery. - void StartDiscoveryL(MProtDiscoveryObserver& aObserver, TUint aProtocols = 0); - TInt RemoveCachedDeviceL(TInt aDeviceID); - void CancelDiscovery(TBool aDoCallBack = ETrue); - // Print. - TInt CreatePrintJobL(TInt aDeviceID, RPointerArray& aImages, MProtPrintEventObserver& aObserver); - - /** - * @brief Submit a job previously created with CreatePrintJobL() - */ - void SubmitPrintJobL(); - - /** - * @brief Cancels and ongoing print job. - * - * @return KErrNone if successful, KErrInvalidSequence if no printing job was previously submitted. - */ - TInt CancelPrintJob(); - TInt ContinuePrintJobL(); - TInt GetNumPrintPages(); - TInt GetPrintJobStatus(); - TInt GetPrinterStatus(TInt aDeviceID); - // Capabilities. - TInt GetDeviceCapabilityIDsL(TInt aDeviceID, RArray& aCapabilityIDs); - TInt GetDeviceCapabilityL(TInt aDeviceID, TInt aCapabilityID, TPrintCapability& aCapability); - TInt GetJobSetting(TInt aCapabilityID, TInt& aValue); - - /** - * @brief Sets the value of a single capability. - * - * Sets the value of a single capability. The value is passed as a TInt. - * For Float capabilities it is the numerator. - * - * Changes in certain capability values can affect other capabilities, - * such as a change in paper size changes the available templates. - * When this occurs, the affected capabilities are returned in the - * aAffectedCapability field. If there are any, the client should get - * these capabilities again. - * - * @param[in] aCapabilityID Id of the capability to be setted. - * @param[in] aValue Value to set the capability to. - * @param[out] aAffectedCapability 0=None, else CapabilityID - * - * @return KErrNone if successful, KErrInvalidSequence if job is not active, - * KErrInvalidData if setting request is invalid (either capability ID or value). - * Otherwise another of the system-wide error codes. - */ - TInt SetJobSettingL(TInt aCapabilityID, TInt aValue, TInt& aAffectedCapability); - - // Preview. - TInt GetNumPreviewPages(); - - /** - * @brief Creates a CFbsBitmap object and fills it with the preview bitmap. - * - * @param[in] aTemplateID Layout Capability ID of the icon desired. - * @param[out] aFsBitmapHandle - * - * @return KErrNone, or another of the system-wide error codes. - */ - TInt GetJobTemplateIconL(TInt aTemplateID, TInt& aFsBitmapHandle); - - /** - * Creates a preview image in a CFbsBitmap object. PreviewImageEvent() is called on the PrintEventObserver. - * - * @param aPageNumber Currently unused - * - * @return KErrNone if successful, KErrInvalidData if the Preview Image could not be loaded, or another of the system-wide error codes. - */ - TInt CreatePreviewImage(TInt aPageNumber); - - void RegisterIdleObserver(MProtIdleObserver * /*aObserver*/) {}; - - void SetNumsOfCopiesL( const RArray& aNumsOfCopies, TInt& aErr ); - - void CreateJobResponse( TInt aJobId, TInt aErrorCode ); - - void CancelJobResponse(TInt aErrorCode ); - - void GetPrinterStateResponse(TInt aState, - TInt aStateReasons, - TInt aOperationStatus, TInt aDeviceId); - - void GetEventResponse(TInt aJobId, - TInt aJobState, - TInt aPrinterState, - TInt aStateReasons, - TInt aOperationStatus); - - void GetJobAttributesResponse( TInt aJobState, - const TDesC8& aJobName, - const TDesC8& aOriginator, - TInt aSheetsCompleted, - TInt aPendingJobs, - TInt aErrorCode ); - - void DeviceDiscovered( CRsBtDevice& aDevice ); - void DeviceDisappeared( CRsBtDevice& aDevice ); - void DiscoveryError(TInt aError); - - /* - * Updates OPP printing progress bar. - * */ - void OPPSendProgress( TInt aProgress ); - - public: //own - static TBool HandleTimeout(TAny *aWho); - - private: - - virtual void RunL(); - virtual void DoCancel(); - virtual TInt RunError(TInt aError); - - void GetUsedDevicesL(); - - void InitJobL(CRsBtDevice *aPrinter, RPointerArray& aImages); - - TBool InformObserver(TInt aUsedProtocol); - - void GetCapabilities(CRsBtDevice& aPrinter, TBool aForcedGet = EFalse); - void GetDefaultCapabilities(RArray& aCapabilities); - - void FoundDeviceL(CRsBtDevice& aDevice); - void UpdateCacheList(); - - TBool DoHandleTimeout(); - - void ResetTimer(); - void StartTimer(TTimeIntervalMicroSeconds32 aDelay, - TTimeIntervalMicroSeconds32 anInterval, - TCallBack aCallBack); - - CRsBtDevice* FindDevice(TInt aPrinterID); - - TInt AddBtDeviceL(CRsBtDevice& aDevice); - - void FinishPrinting(TInt aErrorCode); - - void ManagePrintingState(TInt aJobId, TInt aJobState, TInt aPrinterState, - TInt aStateReasons, TInt aOperationStatus); - - void GetJobAttributesL(); - void GetPrinterStateL(); - void CancelJobL(); - void Deactivate(); - // updates the printing proggress if increased and resets the pending counter if so. - TInt UpdateProggress(); - void GetLocalBTNameL(TDes8& aName); - void OPPJobRollBack(); - - private: - - enum TDeviceState - { - ENone, - EReady, - EGetPrinterState, - EGetJobAttributes, - EFinish, - EDiscovering, - EJobProgress, - ECancelJob - }; - - /// State operating. - TDeviceState iState; - - /// Print job object. - CPrintJob* iPrintingJob; - - CBtPrinterController* iPrinterController; - CBtDeviceContainer* iDeviceContainer; - - /// Requested Protocols for Discovery - TUint iRequestedProtocols; - - /// Print error. - TInt iPrintError; - /// Print error message code. - TInt iPrintErrorMsgCode; - - TUint iPendingCount; - - CPeriodic* iPrinterTimer; - - TInt iProggress; - - // used BlueTooth profile - TUint iUsedBtProfile; - - - }; - -#endif // CBTPRINTINGDEVICE_H - -// End of File