diff -r acc370d7f2f6 -r a92d00fca574 ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/src/cupprintfactory.cpp --- a/ImagePrint/ImagePrintEngine/DeviceProtocols/upnpprotocolfw2/src/cupprintfactory.cpp Mon Jan 18 20:19:34 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,401 +0,0 @@ -/* -* Copyright (c) 2002-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: Declares CUPPrintFactory class -* -*/ - - - -#include - -#include "cupprintfactory.h" -#include "upconsts.h" -#include "cuplogger.h" - -_LIT( KHtmFileName, "UPnPPrint_%d.xhtml" ); -_LIT(KUPnPSettingsFile, "settings.txt"); - -// (TInt64 == 21 chars)*2 + , + \n --> must fit in 50 -const TInt KSettingsLength = 50; - - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::NewL -// ----------------------------------------------------------------------------- -// -CUPPrintFactory* CUPPrintFactory::NewL( ) -{ - CUPPrintFactory* self = new (ELeave) CUPPrintFactory(); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(); // self - return self; -} - - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::~CUPPrintFactory -// Destructor -// ----------------------------------------------------------------------------- -// -CUPPrintFactory::~CUPPrintFactory( ) -{ - // No can do if deleting fails -> ignore leave - TRAP_IGNORE( DeleteXhtmlFilesL() ); - iFileSession.Close(); - iCapabilities.Close(); -} - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::CreateXhtmlFileL -// ----------------------------------------------------------------------------- -// -void CUPPrintFactory::CreateXhtmlFileL(const RArray& aJobURIs, const TInt aLayout, - const TInt aPaperSize, const TInt aQuality, - TDes& aXhtmlPrintFile, TInt& aPageCount) -{ - if ( aJobURIs.Count() < 1 ) - { - User::Leave( KErrArgument ); - } - - iFileCount++; - - //Create XHTML-print file - aXhtmlPrintFile.Format(KHtmFileName(), iFileCount); - - // parse XHTML-file - CXhtmlFileComposer *fileParser = CXhtmlFileComposer::NewLC(KUPnPXhtmlPath()); - fileParser->CreateXhtmlFileL(aJobURIs, aLayout, aPaperSize, aQuality, aXhtmlPrintFile, aPageCount); - CleanupStack::PopAndDestroy(fileParser); -} - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::DeleteXhtmlFilesL -// ----------------------------------------------------------------------------- -// -void CUPPrintFactory::DeleteXhtmlFilesL( ) -{ - CFileMan* fileMan = CFileMan::NewL( iFileSession ); - CleanupStack::PushL( fileMan ); - fileMan->RmDir( KUPnPXhtmlPath() ); - CleanupStack::PopAndDestroy(fileMan); -} - - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::FileCount -// ----------------------------------------------------------------------------- -// -TInt CUPPrintFactory::FileCount() -{ - return iFileCount; -} - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::GetCapabilityIDs -// ----------------------------------------------------------------------------- -// -void CUPPrintFactory::GetCapabilityIDs(RArray& aCapabilityIDs ) -{ - for (TInt i=0; i < iCapabilities.Count(); i++) - { - aCapabilityIDs.Append(iCapabilities[i].iCapabilityID); - } -} - -// ----------------------------------------------------------------------------- -// CUPPrintFactory::GetCapability -// ----------------------------------------------------------------------------- -// -TInt CUPPrintFactory::GetCapability(const TInt aCapabilityID, TPrintCapability& aCapability) -{ - for (TInt i=0; i < iCapabilities.Count(); i++) - { - if (aCapabilityID == iCapabilities[i].iCapabilityID) - { - // copy capability to ouput param - aCapability.iCapabilityID = aCapabilityID; - aCapability.iDefaultValue = iCapabilities[i].iDefaultValue; - aCapability.iType = iCapabilities[i].iType; - aCapability.iEnumCount = 0; - - - for (TInt j=0; j < iCapabilities[i].iEnumCount; j++) - { - aCapability.iEnumCodes[j] = iCapabilities[i].iEnumCodes[j]; - aCapability.iEnumCount++; - } - - return KErrNone; - } - } - - return KErrNotSupported; -} - -//-------------------------------------------------------------------------------------------- -// CUPPrintFactory::GetPrintSetting -//-------------------------------------------------------------------------------------------- -TInt CUPPrintFactory::GetPrintSetting(TInt aCapabilityID, TInt& aValue) -{ - for (TInt i=0; i= fileSize) - fileSize = 250; - - // Create buffer - HBufC8* fileBuffer = HBufC8::NewL(fileSize); - CleanupStack::PushL(fileBuffer); - - TPtr8 bufferPtr( fileBuffer->Des() ); - bufferPtr.Zero(); - - User::LeaveIfError(file.Read(bufferPtr)); - LOG81("bufferPtr: %S", &bufferPtr); - - TInt stopper = 0; - TInt pos = bufferPtr.Find(KUPnPLineFeed8()); - while (pos > 0 && stopper < 20) - { - ++stopper; - LOG("----------------"); - - TLex8 lex(bufferPtr.Left(pos)); - LOG81("bufferPtr.Left(pos): %S", &(bufferPtr.Left(pos))); - - // get id - if ((lex.Peek()).IsDigit()) - { - TInt id; - TInt err = lex.Val(id); - LOG1("id: %d", id); - - bufferPtr = bufferPtr.Right(bufferPtr.Length() - lex.Offset()-1); - lex.Assign(bufferPtr); - - //get value - if ((lex.Peek()).IsDigit()) - { - switch( id ) - { - case EPrintCapabLayout: - User::LeaveIfError(lex.Val(aLayout)); - LOG1("aLayout: %d", aLayout); - break; - case EPrintCapabPaperSize: - User::LeaveIfError(lex.Val(aSize)); - LOG1("aSize: %d", aLayout); - break; - case EPrintCapabQuality: - User::LeaveIfError(lex.Val(aQuality)); - LOG1("aQuality: %d", aQuality); - break; - default: - break; - } - - bufferPtr = bufferPtr.Right(bufferPtr.Length() - lex.Offset()-1); - lex.Assign(bufferPtr); - } - } - // find next - pos = bufferPtr.Find(KUPnPLineFeed8()); - } - CleanupStack::PopAndDestroy(2); //fileBuffer, file -} - -//-------------------------------------------------------------------------------------------- -// CUPPrintFactory::SetDefaultSettingsL -//-------------------------------------------------------------------------------------------- -void CUPPrintFactory::SetDefaultSettingsL() -{ - LOG("[CUAPrintingJobContainer::SetDefaultSettingsL]\t"); - - // Create buffer - HBufC8* settingsBuf = HBufC8::NewL(KSettingsLength * iCapabilities.Count()); - CleanupStack::PushL(settingsBuf); - - for (TInt i=0; i settingsStr; - settingsStr.AppendNum(iCapabilities[i].iCapabilityID); - settingsStr.Append(KUPnPComma()); - settingsStr.AppendNum(iCapabilities[i].iDefaultValue); - settingsStr.Append(KUPnPLineFeed8()); - - settingsBuf->Des().Append(settingsStr); - } - - RFile file; - User::LeaveIfError(file.Replace(iFileSession, KUPnPSettingsFile, EFileWrite)); - CleanupClosePushL(file); - file.Write(settingsBuf->Des()); - - CleanupStack::PopAndDestroy(2); //file, settingsBuf -} - -// End of file