--- /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;
+ }
+