tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/engine/TraceCompilerEngineErrorCodes.java
branchRCL_3
changeset 20 ca8a1b6995f6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tracefw/tracecompiler/src/com.nokia.tracecompiler/src/com/nokia/tracecompiler/engine/TraceCompilerEngineErrorCodes.java	Tue Aug 31 16:45:49 2010 +0300
@@ -0,0 +1,489 @@
+/*
+ * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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:
+ *
+ * Error codes for TraceCompiler
+ *
+ */
+package com.nokia.tracecompiler.engine;
+
+import com.nokia.tracecompiler.model.TraceCompilerErrorParameters;
+import com.nokia.tracecompiler.model.TraceCompilerException.TraceCompilerExceptionCode;
+
+/**
+ * Error codes for TraceCompiler
+ * 
+ */
+public interface TraceCompilerEngineErrorCodes {
+
+	/**
+	 * Error parameters for a file-related errors
+	 */
+	public class FileErrorParameters extends TraceCompilerErrorParameters {
+
+		/**
+		 * Path to the file
+		 */
+		public String file;
+
+	}
+
+	/**
+	 * Error parameters for errors related to names, titles etc.
+	 */
+	public class StringErrorParameters extends TraceCompilerErrorParameters {
+
+		/**
+		 * String
+		 */
+		public String string;
+
+	}
+
+	/**
+	 * Error parameters for integer values that must be between two values
+	 */
+	public class RangeErrorParameters extends TraceCompilerErrorParameters {
+
+		/**
+		 * Start of range
+		 */
+		public int start;
+
+		/**
+		 * End of range
+		 */
+		public int end;
+
+		/**
+		 * Hex / decimal flag
+		 */
+		public boolean isHex;
+
+	}
+
+	/**
+	 * Error codes for TraceCompiler
+	 */
+	public enum TraceCompilerErrorCode implements TraceCompilerExceptionCode {
+
+		/**
+		 * Success
+		 */
+		OK,
+
+		/**
+		 * Trace ID was duplicate
+		 */
+		DUPLICATE_TRACE_ID,
+
+		/**
+		 * Group ID was duplicate
+		 */
+		DUPLICATE_GROUP_ID,
+
+		/**
+		 * Trace name was duplicate
+		 */
+		DUPLICATE_TRACE_NAME,
+
+		/**
+		 * Trace name was duplicate
+		 */
+		DUPLICATE_GROUP_NAME,
+
+		/**
+		 * Trace ID was not valid. Parameters for this error are either
+		 * RangeErrorParameters or null (no range)
+		 */
+		INVALID_TRACE_ID,
+
+		/**
+		 * Group ID was not valid. Parameters for this error are either
+		 * RangeErrorParameters or null (no range)
+		 */
+		INVALID_GROUP_ID,
+
+		/**
+		 * Name was not valid
+		 */
+		INVALID_TRACE_NAME,
+
+		/**
+		 * Name was not valid
+		 */
+		INVALID_GROUP_NAME,
+
+		/**
+		 * Trace string was not valid
+		 */
+		INVALID_TRACE_DATA,
+
+		/**
+		 * Cannot edit source file
+		 */
+		SOURCE_NOT_EDITABLE,
+
+		/**
+		 * Source location was not valid
+		 */
+		INVALID_SOURCE_LOCATION,
+
+		/**
+		 * Unreachable trace location
+		 */
+		UNREACHABLE_TRACE_LOCATION,
+
+		/**
+		 * Tried to perform group operation when group was not selected
+		 */
+		GROUP_NOT_SELECTED,
+
+		/**
+		 * Tried to perform trace operation when trace was not selected
+		 */
+		TRACE_NOT_SELECTED,
+
+		/**
+		 * Not enough parameters in trace
+		 */
+		NOT_ENOUGH_PARAMETERS,
+
+		/**
+		 * Unexpected exception occurred
+		 */
+		UNEXPECTED_EXCEPTION,
+
+		/**
+		 * Trace model is not ready
+		 */
+		MODEL_NOT_READY,
+
+		/**
+		 * No trace groups
+		 */
+		NO_TRACE_GROUPS,
+
+		/**
+		 * Parameter name is not valid
+		 */
+		INVALID_PARAMETER_NAME,
+
+		/**
+		 * Model properties are not valid
+		 */
+		INVALID_MODEL_PROPERTIES_FOR_EXPORT,
+
+		/**
+		 * Model name is not valid
+		 */
+		INVALID_MODEL_NAME,
+
+		/**
+		 * Trace project file cannot be parsed
+		 */
+		INVALID_PROJECT_FILE,
+
+		/**
+		 * File was not found. This error is related to FileErrorParameters
+		 * class
+		 */
+		FILE_NOT_FOUND,
+
+		/**
+		 * Path was not valid. This is related to FileErrorParameters class
+		 */
+		INVALID_PATH,
+
+		/**
+		 * Constant value was duplicate
+		 */
+		DUPLICATE_CONSTANT_VALUE,
+
+		/**
+		 * Constant name was already in use
+		 */
+		DUPLICATE_CONSTANT_TABLE_NAME,
+
+		/**
+		 * Constant table name was not valid
+		 */
+		INVALID_CONSTANT_TABLE_NAME,
+
+		/**
+		 * Constant table not part of project
+		 */
+		CONSTANT_TABLE_NOT_PART_OF_PROJECT,
+
+		/**
+		 * Constant ID was already in use
+		 */
+		DUPLICATE_CONSTANT_ID,
+
+		/**
+		 * Constant value was not valid
+		 */
+		INVALID_CONSTANT_VALUE,
+
+		/**
+		 * Parameter name was already in use
+		 */
+		DUPLICATE_PARAMETER_NAME,
+
+		/**
+		 * Parameter type was not supported
+		 */
+		INVALID_PARAMETER_TYPE,
+
+		/**
+		 * Parameters cannot be added
+		 */
+		PARAMETER_ADD_NOT_ALLOWED,
+
+		/**
+		 * Parameters cannot be removed
+		 */
+		PARAMETER_REMOVE_NOT_ALLOWED,
+
+		/**
+		 * Parameter name was empty. This is generated when automatically adding
+		 * function parameters to new trace and a parameter does not have a name
+		 * in the declaration.
+		 */
+		EMPTY_PARAMETER_NAME,
+
+		/**
+		 * Parameter template was already used by another parameter
+		 */
+		PARAMETER_TEMPLATE_ALREADY_IN_USE,
+
+		/**
+		 * Tried to remove trace location when one was not selected
+		 */
+		LOCATION_NOT_SELECTED,
+
+		/**
+		 * Cannot add a constant, since constant table was not selected
+		 */
+		CONSTANT_TABLE_NOT_SELECTED,
+
+		/**
+		 * The selected object was not valid target for delete operation
+		 */
+		CANNOT_DELETE_SELECTED_OBJECT,
+
+		/**
+		 * Trace text format is not valid
+		 */
+		INVALID_TRACE_TEXT_FORMAT,
+
+		/**
+		 * Trace name format is not valid
+		 */
+		INVALID_TRACE_NAME_FORMAT,
+
+		/**
+		 * Missing function name from trace name format
+		 */
+		TRACE_NAME_FORMAT_MISSING_FUNCTION,
+
+		/**
+		 * No traces to delete
+		 */
+		NO_TRACES_TO_DELETE,
+
+		/**
+		 * Source file is not open
+		 */
+		SOURCE_NOT_OPEN,
+
+		/**
+		 * Failed to parse a constant table from source
+		 */
+		CONSTANT_TABLE_PARSE_FAILED,
+
+		/**
+		 * Cannot open project file
+		 */
+		CANNOT_OPEN_PROJECT_FILE,
+
+		/**
+		 * Cannot write project file
+		 */
+		CANNOT_WRITE_PROJECT_FILE,
+
+		/**
+		 * Parameter ID was already in use
+		 */
+		DUPLICATE_PARAMETER_ID,
+
+		/**
+		 * Constant table ID was already in use
+		 */
+		DUPLICATE_CONSTANT_TABLE_ID,
+
+		/**
+		 * Instrumenter function list was empty
+		 */
+		NO_FUNCTIONS_TO_INSTRUMENT,
+
+		/**
+		 * Instrumenter function list was empty. Related to
+		 * StringErrorParameters
+		 */
+		NO_FUNCTIONS_TO_INSTRUMENT_WITH_TEMPLATE,
+
+		/**
+		 * Multiple errors during an operation
+		 */
+		MULTIPLE_ERRORS_IN_OPERATION,
+
+		/**
+		 * Printf parameter parameter format specification did not match the
+		 * parameter count
+		 */
+		PARAMETER_FORMAT_MISMATCH,
+
+		/**
+		 * A trace does not exist
+		 */
+		TRACE_DOES_NOT_EXIST,
+
+		/**
+		 * Trace needs to be converted to correct API
+		 */
+		TRACE_NEEDS_CONVERSION,
+
+		/**
+		 * Parameter count of location and trace do not match
+		 */
+		PARAMETER_COUNT_MISMATCH,
+
+		/**
+		 * Parameter count in location does not match the API macro
+		 */
+		PARAMETER_COUNT_DOES_NOT_MATCH_API,
+
+		/**
+		 * Location parser failed
+		 */
+		LOCATION_PARSER_FAILED,
+
+		/**
+		 * Trace is not referenced from source files
+		 */
+		TRACE_HAS_NO_LOCATIONS,
+
+		/**
+		 * Trace is used from multiple locations in source files
+		 */
+		TRACE_HAS_MULTIPLE_LOCATIONS,
+
+		/**
+		 * Project was empty when export was called
+		 */
+		NO_TRACES_TO_EXPORT,
+
+		/**
+		 * Source file cannot be opened
+		 */
+		CANNOT_OPEN_SOURCE_FILE,
+
+		/**
+		 * Trace in source cannot be updated
+		 */
+		CANNOT_UPDATE_TRACE_INTO_SOURCE,
+
+		/**
+		 * Parameter format is not supported
+		 */
+		PARAMETER_FORMAT_NOT_SUPPORTED,
+
+		/**
+		 * Parameter format is not supported by default macros
+		 */
+		PARAMETER_FORMAT_NEEDS_EXT_MACRO,
+
+		/**
+		 * Ext macro usage is not necessary with
+		 */
+		PARAMETER_FORMAT_UNNECESSARY_EXT_MACRO,
+
+		/**
+		 * Parameter format cannot be used as an array
+		 */
+		PARAMETER_FORMAT_NOT_SUPPORTED_IN_ARRAY,
+
+		/**
+		 * Property file element was unknown
+		 */
+		PROPERTY_FILE_ELEMENT_NOT_SUPPORTED,
+
+		/**
+		 * Property file element was in wrong place
+		 */
+		PROPERTY_FILE_ELEMENT_MISPLACED,
+
+		/**
+		 * Property file attribute was not valid
+		 */
+		PROPERTY_FILE_ATTRIBUTE_INVALID,
+
+		/**
+		 * Inserting a trace into source will produce incorrect results
+		 */
+		INSERT_TRACE_DOES_NOT_WORK,
+
+		/**
+		 * Trace found from source is not in valid source context
+		 */
+		NO_CONTEXT_FOR_LOCATION,
+
+		/**
+		 * Function parameters could not be parsed
+		 */
+		CANNOT_PARSE_FUNCTION_PARAMETERS,
+
+		/**
+		 * Parameter name is not valid exit trace return parameter name
+		 */
+		INVALID_PARAMETER_NAME_IN_RETURN_VALUE,
+
+		/**
+		 * Run out of Group IDs
+		 */
+		RUN_OUT_OF_GROUP_IDS,
+
+		/**
+		 * Run out of Trace IDs
+		 */
+		RUN_OUT_OF_TRACE_IDS,
+
+		/**
+		 * Cannot add function parameters if there is var arg list
+		 */
+		VAR_ARG_LIST_PARAMETER_FOUND,
+
+		/**
+		 * TRACE_STATE group name was used in non state trace
+		 */
+		INVALID_USAGE_OF_TRACE_STATE_GROUP_NAME,
+
+		/**
+		 * TRACE_PERFORMANCE group name was used in non performance trace
+		 */
+		INVALID_USAGE_OF_TRACE_PERFORMACE_GROUP_NAME
+	}
+
+}