diff -r 000000000000 -r ba25891c3a9e secureswitools/swisistools/source/sisxlibrary/sislogo.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/secureswitools/swisistools/source/sisxlibrary/sislogo.cpp Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,85 @@ +/* +* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "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: +* +*/ + + +/** + @file + @internalComponent + @released +*/ + +#include "sislogo.h" +#include "exception.h" + +void CSISLogo::Set (const std::wstring& aMime, const std::wstring& aTarget, const TUint32 aFileIndex, const CSISDataUnit& aDataUnit) + +{ + assert (! aMime.empty ()); // if empty mime type is valid, rewrite WasteOfSpace below. + iLogoFile.SetFileIndex(aFileIndex); + iLogoFile.SetMimeType (aMime); + if (aTarget.empty ()) + { + iLogoFile.SetOperation (CSISFileDescription::EOpRun); + iLogoFile.SetOptions (CSISFileDescription::EInstFileRunOptionByMimeType); + } + else + { + iLogoFile.SetOperation (CSISFileDescription::EOpRun + CSISFileDescription::EOpInstall); + iLogoFile.SetOptions ( CSISFileDescription::EInstFileRunOptionByMimeType + + CSISFileDescription::EInstFileRunOptionInstall); + iLogoFile.SetTarget (aTarget); + } +} + + + +std::string CSISLogo::Name () const + { + return "Logo"; + } + + +bool CSISLogo::WasteOfSpace () const + { + return ! (Required () || iLogoFile.HasMimeType ()); + } + +void CSISLogo::AddPackageEntry(std::wostream& aStream, bool aVerbose) const + { + if(WasteOfSpace()) + { + return; + } + if (aVerbose) + { + aStream << L"; Logo" << std::endl; + } + aStream << L"="; + const wchar_t* dataFileNameW = iLogoFile.GetFileName(); + aStream <(dataFileNameW); + aStream << L", " ; + aStream << L"\""; + iLogoFile.MimeType().AddPackageEntry(aStream, aVerbose); + aStream << L"\""; + aStream << L", " ; + aStream << L"\""; + iLogoFile.Target().AddPackageEntry(aStream, aVerbose); + aStream << L"\""; + aStream << std::endl << std::endl; + } +