--- a/imgtools/imglib/filesystem/source/messageimplementation.cpp Wed Jun 16 16:51:40 2010 +0300
+++ b/imgtools/imglib/filesystem/source/messageimplementation.cpp Wed Jun 23 16:56:47 2010 +0800
@@ -1,244 +1,241 @@
-/*
-* 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:
-* This class is used get the message strings and provides operations
-* to log them into log file
-* @internalComponent
-* @released
-*
-*/
-
-
-
-#include "messageimplementation.h"
-#include "errorhandler.h"
-
-using std::endl;
-using std::cout;
-typedef std::string String;
-
-char *errorMssgPrefix="FileSystem : Error:";
-char *warnMssgPrefix="FileSystem : Warning:";
-char *infoMssgPrefix="FileSystem : Information:";
-char *Space=" ";
-
-enum MessageArraySize{MAX=16};
-
-//Messages stored required for the program
-struct EnglishMessage MessageArray[MAX]=
-{
- {FILEOPENERROR,"%s:%d: Could not open file : %s."},
- {FILEREADERROR,"%s:%d: Could not read file : %s."},
- {FILEWRITEERROR,"%s:%d: Could not write input image file."},
- {MEMORYALLOCATIONERROR,"%s:%d: Memory allocation failure."},
- {ENTRYCREATEMSG,"Creating the entry : %s."},
- {BOOTSECTORERROR,"%s:%d: Boot Sector Error: %s."},
- {BOOTSECTORCREATEMSG,"Creating bootsector : %s."},
- {BOOTSECTORWRITEMSG,"Writing bootsector : %s"},
- {FATTABLEWRITEMSG, "Writing FAT table for : %s"},
- {IMAGESIZETOOBIG,"%s:%d: Current image size is greater than the given partition size: %s"},
- {NOENTRIESFOUND,"%s:%d: No entries found under root."},
- {EMPTYFILENAME,"%s:%d: Empty name received."},
- {EMPTYSHORTNAMEERROR,"%s:%d: Empty short name."},
- {CLUSTERERROR,"%s:%d: Cluster Instance error."},
- {ROOTNOTFOUND,"%s:%d: None of the entries received."},
- {UNKNOWNERROR,"%s:%d: Unknown exception occured."}
-};
-
-/**
-Constructor to reset the logging option flag.
-
-@internalComponent
-@released
-*/
-MessageImplementation::MessageImplementation()
-{
- iLogging = false;
-}
-
-/**
-Destructor to close log file if logging is enabled and to clear the messaged.
-
-@internalComponent
-@released
-*/
-MessageImplementation::~MessageImplementation()
-{
- if(iLogging)
- {
- fclose(iLogPtr);
- }
- iMessage.clear();
-}
-
-/**
-Function to Get Message stored in map.
-
-@internalComponent
-@released
-
-@param aMessageIndex - Index of the Message to be displayed
-@return Message string to be displayed
-*/
-char * MessageImplementation::GetMessageString(int aMessageIndex)
-{
- Map::iterator p = iMessage.find(aMessageIndex);
- if(p != iMessage.end())
- {
- return p->second;
- }
- else
- {
- if(aMessageIndex <= MAX)
- {
- return MessageArray[aMessageIndex-1].message;
- }
- else
- {
- return NULL;
- }
- }
-}
-
-/**
-Function to log message in log file if logging is enable.
-
-@internalComponent
-@released
-
-@param aString - Message to be displayed
-*/
-void MessageImplementation::LogOutput(const char *aString)
-{
- if (iLogging)
- {
- fputs(aString,iLogPtr);
- fputs("\n",iLogPtr);
- }
-}
-
-
-/**
-Function to display output and log message in log file if logging is enable.
-
-@internalComponent
-@released
-
-@param aString - Message to be displayed
-*/
-void MessageImplementation::Output(const char *aString)
-{
-
- if (iLogging)
- {
- fputs(aString,iLogPtr);
- fputs("\n",iLogPtr);
- }
- cout << aString << endl;
-}
-
-/**
-Function to Get Message stored in map and to display the Message
-
-@internalComponent
-@released
-
-@param aMessageType - The type of the message, whether it is Error or Warning or Information.
-@param aMsgIndex - The index of the information and the corresponding arguments.
-*/
-void MessageImplementation::ReportMessage(int aMessageType, int aMsgIndex,...)
-{
- String reportMessage;
- char* ptr;
-
- va_list ap;
- va_start(ap,aMsgIndex);
-
- ptr = GetMessageString(aMsgIndex);
-
- if(ptr)
- {
- switch (aMessageType)
- {
- case ERROR:
- reportMessage += errorMssgPrefix;
- break;
- case WARNING:
- reportMessage += warnMssgPrefix;
- break;
- case INFORMATION:
- reportMessage += infoMssgPrefix;
- break;
- default:
- break;
- }
- reportMessage += Space;
- reportMessage.append(ptr);
- int location = reportMessage.find('%',0);
- //Erase the string from % to the end, because it is no where required.
- reportMessage.erase(location);
- reportMessage += va_arg(ap, char *);
-
- LogOutput(reportMessage.c_str());
- }
-}
-
-/**
-Function to start logging.
-
-@internalComponent
-@released
-
-@param aFileName - Name of the Log file
-*/
-void MessageImplementation::StartLogging(char *aFileName)
-{
- char logFile[1024];
- FILE *fptr;
-
- strcpy(logFile,aFileName);
-
- // open file for log etc.
- if((fptr=fopen(logFile,"a"))==NULL)
- {
- ReportMessage(WARNING, FILEOPENERROR,aFileName);
- }
- else
- {
- iLogging = true;
- iLogPtr=fptr;
- }
-}
-
-/**
-Function to put Message string in map which is stored in message file.
-If file is not available the put message in map from Message Array structure.
-
-@internalComponent
-@released
-
-@param aFileName - Name of the Message file passed in
-*/
-void MessageImplementation::InitializeMessages()
-{
- char *errStr;
- int i;
-
- for(i=0;i<MAX;i++)
- {
- errStr = new char[strlen(MessageArray[i].message) + 1];
- strcpy(errStr, MessageArray[i].message);
- iMessage.insert(std::pair<int,char*>(MessageArray[i].index,errStr));
- }
-}
+/*
+* 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:
+* This class is used get the message strings and provides operations
+* to log them into log file
+* @internalComponent
+* @released
+*
+*/
+
+
+
+#include "messageimplementation.h"
+#include "errorhandler.h"
+
+
+char *errorMssgPrefix="FileSystem : Error:";
+char *warnMssgPrefix="FileSystem : Warning:";
+char *infoMssgPrefix="FileSystem : Information:";
+char *Space=" ";
+
+enum MessageArraySize{MAX=16};
+
+//Messages stored required for the program
+struct EnglishMessage MessageArray[MAX]=
+{
+ {FILEOPENERROR,"%s:%d: Could not open file : %s."},
+ {FILEREADERROR,"%s:%d: Could not read file : %s."},
+ {FILEWRITEERROR,"%s:%d: Could not write input image file."},
+ {MEMORYALLOCATIONERROR,"%s:%d: Memory allocation failure."},
+ {ENTRYCREATEMSG,"Creating the entry : %s."},
+ {BOOTSECTORERROR,"%s:%d: Boot Sector Error: %s."},
+ {BOOTSECTORCREATEMSG,"Creating bootsector : %s."},
+ {BOOTSECTORWRITEMSG,"Writing bootsector : %s"},
+ {FATTABLEWRITEMSG, "Writing FAT table for : %s"},
+ {IMAGESIZETOOBIG,"%s:%d: Current image size is greater than the given partition size: %s"},
+ {NOENTRIESFOUND,"%s:%d: No entries found under root."},
+ {EMPTYFILENAME,"%s:%d: Empty name received."},
+ {EMPTYSHORTNAMEERROR,"%s:%d: Empty short name."},
+ {CLUSTERERROR,"%s:%d: Cluster Instance error."},
+ {ROOTNOTFOUND,"%s:%d: None of the entries received."},
+ {UNKNOWNERROR,"%s:%d: Unknown exception occured."}
+};
+
+/**
+Constructor to reset the logging option flag.
+
+@internalComponent
+@released
+*/
+MessageImplementation::MessageImplementation()
+{
+ iLogging = false;
+}
+
+/**
+Destructor to close log file if logging is enabled and to clear the messaged.
+
+@internalComponent
+@released
+*/
+MessageImplementation::~MessageImplementation()
+{
+ if(iLogging)
+ {
+ fclose(iLogPtr);
+ }
+ iMessage.clear();
+}
+
+/**
+Function to Get Message stored in map.
+
+@internalComponent
+@released
+
+@param aMessageIndex - Index of the Message to be displayed
+@return Message string to be displayed
+*/
+char * MessageImplementation::GetMessageString(int aMessageIndex)
+{
+ Map::iterator p = iMessage.find(aMessageIndex);
+ if(p != iMessage.end())
+ {
+ return p->second;
+ }
+ else
+ {
+ if(aMessageIndex <= MAX)
+ {
+ return MessageArray[aMessageIndex-1].message;
+ }
+ else
+ {
+ return NULL;
+ }
+ }
+}
+
+/**
+Function to log message in log file if logging is enable.
+
+@internalComponent
+@released
+
+@param aString - Message to be displayed
+*/
+void MessageImplementation::LogOutput(const char *aString)
+{
+ if (iLogging)
+ {
+ fputs(aString,iLogPtr);
+ fputs("\n",iLogPtr);
+ }
+}
+
+
+/**
+Function to display output and log message in log file if logging is enable.
+
+@internalComponent
+@released
+
+@param aString - Message to be displayed
+*/
+void MessageImplementation::Output(const char *aString)
+{
+
+ if (iLogging)
+ {
+ fputs(aString,iLogPtr);
+ fputs("\n",iLogPtr);
+ }
+ cout << aString << endl;
+}
+
+/**
+Function to Get Message stored in map and to display the Message
+
+@internalComponent
+@released
+
+@param aMessageType - The type of the message, whether it is Error or Warning or Information.
+@param aMsgIndex - The index of the information and the corresponding arguments.
+*/
+void MessageImplementation::ReportMessage(int aMessageType, int aMsgIndex,...)
+{
+ string reportMessage;
+ char* ptr;
+
+ va_list ap;
+ va_start(ap,aMsgIndex);
+
+ ptr = GetMessageString(aMsgIndex);
+
+ if(ptr)
+ {
+ switch (aMessageType)
+ {
+ case ERROR:
+ reportMessage += errorMssgPrefix;
+ break;
+ case WARNING:
+ reportMessage += warnMssgPrefix;
+ break;
+ case INFORMATION:
+ reportMessage += infoMssgPrefix;
+ break;
+ default:
+ break;
+ }
+ reportMessage += Space;
+ reportMessage.append(ptr);
+ int location = reportMessage.find('%',0);
+ //Erase the string from % to the end, because it is no where required.
+ reportMessage.erase(location);
+ reportMessage += va_arg(ap, char *);
+
+ LogOutput(reportMessage.c_str());
+ }
+}
+
+/**
+Function to start logging.
+
+@internalComponent
+@released
+
+@param aFileName - Name of the Log file
+*/
+void MessageImplementation::StartLogging(char *aFileName)
+{
+ char logFile[1024];
+ FILE *fptr;
+
+ strcpy(logFile,aFileName);
+
+ // open file for log etc.
+ if((fptr=fopen(logFile,"a"))==NULL)
+ {
+ ReportMessage(WARNING, FILEOPENERROR,aFileName);
+ }
+ else
+ {
+ iLogging = true;
+ iLogPtr=fptr;
+ }
+}
+
+/**
+Function to put Message string in map which is stored in message file.
+If file is not available the put message in map from Message Array structure.
+
+@internalComponent
+@released
+
+@param aFileName - Name of the Message file passed in
+*/
+void MessageImplementation::InitializeMessages()
+{
+ char *errStr;
+ int i;
+
+ for(i=0;i<MAX;i++)
+ {
+ errStr = new char[strlen(MessageArray[i].message) + 1];
+ strcpy(errStr, MessageArray[i].message);
+ iMessage.insert(pair<int,char*>(MessageArray[i].index,errStr));
+ }
+}