secureswitools/swianalysistoolkit/source/dumpswicertstoretool/dumpswicertstoretool.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/secureswitools/swianalysistoolkit/source/dumpswicertstoretool/dumpswicertstoretool.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2005-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
+*/
+
+#ifndef __DUMPSWICERTSTORETOOL_H__
+#define __DUMPSWICERTSTORETOOL_H__
+#pragma warning(disable: 4710)
+#pragma warning(disable: 4786)
+
+#include "options.h"
+#include "pfsdump.h"
+#include "streamreader.h"
+#include "swicertstoremetadata.h"
+#include "osinterface.h"
+
+class Options;
+class Stream;
+class StoreFile;
+class StreamReader;
+class Certificate;
+class SwiCertStoreMetaData;
+
+/**
+ * The DumpSWICertstoreTool class checks the certstore type(ROM Based,RAM Based or both) and provides
+ * functions which checks whether the dat file is valid or not and accordingly gets the infostream
+ * where the swicertstore metadata is available.
+ * @internalComponent
+ */
+class DumpSWICertstoreTool
+{
+public:
+
+ DumpSWICertstoreTool();
+
+ ~DumpSWICertstoreTool();
+
+ /**
+ Based on the input provided(ROM Based,C:\Based or both) , accordingly calls functions which
+ checks for the input file validity(is a permanent file store or not) ,fetches the infostream id
+ containing the certificates and their capabilities information(metadata) and reads the infostream.
+ */
+ void Run(const Options& aOptions);
+
+ int TocRevision() const { return iTocRevision; }
+
+ static ostream& Error();
+
+ static ostream& Warning();
+
+private:
+
+ /**
+ Fetches the infostream id from the rootstream and accordingly calls functions which
+ extracts information from the infostream.
+ */
+ void Initialize(const Options& aOptions , StoreFile& aStore);
+
+ /**
+ Parses each file(from highest numbered file to lowest) present in the C:\Based Directory and
+ checks for its validity(is a permanent file store or not).The highest numbered valid file
+ is then considered for extracting the certificate and capabilities information.
+ */
+ bool InitializeCBasedCertstore(const Options& aOptions);
+
+ /**
+ Checks the validity(is a permanent file store or not) of swicertstore.dat(ROM Based) file and accordingly
+ calls the Initialize() function to extract the infostream.
+ */
+ bool InitializeROMCerstore(const Options& aOptions);
+
+
+private:
+
+ int iTocRevision ;
+ int iErrors ;
+ string iIssuer ;
+ string iMandatory ;
+};
+
+extern DumpSWICertstoreTool Tool;
+#endif