#ifndef OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDataTypes_OtxExceptionType_H
#define OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDataTypes_OtxExceptionType_H

#include "ApiDefs.h"

namespace OpenTestSystem { namespace OtxDiagManager { namespace OtxDiagApi { namespace OtxDataTypes {
	/// <summary>
	/// @snippetdoc DocSnippets.txt OtxDiagApiEnumerationComment
	/// </summary>
	struct API_EXPORTS OtxExceptionType
	{
		enum Type {
			Exception = 0,
			InvalidReferenceException = 1,
			OutOfBoundsException = 2,
			TypeMismatchException = 3,
			NotImplementedException = 4,
			DiagComException = 20,
			AmbiguousSemanticException = 21,
			IncompleteParameterizationException = 22,
			InvalidStateException = 23,
			LossOfComException = 24,
			UnknownComChannelException = 25,
			UnknownResponseException = 26,
			UnknownTargetException = 27,
			DiagComPlusException = 30,
			DiagConfigurationException = 35,
			ProjectChangeException = 36,
			DiagDataBrowsingPlusException = 40,
			InvalidTypeException = 41,
			NotSupportedException = 42,
			ComInterfaceException = 45,
			ActivateEthernetException = 46,
			IgnitionStateException = 47,
			NoDefaultComInterfaceException = 48,
			NotConnectedException = 49,
			JobException = 55,
			InvalidParameterizationException = 56,
			VehicleInfoException = 60,
			GatewayException = 61,
			EcuConfigurationException = 65,
			FlashPlusException = 67,
			InvalidLicenseException = 68,
		};
	};
	typedef OtxExceptionType::Type OtxExceptionTypes;
}}}}
#endif // OpenTestSystem_OtxDiagManager_OtxDiagApi_OtxDataTypes_OtxExceptionType_H
