secureswitools/swisistools/source/sisxlibrary/sislogo.cpp
changeset 0 ba25891c3a9e
child 26 04d4a7bbc3e0
--- /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 <<L"\"" << dataFileNameW << L"\"";
+	delete[] const_cast<wchar_t*>(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;
+	}
+