--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ImagePrint/ImagePrintEngine/DeviceProtocols/dpof/inc/crsdpofengine.h Wed Sep 01 12:30:38 2010 +0100
@@ -0,0 +1,136 @@
+/*
+* 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: Contains the CRsDpofEngine & TRsPhoneImage class definitions and
+* the MDpofEngineObserver interface definition.
+*
+*/
+
+
+#ifndef CRSDPOFENGINE_H
+#define CRSDPOFENGINE_H
+
+#include <e32base.h>
+#include <f32file.h>
+
+class CFileManager;
+
+/// Possible DPOF status.
+enum TRsDpofPrintStatus
+ {
+ ECopyImageFiles,
+ EDeleteDirectory,
+ EDPOFGenerate,
+ EJobCompleted,
+ EJobCancelled,
+ EJobError
+ };
+
+class MDpofEngineObserver
+ {
+ public:
+ virtual void HandleDpofEngineEventL(const TInt aStatus, const TInt aRetCode)=0;
+ };
+
+class TRsPhoneImage
+ {
+ public:
+ TInt iIndex;
+ TBool iCopied;
+ };
+
+
+/**
+ * \brief Brief Description
+ *
+ * Detailed Description
+ */
+class CRsDpofEngine : public CActive
+ {
+ public:
+
+ enum TRsDpofImageLayout
+ {
+ EOnePerPageSmall = 0,
+ EOnePerPageMedium,
+ EOnePerPageLarge,
+ EOnePerPage4x6,
+ ETwoPerPage,
+ EFourPerPage,
+ ESixPerPage,
+ ENinePerPage,
+ ETwelvePerPage,
+ ESixteenPerPage
+ };
+
+
+ static CRsDpofEngine* NewL(MDpofEngineObserver& aObs);
+ ~CRsDpofEngine();
+
+ void SetImageFileNamesL(const RPointerArray<HBufC>& aImageList);
+ void SetImageLayout(TRsDpofImageLayout aImageLayout);
+ TInt PrintL();
+ TInt GetPrintPercentage();
+ void Stop();
+ void StartDiscovery(TRequestStatus& aStatus);
+ TBool WasCancelled() const;
+ TBool HasMmc() const;
+ TBool AutoPrintFileExists();
+ void SetMMCPathL();
+
+ void SetNumsOfCopiesL( const RArray<TInt>& aNumsOfCopies );
+
+ protected: /// From CActive
+
+ void DoCancel();
+ void RunL();
+
+ private:
+
+ void ConstructL();
+ CRsDpofEngine(MDpofEngineObserver& aObs);
+ TInt WriteSpecificSizeFileL();
+ TInt WriteMultipleFileL();
+ TInt PrepareFilenamesL();
+ void CreateDpofFileL();
+ TInt CleanupTempImages();
+ TInt CopyPhoneImagesToMMC();
+ TRsPhoneImage* GetNextImageInfoForCopy();
+ static TInt CreateDpofFileCbL(TAny *aObj);
+ void DoCreateDpofFileL();
+
+ private:
+
+ HBufC* iMmcDrive;
+ TBool iHasMmc;
+ RPointerArray<HBufC> iFileNames;
+ TInt iImageLayout;
+ HBufC* iAutoPrintFile;
+ HBufC* iTempFolder;
+ MDpofEngineObserver& iObs;
+ TRsDpofPrintStatus iStep;
+ RFs iFs;
+ RArray<TRsPhoneImage> iPhoneImageArray;
+ TRsPhoneImage* iCurrentPhoneImage;
+ CFileManager* iFileManager;
+ TFileName iTempFile;
+ TBool iShouldCancel;
+ CPeriodic* iDpofPeriodic;
+ TInt iPhoneImgsSize;
+
+ RArray<TInt> iNumsOfCopies;
+ };
+
+#endif // CRSDPOFENGINE_H
+
+// End of File