secureswitools/swisistools/source/interpretsislib/installablefile.h
changeset 0 ba25891c3a9e
child 73 79647526f98c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swisistools/source/interpretsislib/installablefile.h	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2006-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 INSTALLABLEFILE.H
+ @internalComponent
+ @released
+*/
+#ifndef	INSTALLABLE_FILE_H
+#define	INSTALLABLE_FILE_H
+
+#include <vector> 
+#include <string>
+
+#include "symbiantypes.h"
+
+
+class CSISFileData;
+class CSISFileDescription;
+
+
+struct InstallableFile
+{
+
+public:
+	// constructor for non stub files
+	InstallableFile(const CSISFileDescription&, const CSISFileData*, const std::wstring aDrivePath, int aInstallingDrive);
+	
+	// constructor for stub files
+	InstallableFile(const CSISFileDescription&, const std::wstring aDrivePath, int aInstallingDrive);
+	~InstallableFile();
+
+public:
+	bool IsExecutable() const { return isExecutable;};
+	bool IsExe() const { return isExe;};
+	TUint32 Sid() const{ return iSid;};
+	bool IsStub() const{ return isStub;};
+	const CSISFileDescription* FileDescription() const{ return iFileDescription;};
+	const CSISFileData* FileData() const{ return iFileData;};
+	const std::wstring& GetTarget() const { return iTargetFile; };
+	const std::wstring& GetLocalTarget() const { return iLocalTargetFile; };
+
+private:
+	void ChangeTargetDrive(const std::wstring aDrivePath, int aInstallingDrive);
+
+private:
+	bool isExecutable;
+	bool isExe;
+	TUint32 iSid;
+	bool isStub;
+	const CSISFileDescription* iFileDescription;	
+	// this  can be NULL in case of stub
+	const CSISFileData* iFileData;
+	// Full file name to the device location
+	std::wstring iTargetFile;
+	// Full file name to the PC location
+	std::wstring iLocalTargetFile;
+};
+
+typedef std::vector< InstallableFile* > InstallableFiles;
+
+void GetSidsFromInstallable(const InstallableFiles& aFiles, 
+							std::vector<TUint32>& aSids);
+
+void FreeInstallableFiles(InstallableFiles& aFiles);
+#endif	/* INSTALLABLE_FILE_H */