[mapguide-commits] r9743 - in sandbox/jng/flatten_exceptions/Common/Foundation: . Data Exception System

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Oct 21 03:17:50 PDT 2020


Author: jng
Date: 2020-10-21 03:17:49 -0700 (Wed, 21 Oct 2020)
New Revision: 9743

Added:
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.h
Removed:
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.h
Modified:
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/Byte.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSink.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSource.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/DateTime.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/NamedCollection.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/NullableProperty.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/Property.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/PropertyDefinition.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Data/StringCollection.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionDefs.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.h
   sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj
   sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj.filters
   sandbox/jng/flatten_exceptions/Common/Foundation/FoundationBuild.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceFileImpl.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceMemoryImpl.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceSocketStreamImpl.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceStreamImpl.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ClassFactory.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/Configuration.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/ConfigurationHeap.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/Disposable.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/DisposableCollection.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/FileUtil.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/GuardDisposable.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/MemoryStreamHelper.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/Resources.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamHelper.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamParser.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamReader.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamWriter.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.cpp
   sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.h
   sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlDefs.h
   sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlUtil.cpp
Log:
Remove all exceptions in Foundation and modify all throws to throw MgException, passing an exception code instead.

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/Byte.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/Byte.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/Byte.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -91,7 +91,7 @@
     CheckEnd();
     if (MgByte::Internal != m_allocType)
     {
-        throw new MgInvalidOperationException(L"MgByte.Append", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"MgByte.Append", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     if (len+m_len > m_allocLen)
@@ -159,7 +159,7 @@
     CheckEnd();
     if (len > m_allocLen)
     {
-        throw new MgArgumentOutOfRangeException(L"MgByte.SetLength",__LINE__,__WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgArgumentOutOfRangeException, L"MgByte.SetLength",__LINE__,__WFILE__, NULL, L"", NULL);
     }
     m_len = len;
 }
@@ -176,7 +176,7 @@
     {
         if ( *((UINT64*)&m_bytes[m_allocLen]) != EndBytesMarker)
         {
-            throw new MgOverflowException(L"MgByte.CheckEnd",__LINE__,__WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOverflowException, L"MgByte.CheckEnd",__LINE__,__WFILE__, NULL, L"", NULL);
         }
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSink.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSink.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSink.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -93,7 +93,7 @@
         MgStringCollection arguments;
         arguments.Add(mimeType);
 
-        throw new MgInvalidMimeTypeException(L"MgByteSink.ToStringUtf8",
+        throw new MgException(MgExceptionCodes::MgInvalidMimeTypeException, L"MgByteSink.ToStringUtf8",
             __LINE__,__WFILE__, &arguments, L"", NULL);
     }
 
@@ -127,7 +127,7 @@
         if ((bytesSent = stream->send_n(bytes, bytesReceived, MG_MSG_NOSIGNAL)) != bytesReceived)
         {
             //should get the error from ACE and put it in the exception
-            throw new MgStreamIoException(L"MgByteSink.ToStream",
+            throw new MgException(MgExceptionCodes::MgStreamIoException, L"MgByteSink.ToStream",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
     }
@@ -206,13 +206,13 @@
             if (errno == EEXIST)
             {
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileNotFoundException(L"MgByteSink.ToFile",
+                throw new MgException(MgExceptionCodes::MgFileNotFoundException, L"MgByteSink.ToFile",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
             }
             else
             {
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgByteSink.ToFile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgByteSink.ToFile",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
             }
         }
@@ -247,7 +247,7 @@
                 MgStringCollection arguments;
                 arguments.Add(filename);
 
-                throw new MgFileIoException(L"MgByteSink.ToFile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgByteSink.ToFile",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
             }
         }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSource.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSource.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/ByteSource.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -40,7 +40,7 @@
 {
     if ((m_sourceImpl = new ByteSourceFileImpl(file)) == NULL)
     {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgByteSource.MgByteSource",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
@@ -49,7 +49,7 @@
 {
     if ((m_sourceImpl = new ByteSourceFileImpl(file, temporary)) == NULL)
     {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgByteSource.MgByteSource",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
@@ -69,7 +69,7 @@
 {
     if ((m_sourceImpl = new ByteSourceMemoryImpl(stream, length)) == NULL)
     {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgByteSource.MgByteSource",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }
@@ -141,7 +141,7 @@
 {
     if ((m_sourceImpl = new ByteSourceMemoryImpl(bytes)) == NULL)
     {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgByteSource.MgByteSource",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/DateTime.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/DateTime.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/DateTime.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -170,7 +170,7 @@
         arguments.Add(L"1");
         arguments.Add(fdoDateTime);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.MgDateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.MgDateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidFdoDateTime", NULL);
     }
 
@@ -223,7 +223,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.MgDateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.MgDateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidXmlDateTime", NULL);
     }
 
@@ -419,7 +419,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetDay",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetDay",
             __LINE__, __WFILE__, &arguments, L"MgInvalidDay", NULL);
     }
 
@@ -439,7 +439,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMonth",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetMonth",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMonth", NULL);
     }
 
@@ -459,7 +459,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetYear",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetYear",
             __LINE__, __WFILE__, &arguments, L"MgInvalidYear", NULL);
     }
 
@@ -479,7 +479,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetHour",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetHour",
             __LINE__, __WFILE__, &arguments, L"MgInvalidHour", NULL);
     }
 
@@ -499,7 +499,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMinute",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetMinute",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMinute", NULL);
     }
 
@@ -519,7 +519,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetSecond",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetSecond",
             __LINE__, __WFILE__, &arguments, L"MgInvalidSecond", NULL);
     }
 
@@ -539,7 +539,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMicrosecond",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.SetMicrosecond",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMicroSecond", NULL);
     }
 
@@ -759,7 +759,7 @@
     }
     else
     {
-        throw new MgDateTimeException(L"MgDateTime.ToString",
+        throw new MgException(MgExceptionCodes::MgDateTimeException, L"MgDateTime.ToString",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -855,7 +855,7 @@
 
     if (timeValue < 0)
     {
-        throw new MgOutOfRangeException(L"MgDateTime.ToTimeValue",
+        throw new MgException(MgExceptionCodes::MgOutOfRangeException, L"MgDateTime.ToTimeValue",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -1127,7 +1127,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateDate",
             __LINE__, __WFILE__, &arguments, L"MgInvalidYear", NULL);
     }
 
@@ -1140,7 +1140,7 @@
         arguments.Add(L"2");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateDate",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMonth", NULL);
     }
 
@@ -1157,7 +1157,7 @@
         arguments.Add(L"3");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateDate",
             __LINE__, __WFILE__, &arguments, L"MgInvalidDay", NULL);
     }
 }
@@ -1173,7 +1173,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidHour", NULL);
     }
 
@@ -1186,7 +1186,7 @@
         arguments.Add(L"2");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMinute", NULL);
     }
 
@@ -1199,7 +1199,7 @@
         arguments.Add(L"3");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidSecond", NULL);
     }
 
@@ -1212,7 +1212,7 @@
         arguments.Add(L"4");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgDateTime.ValidateTime",
             __LINE__, __WFILE__, &arguments, L"MgInvalidMicroSecond", NULL);
     }
 }
@@ -1238,7 +1238,7 @@
     }
     else
     {
-        throw new MgDateTimeException(L"MgDateTime.Validate",
+        throw new MgException(MgExceptionCodes::MgDateTimeException, L"MgDateTime.Validate",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/NamedCollection.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/NamedCollection.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/NamedCollection.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -114,7 +114,7 @@
     {
         MgStringCollection args;
         args.Add(name);
-        throw new MgObjectNotFoundException(L"GetItem", __LINE__, __WFILE__, NULL, L"MgNoNameForObject", &args); // EXC::Create(Exception::NLSGetMessage(NLSID(38_ITEMNOTFOUND),name));
+        throw new MgException(MgExceptionCodes::MgObjectNotFoundException, L"GetItem", __LINE__, __WFILE__, NULL, L"MgNoNameForObject", &args); // EXC::Create(Exception::NLSGetMessage(NLSID(38_ITEMNOTFOUND),name));
     }
 
     return item;
@@ -386,7 +386,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgInvalidArgumentException(L"MgNamedCollection.IndexOf",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgNamedCollection.IndexOf",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL); // EXC::Create(Exception::NLSGetMessage(NLSID(2_BADPARAMETER)));
     }
 
@@ -417,7 +417,7 @@
 /// </returns>
 MgByteReader* MgNamedCollection::ToXml()
 {
-    throw new MgNotImplementedException(L"MgNamedCollection.ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgNamedCollection.ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
 
     return NULL;
 }
@@ -497,7 +497,7 @@
         {
             MgStringCollection args;
             args.Add(item->GetName());
-            throw new MgDuplicateObjectException(L"CheckDuplicate", __LINE__, __WFILE__, NULL, L"MgDuplicateObject", &args); // EXC::Create(Exception::NLSGetMessage(NLSID(45_ITEMINCOLLECTION),(String*) item->GetName()));
+            throw new MgException(MgExceptionCodes::MgDuplicateObjectException, L"CheckDuplicate", __LINE__, __WFILE__, NULL, L"MgDuplicateObject", &args); // EXC::Create(Exception::NLSGetMessage(NLSID(45_ITEMINCOLLECTION),(String*) item->GetName()));
         }
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/NullableProperty.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/NullableProperty.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/NullableProperty.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -69,7 +69,7 @@
         MgStringCollection arguments;
         arguments.Add(this->GetName());
 
-        throw new MgNullPropertyValueException(L"MgNullableProperty.CheckNull",
+        throw new MgException(MgExceptionCodes::MgNullPropertyValueException, L"MgNullableProperty.CheckNull",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/Property.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/Property.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/Property.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -69,7 +69,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgInvalidArgumentException(L"MgProperty.SetName",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgProperty.SetName",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/PropertyDefinition.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/PropertyDefinition.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/PropertyDefinition.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -51,7 +51,7 @@
 
     if (propType.empty())
     {
-        throw new MgInvalidPropertyTypeException(L"MgPropertyDefinition.MgPropertyDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException, L"MgPropertyDefinition.MgPropertyDefinition", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     m_propertyType = type;

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Data/StringCollection.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Data/StringCollection.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Data/StringCollection.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -351,7 +351,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgIndexOutOfRangeException(L"MgStringCollection.ValidateIndex",
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgStringCollection.ValidateIndex",
             __LINE__, __WFILE__, &arguments, L"MgInvalidValueTooBig", NULL);
     }
     else if (index < 0)
@@ -363,7 +363,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgIndexOutOfRangeException(L"MgStringCollection.ValidateIndex",
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"MgStringCollection.ValidateIndex",
             __LINE__, __WFILE__, &arguments, L"MgInvalidValueTooSmall", NULL);
     }
 }

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_ABSTRACT(MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgApplicationException object.
-///
-MgApplicationException::MgApplicationException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgApplicationException::~MgApplicationException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ApplicationException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,74 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_APPLICATION_EXCEPTION_H_
-#define MG_APPLICATION_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Base class for all exceptions representing an application error.
-///
-/// \remarks
-/// This exception is not thrown directly.
-/// Instead an exception derived from it is used, such as
-/// MgConnectionFailedException.
-///
-class MG_FOUNDATION_API MgApplicationException : public MgException
-{
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgApplicationException object.
-    ///
-    virtual ~MgApplicationException() throw();
-
-protected:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgApplicationException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgApplicationException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_ABSTRACT(MgApplicationException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgApplicationException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgArgumentOutOfRangeException, MgOutOfRangeException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgArgumentOutOfRangeException object.
-///
-MgArgumentOutOfRangeException::MgArgumentOutOfRangeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgOutOfRangeException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgArgumentOutOfRangeException::~MgArgumentOutOfRangeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ArgumentOutOfRangeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_ARGUMENT_OUT_OF_RANGE_EXCEPTION_H_
-#define MG_ARGUMENT_OUT_OF_RANGE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when the value of an argument is
-/// outside the allowable range of values as defined by the invoked method.
-///
-class MG_FOUNDATION_API MgArgumentOutOfRangeException : public MgOutOfRangeException
-{
-    DECLARE_CLASSNAME(MgArgumentOutOfRangeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgArgumentOutOfRangeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgArgumentOutOfRangeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgArgumentOutOfRangeException object.
-    ///
-    virtual ~MgArgumentOutOfRangeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgArgumentOutOfRangeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgArgumentOutOfRangeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgClassNotFoundException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgClassNotFoundException object.
-///
-MgClassNotFoundException::MgClassNotFoundException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgClassNotFoundException::~MgClassNotFoundException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ClassNotFoundException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_CLASS_NOT_FOUND_EXCEPTION_H_
-#define MG_CLASS_NOT_FOUND_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to create an invalid class.
-///
-class MG_FOUNDATION_API MgClassNotFoundException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgClassNotFoundException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgClassNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgClassNotFoundException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgClassNotFoundException object.
-    ///
-    virtual ~MgClassNotFoundException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgClassNotFoundException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgClassNotFoundException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgConfigurationException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgConfigurationException object.
-///
-MgConfigurationException::MgConfigurationException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgConfigurationException::~MgConfigurationException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,72 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_CONFIGURATION_EXCEPTION_H_
-#define MG_CONFIGURATION_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-#include "Foundation.h"
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs in a configuration file, possibly due to invalid parameters
-/// or a missing file.
-///
-class MG_FOUNDATION_API MgConfigurationException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgConfigurationException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgConfigurationException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgConfigurationException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgConfigurationException object.
-    ///
-    virtual ~MgConfigurationException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgConfigurationException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgConfigurationException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,49 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgConfigurationLoadFailedException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgConfigurationLoadFailedException object.
-///
-MgConfigurationLoadFailedException::MgConfigurationLoadFailedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgConfigurationLoadFailedException::~MgConfigurationLoadFailedException() throw()
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception message for the specified locale.
-///
-STRING MgConfigurationLoadFailedException::GetExceptionMessage(CREFSTRING locale) throw()
-{
-    return MgException::GetExceptionMessage(locale, MgResources::FailedToLoadConfigurationFile);
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationLoadFailedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,83 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_CONFIGURATION_LOAD_FAILED_EXCEPTION_H_
-#define MG_CONFIGURATION_LOAD_FAILED_EXCEPTION_H_
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a configuration file cannot be loaded.
-///
-class MG_FOUNDATION_API MgConfigurationLoadFailedException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgConfigurationLoadFailedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgConfigurationLoadFailedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgConfigurationLoadFailedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgConfigurationLoadFailedException object.
-    ///
-    virtual ~MgConfigurationLoadFailedException() throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception message for the specified locale.
-    ///
-    /// \param locale
-    /// The locale identifier to format the details text.
-    /// Locale codes are 2 letters language codes defined by ISO 639-1.
-    /// Please refer to  http://www.loc.gov/standards/iso639-2/englangn.html
-    ///
-    /// \return
-    /// Formatted exception message
-    ///
-    virtual STRING GetExceptionMessage(CREFSTRING locale) throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgConfigurationLoadFailedException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgConfigurationLoadFailedException;
-};
-/// \endcond
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgConfigurationSaveFailedException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgConfigurationSaveFailedException object.
-///
-MgConfigurationSaveFailedException::MgConfigurationSaveFailedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgConfigurationSaveFailedException::~MgConfigurationSaveFailedException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ConfigurationSaveFailedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_CONFIGURATION_SAVE_FAILED_EXCEPTION_H_
-#define MG_CONFIGURATION_SAVE_FAILED_EXCEPTION_H_
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a configuration file cannot be saved.
-///
-class MG_FOUNDATION_API MgConfigurationSaveFailedException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgConfigurationSaveFailedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgConfigurationLoadFailedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgConfigurationSaveFailedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgConfigurationSaveFailedException object.
-    ///
-    virtual ~MgConfigurationSaveFailedException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgConfigurationSaveFailedException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgConfigurationSaveFailedException;
-};
-/// \endcond
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDateTimeException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDateTimeException object.
-///
-MgDateTimeException::MgDateTimeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgDateTimeException object.
-///
-MgDateTimeException::~MgDateTimeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DateTimeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_DATE_TIME_EXCEPTION_H_
-#define MG_DATE_TIME_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs in a date/time routine.
-///
-class MG_FOUNDATION_API MgDateTimeException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgDateTimeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDateTimeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDateTimeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgDateTimeException object.
-    ///
-    virtual ~MgDateTimeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDateTimeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDateTimeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDecryptionException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDecryptionException object.
-///
-MgDecryptionException::MgDecryptionException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgDecryptionException object.
-///
-MgDecryptionException::~MgDecryptionException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DecryptionException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_DECRYPTION_EXCEPTION_H_
-#define MG_DECRYPTION_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a decryption error occurs.
-///
-class MG_FOUNDATION_API MgDecryptionException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgDecryptionException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDecryptionException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDecryptionException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgDecryptionException object.
-    ///
-    virtual ~MgDecryptionException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDecryptionException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDecryptionException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDirectoryNotFoundException, MgFileIoException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDirectoryNotFoundException object.
-///
-MgDirectoryNotFoundException::MgDirectoryNotFoundException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgFileIoException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgDirectoryNotFoundException::~MgDirectoryNotFoundException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DirectoryNotFoundException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_DIRECTORY_NOT_FOUND_EXCEPTION_H_
-#define MG_DIRECTORY_NOT_FOUND_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a directory cannot be found.
-///
-class MG_FOUNDATION_API MgDirectoryNotFoundException : public MgFileIoException
-{
-    DECLARE_CLASSNAME(MgDirectoryNotFoundException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDirectoryNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDirectoryNotFoundException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgDirectoryNotFoundException object.
-    ///
-    virtual ~MgDirectoryNotFoundException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDirectoryNotFoundException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDirectoryNotFoundException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDivideByZeroException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDivideByZeroException object.
-///
-MgDivideByZeroException::MgDivideByZeroException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgDivideByZeroException::~MgDivideByZeroException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DivideByZeroException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_DIVIDE_BY_ZERO_EXCEPTION_H_
-#define MG_DIVIDE_BY_ZERO_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when there is an attempt to divide an integral or decimal value by zero.
-///
-class MG_FOUNDATION_API MgDivideByZeroException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgDivideByZeroException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDivideByZeroException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDivideByZeroException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgDivideByZeroException object.
-    ///
-    virtual ~MgDivideByZeroException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDivideByZeroException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDivideByZeroException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDomainException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDomainException object.
-///
-MgDomainException::MgDomainException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgDomainException::~MgDomainException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DomainException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,73 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_DOMAIN_EXCEPTION_H_
-#define MG_DOMAIN_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a value is used outside of its domain of definition.
-///
-/// \remarks
-/// For example, computing arccosine on a value whose absolute value is
-/// greater than one would raise a domain exception.
-///
-class MG_FOUNDATION_API MgDomainException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgDomainException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDomainException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDomainException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgDomainException object.
-    ///
-    virtual ~MgDomainException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDomainException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDomainException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDuplicateDirectoryException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDuplicateDirectoryException object.
-///
-MgDuplicateDirectoryException::MgDuplicateDirectoryException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgDuplicateDirectoryException object.
-///
-MgDuplicateDirectoryException::~MgDuplicateDirectoryException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateDirectoryException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_DUPLICATE_DIRECTORY_EXCEPTION_H_
-#define MG_DUPLICATE_DIRECTORY_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to create a directory that already exists.
-///
-class MG_FOUNDATION_API MgDuplicateDirectoryException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgDuplicateDirectoryException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDuplicateDirectoryException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDuplicateDirectoryException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgDuplicateDirectoryException object.
-    ///
-    virtual ~MgDuplicateDirectoryException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDuplicateDirectoryException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDuplicateDirectoryException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDuplicateFileException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDuplicateFileException object.
-///
-MgDuplicateFileException::MgDuplicateFileException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgDuplicateFileException object.
-///
-MgDuplicateFileException::~MgDuplicateFileException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateFileException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_DUPLICATE_FILE_EXCEPTION_H_
-#define MG_DUPLICATE_FILE_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to create a file that already exists.
-///
-class MG_FOUNDATION_API MgDuplicateFileException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgDuplicateFileException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDuplicateFileException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDuplicateFileException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgDuplicateFileException object.
-    ///
-    virtual ~MgDuplicateFileException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDuplicateFileException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDuplicateFileException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgDuplicateObjectException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgDuplicateNameException object.
-///
-MgDuplicateObjectException::MgDuplicateObjectException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgDuplicateObjectException::~MgDuplicateObjectException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/DuplicateObjectException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_DUPLICATE_OBJECT_EXCEPTION_H_
-#define MG_DUPLICATE_OBJECT_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a duplicate object is found.
-///
-class MG_FOUNDATION_API MgDuplicateObjectException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgDuplicateObjectException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgDuplicateObjectException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgDuplicateObjectException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgDuplicateObjectException object.
-    ///
-    virtual ~MgDuplicateObjectException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgDuplicateObjectException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgDuplicateObjectException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgEncryptionException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgEncryptionException object.
-///
-MgEncryptionException::MgEncryptionException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgEncryptionException object.
-///
-MgEncryptionException::~MgEncryptionException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/EncryptionException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_ENCRYPTION_EXCEPTION_H_
-#define MG_ENCRYPTION_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an encryption error is encountered.
-///
-class MG_FOUNDATION_API MgEncryptionException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgEncryptionException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgEncryptionException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgEncryptionException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgEncryptionException object.
-    ///
-    virtual ~MgEncryptionException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgEncryptionException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgEncryptionException;
-};
-
-#endif

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -18,7 +18,7 @@
 #include "Foundation.h"
 
 
-IMPLEMENT_EXCEPTION_ABSTRACT(MgException)
+IMPLEMENT_EXCEPTION_DEFAULTS(MgException, _)
 
 MgException::LocaleCallbackFunc MgException::sm_localeCallbackFunc = NULL;
 
@@ -26,10 +26,11 @@
 /// \brief
 /// Construct a MgException.
 ///
-MgException::MgException(CREFSTRING methodName, INT32 lineNumber,
+MgException::MgException(CREFSTRING exceptionCode, CREFSTRING methodName, INT32 lineNumber,
     CREFSTRING fileName, MgStringCollection* whatArguments,
     CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    m_whyMessageId(whyMessageId)
+    m_whyMessageId(whyMessageId),
+    m_code(exceptionCode)
 {
     MG_TRY()
 
@@ -610,3 +611,95 @@
 {
     sm_localeCallbackFunc = func;
 }
+
+STRING MgException::GetExceptionCode()
+{
+    return m_code;
+}
+
+MgException* MgException::Create(exception& stdLibException, CREFSTRING methodName, INT32 lineNumber, CREFSTRING fileName) throw()
+{
+    // The following string conversion is used to detect whether or not
+    // the given error message is unicode compliant.
+    // Without this check, the server will not be able to serialize
+    // this exception object correctly.
+
+    STRING messageId;
+    MgStringCollection arguments;
+    bool unicodeCompliant = false;
+
+    MG_TRY()
+
+        STRING wcStr;
+
+        MgUtil::MultiByteToWideChar(stdLibException.what(), wcStr);
+        arguments.Add(wcStr);
+
+        unicodeCompliant = true;
+
+    MG_CATCH_AND_RELEASE()
+
+        if (unicodeCompliant)
+        {
+            messageId = L"MgFormatInnerExceptionMessage";
+        }
+        else
+        {
+            messageId = L"MgFailedToRetrieveSystemExceptionMesage";
+            arguments.Clear();
+        }
+
+    // Use typeid to determine the specific standard library exception type.
+    // An equivalent MgException* is returned.
+    // If typeid cannot determine the specific standard library exception type
+    // a new MgUnclassifiedException is returned.
+
+    if (typeid(stdLibException) == typeid(std::domain_error))
+    {
+        return new MgException(L"MgDomainException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::invalid_argument))
+    {
+        return new MgException(L"MgInvalidArgumentException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::length_error))
+    {
+        return new MgException(L"MgLengthException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::overflow_error))
+    {
+        return new MgException(L"MgOverflowException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::out_of_range)
+        || typeid(stdLibException) == typeid(std::range_error))
+    {
+        return new MgException(L"MgOutOfRangeException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::underflow_error))
+    {
+        return new MgException(L"MgUnderflowException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::bad_alloc))
+    {
+        return new MgException(L"MgOutOfMemoryException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::bad_cast))
+    {
+        return new MgException(L"MgInvalidCastException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::logic_error))
+    {
+        return new MgException(L"MgLogicException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else if (typeid(stdLibException) == typeid(std::bad_exception)
+        || typeid(stdLibException) == typeid(std::bad_typeid)
+        || typeid(stdLibException) == typeid(std::ios_base::failure)
+        || typeid(stdLibException) == typeid(std::runtime_error))
+    {
+        return new MgException(L"MgRuntimeException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+    else
+    {
+        return new MgException(L"MgUnclassifiedException", methodName, lineNumber, fileName, NULL, messageId, &arguments);
+    }
+}
\ No newline at end of file

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/Exception.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -35,18 +35,40 @@
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
+    /// Retrieve the exception code for this exception
+    ///
+    /// <!-- Syntax in .Net, Java, and PHP -->
+    /// \htmlinclude DotNetSyntaxTop.html
+    /// string GetExceptionCode();
+    /// \htmlinclude SyntaxBottom.html
+    /// \htmlinclude JavaSyntaxTop.html
+    /// String GetExceptionCode();
+    /// \htmlinclude SyntaxBottom.html
+    /// \htmlinclude PHPSyntaxTop.html
+    /// string GetExceptionCode();
+    /// \htmlinclude SyntaxBottom.html
+    ///
+    /// \return
+    /// The exception code
+    ///
+    /// \since 4.0
+    ///
+    STRING GetExceptionCode();
+
+    ///////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Retrieve the formatted exception message.  This is the localized and
     /// end user readable string.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetExceptionMessage() throw();
+    /// string GetExceptionMessage();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// String GetExceptionMessage() throw();
+    /// String GetExceptionMessage();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// string GetExceptionMessage() throw();
+    /// string GetExceptionMessage();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
@@ -67,13 +89,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetDetails() throw();
+    /// string GetDetails();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// String GetDetails() throw();
+    /// String GetDetails();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// string GetDetails() throw();
+    /// string GetDetails();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
@@ -90,13 +112,13 @@
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetStackTrace() throw();
+    /// string GetStackTrace();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude JavaSyntaxTop.html
-    /// String GetStackTrace() throw();
+    /// String GetStackTrace();
     /// \htmlinclude SyntaxBottom.html
     /// \htmlinclude PHPSyntaxTop.html
-    /// string GetStackTrace() throw();
+    /// string GetStackTrace();
     /// \htmlinclude SyntaxBottom.html
     ///
     /// \return
@@ -190,6 +212,12 @@
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
+    /// Create a MgException from mapping a standard CPP exception to a MgException.
+    ///
+    static MgException* Create(std::exception& stdLibException, CREFSTRING methodName, INT32 lineNumber, CREFSTRING fileName) throw();
+
+    ///////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Serialize data to TCP/IP stream.
     ///
     /// \param stream
@@ -210,27 +238,6 @@
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Construct the object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
     /// Dispose this object.
     ///
     /// \return
@@ -320,6 +327,9 @@
 
 protected:
 
+    /// The exception code
+    STRING m_code;
+
     /// Collection of method names which trace the stack leading up to the exception.
     MgStringCollection m_methodNames;
 
@@ -352,6 +362,29 @@
 
 INTERNAL_API:
 
+    ///////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Construct the object.
+    ///
+    /// \param exceptionCode
+    /// The exception code
+    /// \param methodName
+    /// Name of the method where the exception occurred.
+    /// \param lineNumber
+    /// Line number where the exception occurred.
+    /// \param fileName
+    /// File name where the exception occurred.
+    /// \param whatArguments
+    /// Collection of arguments used to format the message that describes what the exception is.
+    /// \param whyMessageId
+    /// ID of the message that describes why the exception occurs.
+    /// \param whyArguments
+    /// Collection of arguments used to format the message that describes why the exception occurs.
+    ///
+    MgException(CREFSTRING exceptionCode, CREFSTRING methodName, INT32 lineNumber,
+        CREFSTRING fileName, MgStringCollection* whatArguments,
+        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
+
     typedef STRING (*LocaleCallbackFunc)();
 
     ///////////////////////////////////////////////////////////////////////////////
@@ -361,13 +394,14 @@
     ///
     static void RegisterLocaleCallback(LocaleCallbackFunc func);
 
-
-    DECLARE_EXCEPTION_ABSTRACT(MgException)
-
 private:
 
     static LocaleCallbackFunc sm_localeCallbackFunc;
 
+INTERNAL_API:
+
+    DECLARE_EXCEPTION_DEFAULTS(MgException)
+
 CLASS_ID:
 
     static const INT32 m_cls_id = Foundation_Exception_MgException;

Added: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.cpp	                        (rev 0)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -0,0 +1,170 @@
+//
+//  Copyright (C) 2004-2020 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#include "ExceptionCodes.h"
+
+/*
+For ease of regeneration in the future:
+
+ 1. Copy the [Exceptions] section of mapguide_en.res out to exceptions.txt
+ 2. In a bash-compatible shell, run:
+
+  cat exceptions.txt | awk '{print "static const STRING " $1 ";     ///\\if INTERNAL value(\"" $1 "\") \\endif" }' > cppdecls.txt
+  cat exceptions.txt | awk '{print "const STRING MgExceptionCodes::" $1 " = L\"" $1 "\";" }' > cppimpl.txt
+
+ 3. Copy/paste the contents of cppdecls.txt into the class body of MgExceptionCodes, replacing existing content
+ 4. Copy/paste the contents of cppimpl.txt into this file, replacing existing content
+*/
+
+const STRING MgExceptionCodes::MgAllProviderConnectionsUsedException = L"MgAllProviderConnectionsUsedException";
+const STRING MgExceptionCodes::MgArgumentOutOfRangeException = L"MgArgumentOutOfRangeException";
+const STRING MgExceptionCodes::MgArrayTypeMismatchException = L"MgArrayTypeMismatchException";
+const STRING MgExceptionCodes::MgAuthenticationFailedException = L"MgAuthenticationFailedException";
+const STRING MgExceptionCodes::MgClassNotFoundException = L"MgClassNotFoundException";
+const STRING MgExceptionCodes::MgConfigurationException = L"MgConfigurationException";
+const STRING MgExceptionCodes::MgConfigurationSaveFailedException = L"MgConfigurationSaveFailedException";
+const STRING MgExceptionCodes::MgConnectionFailedException = L"MgConnectionFailedException";
+const STRING MgExceptionCodes::MgConnectionNotOpenException = L"MgConnectionNotOpenException";
+const STRING MgExceptionCodes::MgCoordinateSystemComputationFailedException = L"MgCoordinateSystemComputationFailedException";
+const STRING MgExceptionCodes::MgCoordinateSystemConversionFailedException = L"MgCoordinateSystemConversionFailedException";
+const STRING MgExceptionCodes::MgCoordinateSystemInitializationFailedException = L"MgCoordinateSystemInitializationFailedException";
+const STRING MgExceptionCodes::MgCoordinateSystemLoadFailedException = L"MgCoordinateSystemLoadFailedException";
+const STRING MgExceptionCodes::MgCoordinateSystemMeasureFailedException = L"MgCoordinateSystemMeasureFailedException";
+const STRING MgExceptionCodes::MgCoordinateSystemTransformFailedException = L"MgCoordinateSystemTransformFailedException";
+const STRING MgExceptionCodes::MgDateTimeException = L"MgDateTimeException";
+const STRING MgExceptionCodes::MgDbException = L"MgDbException";
+const STRING MgExceptionCodes::MgDbXmlException = L"MgDbXmlException";
+const STRING MgExceptionCodes::MgDecryptionException = L"MgDecryptionException";
+const STRING MgExceptionCodes::MgDirectoryNotFoundException = L"MgDirectoryNotFoundException";
+const STRING MgExceptionCodes::MgDivideByZeroException = L"MgDivideByZeroException";
+const STRING MgExceptionCodes::MgDomainException = L"MgDomainException";
+const STRING MgExceptionCodes::MgDuplicateDirectoryException = L"MgDuplicateDirectoryException";
+const STRING MgExceptionCodes::MgDuplicateFileException = L"MgDuplicateFileException";
+const STRING MgExceptionCodes::MgDuplicateGroupException = L"MgDuplicateGroupException";
+const STRING MgExceptionCodes::MgDuplicateNameException = L"MgDuplicateNameException";
+const STRING MgExceptionCodes::MgDuplicateObjectException = L"MgDuplicateObjectException";
+const STRING MgExceptionCodes::MgDuplicateParameterException = L"MgDuplicateParameterException";
+const STRING MgExceptionCodes::MgDuplicateRepositoryException = L"MgDuplicateRepositoryException";
+const STRING MgExceptionCodes::MgDuplicateResourceDataException = L"MgDuplicateResourceDataException";
+const STRING MgExceptionCodes::MgDuplicateResourceException = L"MgDuplicateResourceException";
+const STRING MgExceptionCodes::MgDuplicateRoleException = L"MgDuplicateRoleException";
+const STRING MgExceptionCodes::MgDuplicateServerException = L"MgDuplicateServerException";
+const STRING MgExceptionCodes::MgDuplicateSessionException = L"MgDuplicateSessionException";
+const STRING MgExceptionCodes::MgDuplicateUserException = L"MgDuplicateUserException";
+const STRING MgExceptionCodes::MgDwfException = L"MgDwfException";
+const STRING MgExceptionCodes::MgDwfSectionNotFoundException = L"MgDwfSectionNotFoundException";
+const STRING MgExceptionCodes::MgDwfSectionResourceNotFoundException = L"MgDwfSectionResourceNotFoundException";
+const STRING MgExceptionCodes::MgEmptyFeatureSetException = L"MgEmptyFeatureSetException";
+const STRING MgExceptionCodes::MgEncryptionException = L"MgEncryptionException";
+const STRING MgExceptionCodes::MgEndOfStreamException = L"MgEndOfStreamException";
+const STRING MgExceptionCodes::MgEvaluationExpiredException = L"MgEvaluationExpiredException";
+const STRING MgExceptionCodes::MgFdoException = L"MgFdoException";
+const STRING MgExceptionCodes::MgFeatureServiceException = L"MgFeatureServiceException";
+const STRING MgExceptionCodes::MgFileIoException = L"MgFileIoException";
+const STRING MgExceptionCodes::MgFileNotFoundException = L"MgFileNotFoundException";
+const STRING MgExceptionCodes::MgGeometryException = L"MgGeometryException";
+const STRING MgExceptionCodes::MgGroupNotFoundException = L"MgGroupNotFoundException";
+const STRING MgExceptionCodes::MgIndexOutOfRangeException = L"MgIndexOutOfRangeException";
+const STRING MgExceptionCodes::MgInvalidArgumentException = L"MgInvalidArgumentException";
+const STRING MgExceptionCodes::MgInvalidCastException = L"MgInvalidCastException";
+const STRING MgExceptionCodes::MgInvalidCoordinateSystemException = L"MgInvalidCoordinateSystemException";
+const STRING MgExceptionCodes::MgInvalidCoordinateSystemTypeException = L"MgInvalidCoordinateSystemTypeException";
+const STRING MgExceptionCodes::MgInvalidCoordinateSystemUnitsException = L"MgInvalidCoordinateSystemUnitsException";
+const STRING MgExceptionCodes::MgInvalidDwfPackageException = L"MgInvalidDwfPackageException";
+const STRING MgExceptionCodes::MgInvalidDwfSectionException = L"MgInvalidDwfSectionException";
+const STRING MgExceptionCodes::MgInvalidFeatureSourceException = L"MgInvalidFeatureSourceException";
+const STRING MgExceptionCodes::MgInvalidIpAddressException = L"MgInvalidIpAddressException";
+const STRING MgExceptionCodes::MgInvalidLicenseException = L"MgInvalidLicenseException";
+const STRING MgExceptionCodes::MgInvalidLogEntryException = L"MgInvalidLogEntryException";
+const STRING MgExceptionCodes::MgInvalidMapDefinitionException = L"MgInvalidMapDefinitionException";
+const STRING MgExceptionCodes::MgInvalidMimeTypeException = L"MgInvalidMimeTypeException";
+const STRING MgExceptionCodes::MgInvalidOperationException = L"MgInvalidOperationException";
+const STRING MgExceptionCodes::MgInvalidOperationVersionException = L"MgInvalidOperationVersionException";
+const STRING MgExceptionCodes::MgInvalidPasswordException = L"MgInvalidPasswordException";
+const STRING MgExceptionCodes::MgInvalidPrintLayoutFontSizeUnitsException = L"MgInvalidPrintLayoutFontSizeUnitsException";
+const STRING MgExceptionCodes::MgInvalidPrintLayoutPositionUnitsException = L"MgInvalidPrintLayoutPositionUnitsException";
+const STRING MgExceptionCodes::MgInvalidPrintLayoutSizeUnitsException = L"MgInvalidPrintLayoutSizeUnitsException";
+const STRING MgExceptionCodes::MgInvalidPropertyTypeException = L"MgInvalidPropertyTypeException";
+const STRING MgExceptionCodes::MgInvalidRepositoryNameException = L"MgInvalidRepositoryNameException";
+const STRING MgExceptionCodes::MgInvalidRepositoryTypeException = L"MgInvalidRepositoryTypeException";
+const STRING MgExceptionCodes::MgInvalidResourceDataNameException = L"MgInvalidResourceDataNameException";
+const STRING MgExceptionCodes::MgInvalidResourceDataTypeException = L"MgInvalidResourceDataTypeException";
+const STRING MgExceptionCodes::MgInvalidResourceNameException = L"MgInvalidResourceNameException";
+const STRING MgExceptionCodes::MgInvalidResourcePathException = L"MgInvalidResourcePathException";
+const STRING MgExceptionCodes::MgInvalidResourcePreProcessingTypeException = L"MgInvalidResourcePreProcessingTypeException";
+const STRING MgExceptionCodes::MgInvalidResourceTypeException = L"MgInvalidResourceTypeException";
+const STRING MgExceptionCodes::MgInvalidServerNameException = L"MgInvalidServerNameException";
+const STRING MgExceptionCodes::MgInvalidSerialNumberException = L"MgInvalidSerialNumberException";
+const STRING MgExceptionCodes::MgInvalidStreamHeaderException = L"MgInvalidStreamHeaderException";
+const STRING MgExceptionCodes::MgIoException = L"MgIoException";
+const STRING MgExceptionCodes::MgLayerNotFoundException = L"MgLayerNotFoundException";
+const STRING MgExceptionCodes::MgLengthException = L"MgLengthException";
+const STRING MgExceptionCodes::MgLicenseException = L"MgLicenseException";
+const STRING MgExceptionCodes::MgLicenseExpiredException = L"MgLicenseExpiredException";
+const STRING MgExceptionCodes::MgLogicException = L"MgLogicException";
+const STRING MgExceptionCodes::MgLogOpenFailedException = L"MgLogOpenFailedException";
+const STRING MgExceptionCodes::MgNotFiniteNumberException = L"MgNotFiniteNumberException";
+const STRING MgExceptionCodes::MgNotImplementedException = L"MgNotImplementedException";
+const STRING MgExceptionCodes::MgNullArgumentException = L"MgNullArgumentException";
+const STRING MgExceptionCodes::MgNullPropertyValueException = L"MgNullPropertyValueException";
+const STRING MgExceptionCodes::MgNullReferenceException = L"MgNullReferenceException";
+const STRING MgExceptionCodes::MgObjectNotFoundException = L"MgObjectNotFoundException";
+const STRING MgExceptionCodes::MgOperationProcessingException = L"MgOperationProcessingException";
+const STRING MgExceptionCodes::MgOutOfMemoryException = L"MgOutOfMemoryException";
+const STRING MgExceptionCodes::MgOutOfRangeException = L"MgOutOfRangeException";
+const STRING MgExceptionCodes::MgOverflowException = L"MgOverflowException";
+const STRING MgExceptionCodes::MgParameterNotFoundException = L"MgParameterNotFoundException";
+const STRING MgExceptionCodes::MgPathTooLongException = L"MgPathTooLongException";
+const STRING MgExceptionCodes::MgPermissionDeniedException = L"MgPermissionDeniedException";
+const STRING MgExceptionCodes::MgPlatformNotSupportedException = L"MgPlatformNotSupportedException";
+const STRING MgExceptionCodes::MgPortNotAvailableException = L"MgPortNotAvailableException";
+const STRING MgExceptionCodes::MgPrintToScaleModeNotSelectedException = L"MgPrintToScaleModeNotSelectedException";
+const STRING MgExceptionCodes::MgRasterTransformationNotSupportedException = L"MgRasterTransformationNotSupportedException";
+const STRING MgExceptionCodes::MgRepositoryCreationFailedException = L"MgRepositoryCreationFailedException";
+const STRING MgExceptionCodes::MgRepositoryNotFoundException = L"MgRepositoryNotFoundException";
+const STRING MgExceptionCodes::MgRepositoryNotOpenException = L"MgRepositoryNotOpenException";
+const STRING MgExceptionCodes::MgRepositoryOpenFailedException = L"MgRepositoryOpenFailedException";
+const STRING MgExceptionCodes::MgResourceBusyException = L"MgResourceBusyException";
+const STRING MgExceptionCodes::MgResourceDataNotFoundException = L"MgResourceDataNotFoundException";
+const STRING MgExceptionCodes::MgResourceNotFoundException = L"MgResourceNotFoundException";
+const STRING MgExceptionCodes::MgResourcesException = L"MgResourcesException";
+const STRING MgExceptionCodes::MgResourceTagNotFoundException = L"MgResourceTagNotFoundException";
+const STRING MgExceptionCodes::MgRoleNotFoundException = L"MgRoleNotFoundException";
+const STRING MgExceptionCodes::MgRuntimeException = L"MgRuntimeException";
+const STRING MgExceptionCodes::MgServerNotFoundException = L"MgServerNotFoundException";
+const STRING MgExceptionCodes::MgServerNotOnlineException = L"MgServerNotOnlineException";
+const STRING MgExceptionCodes::MgServiceNotAvailableException = L"MgServiceNotAvailableException";
+const STRING MgExceptionCodes::MgServiceNotSupportedException = L"MgServiceNotSupportedException";
+const STRING MgExceptionCodes::MgSessionExpiredException = L"MgSessionExpiredException";
+const STRING MgExceptionCodes::MgSessionNotFoundException = L"MgSessionNotFoundException";
+const STRING MgExceptionCodes::MgStreamIoException = L"MgStreamIoException";
+const STRING MgExceptionCodes::MgStylizeLayerFailedException = L"MgStylizeLayerFailedException";
+const STRING MgExceptionCodes::MgTemporaryFileNotAvailableException = L"MgTemporaryFileNotAvailableException";
+const STRING MgExceptionCodes::MgUnauthorizedAccessException = L"MgUnauthorizedAccessException";
+const STRING MgExceptionCodes::MgUnclassifiedException = L"MgUnclassifiedException";
+const STRING MgExceptionCodes::MgUnderflowException = L"MgUnderflowException";
+const STRING MgExceptionCodes::MgUnknownTileProviderException = L"MgUnknownTileProviderException";
+const STRING MgExceptionCodes::MgUnsupportedProviderThreadModelException = L"MgUnsupportedProviderThreadModelException";
+const STRING MgExceptionCodes::MgUnsupportedTileProviderException = L"MgUnsupportedTileProviderException";
+const STRING MgExceptionCodes::MgUriFormatException = L"MgUriFormatException";
+const STRING MgExceptionCodes::MgUserNotFoundException = L"MgUserNotFoundException";
+const STRING MgExceptionCodes::MgXmlException = L"MgXmlException";
+const STRING MgExceptionCodes::MgXmlParserException = L"MgXmlParserException";
+
+// These codes aren't in mapguide_en.res
+const STRING MgExceptionCodes::MgConfigurationLoadFailedException = L"MgConfigurationLoadFailedException";
+const STRING MgExceptionCodes::MgResourcesLoadFailedException = L"MgResourcesLoadFailedException";
\ No newline at end of file

Added: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.h	                        (rev 0)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionCodes.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -0,0 +1,164 @@
+//
+//  Copyright (C) 2004-2020 by Autodesk, Inc.
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of version 2.1 of the GNU Lesser
+//  General Public License as published by the Free Software Foundation.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
+
+#ifndef _MG_EXCEPTION_CODES_H
+#define _MG_EXCEPTION_CODES_H
+
+class MG_FOUNDATION_API MgExceptionCodes
+{
+PUBLISHED_API:
+    static const STRING MgAllProviderConnectionsUsedException;     ///\if INTERNAL value("MgAllProviderConnectionsUsedException") \endif
+    static const STRING MgArgumentOutOfRangeException;     ///\if INTERNAL value("MgArgumentOutOfRangeException") \endif
+    static const STRING MgArrayTypeMismatchException;     ///\if INTERNAL value("MgArrayTypeMismatchException") \endif
+    static const STRING MgAuthenticationFailedException;     ///\if INTERNAL value("MgAuthenticationFailedException") \endif
+    static const STRING MgClassNotFoundException;     ///\if INTERNAL value("MgClassNotFoundException") \endif
+    static const STRING MgConfigurationException;     ///\if INTERNAL value("MgConfigurationException") \endif
+    static const STRING MgConfigurationSaveFailedException;     ///\if INTERNAL value("MgConfigurationSaveFailedException") \endif
+    static const STRING MgConnectionFailedException;     ///\if INTERNAL value("MgConnectionFailedException") \endif
+    static const STRING MgConnectionNotOpenException;     ///\if INTERNAL value("MgConnectionNotOpenException") \endif
+    static const STRING MgCoordinateSystemComputationFailedException;     ///\if INTERNAL value("MgCoordinateSystemComputationFailedException") \endif
+    static const STRING MgCoordinateSystemConversionFailedException;     ///\if INTERNAL value("MgCoordinateSystemConversionFailedException") \endif
+    static const STRING MgCoordinateSystemInitializationFailedException;     ///\if INTERNAL value("MgCoordinateSystemInitializationFailedException") \endif
+    static const STRING MgCoordinateSystemLoadFailedException;     ///\if INTERNAL value("MgCoordinateSystemLoadFailedException") \endif
+    static const STRING MgCoordinateSystemMeasureFailedException;     ///\if INTERNAL value("MgCoordinateSystemMeasureFailedException") \endif
+    static const STRING MgCoordinateSystemTransformFailedException;     ///\if INTERNAL value("MgCoordinateSystemTransformFailedException") \endif
+    static const STRING MgDateTimeException;     ///\if INTERNAL value("MgDateTimeException") \endif
+    static const STRING MgDbException;     ///\if INTERNAL value("MgDbException") \endif
+    static const STRING MgDbXmlException;     ///\if INTERNAL value("MgDbXmlException") \endif
+    static const STRING MgDecryptionException;     ///\if INTERNAL value("MgDecryptionException") \endif
+    static const STRING MgDirectoryNotFoundException;     ///\if INTERNAL value("MgDirectoryNotFoundException") \endif
+    static const STRING MgDivideByZeroException;     ///\if INTERNAL value("MgDivideByZeroException") \endif
+    static const STRING MgDomainException;     ///\if INTERNAL value("MgDomainException") \endif
+    static const STRING MgDuplicateDirectoryException;     ///\if INTERNAL value("MgDuplicateDirectoryException") \endif
+    static const STRING MgDuplicateFileException;     ///\if INTERNAL value("MgDuplicateFileException") \endif
+    static const STRING MgDuplicateGroupException;     ///\if INTERNAL value("MgDuplicateGroupException") \endif
+    static const STRING MgDuplicateNameException;     ///\if INTERNAL value("MgDuplicateNameException") \endif
+    static const STRING MgDuplicateObjectException;     ///\if INTERNAL value("MgDuplicateObjectException") \endif
+    static const STRING MgDuplicateParameterException;     ///\if INTERNAL value("MgDuplicateParameterException") \endif
+    static const STRING MgDuplicateRepositoryException;     ///\if INTERNAL value("MgDuplicateRepositoryException") \endif
+    static const STRING MgDuplicateResourceDataException;     ///\if INTERNAL value("MgDuplicateResourceDataException") \endif
+    static const STRING MgDuplicateResourceException;     ///\if INTERNAL value("MgDuplicateResourceException") \endif
+    static const STRING MgDuplicateRoleException;     ///\if INTERNAL value("MgDuplicateRoleException") \endif
+    static const STRING MgDuplicateServerException;     ///\if INTERNAL value("MgDuplicateServerException") \endif
+    static const STRING MgDuplicateSessionException;     ///\if INTERNAL value("MgDuplicateSessionException") \endif
+    static const STRING MgDuplicateUserException;     ///\if INTERNAL value("MgDuplicateUserException") \endif
+    static const STRING MgDwfException;     ///\if INTERNAL value("MgDwfException") \endif
+    static const STRING MgDwfSectionNotFoundException;     ///\if INTERNAL value("MgDwfSectionNotFoundException") \endif
+    static const STRING MgDwfSectionResourceNotFoundException;     ///\if INTERNAL value("MgDwfSectionResourceNotFoundException") \endif
+    static const STRING MgEmptyFeatureSetException;     ///\if INTERNAL value("MgEmptyFeatureSetException") \endif
+    static const STRING MgEncryptionException;     ///\if INTERNAL value("MgEncryptionException") \endif
+    static const STRING MgEndOfStreamException;     ///\if INTERNAL value("MgEndOfStreamException") \endif
+    static const STRING MgEvaluationExpiredException;     ///\if INTERNAL value("MgEvaluationExpiredException") \endif
+    static const STRING MgFdoException;     ///\if INTERNAL value("MgFdoException") \endif
+    static const STRING MgFeatureServiceException;     ///\if INTERNAL value("MgFeatureServiceException") \endif
+    static const STRING MgFileIoException;     ///\if INTERNAL value("MgFileIoException") \endif
+    static const STRING MgFileNotFoundException;     ///\if INTERNAL value("MgFileNotFoundException") \endif
+    static const STRING MgGeometryException;     ///\if INTERNAL value("MgGeometryException") \endif
+    static const STRING MgGroupNotFoundException;     ///\if INTERNAL value("MgGroupNotFoundException") \endif
+    static const STRING MgIndexOutOfRangeException;     ///\if INTERNAL value("MgIndexOutOfRangeException") \endif
+    static const STRING MgInvalidArgumentException;     ///\if INTERNAL value("MgInvalidArgumentException") \endif
+    static const STRING MgInvalidCastException;     ///\if INTERNAL value("MgInvalidCastException") \endif
+    static const STRING MgInvalidCoordinateSystemException;     ///\if INTERNAL value("MgInvalidCoordinateSystemException") \endif
+    static const STRING MgInvalidCoordinateSystemTypeException;     ///\if INTERNAL value("MgInvalidCoordinateSystemTypeException") \endif
+    static const STRING MgInvalidCoordinateSystemUnitsException;     ///\if INTERNAL value("MgInvalidCoordinateSystemUnitsException") \endif
+    static const STRING MgInvalidDwfPackageException;     ///\if INTERNAL value("MgInvalidDwfPackageException") \endif
+    static const STRING MgInvalidDwfSectionException;     ///\if INTERNAL value("MgInvalidDwfSectionException") \endif
+    static const STRING MgInvalidFeatureSourceException;     ///\if INTERNAL value("MgInvalidFeatureSourceException") \endif
+    static const STRING MgInvalidIpAddressException;     ///\if INTERNAL value("MgInvalidIpAddressException") \endif
+    static const STRING MgInvalidLicenseException;     ///\if INTERNAL value("MgInvalidLicenseException") \endif
+    static const STRING MgInvalidLogEntryException;     ///\if INTERNAL value("MgInvalidLogEntryException") \endif
+    static const STRING MgInvalidMapDefinitionException;     ///\if INTERNAL value("MgInvalidMapDefinitionException") \endif
+    static const STRING MgInvalidMimeTypeException;     ///\if INTERNAL value("MgInvalidMimeTypeException") \endif
+    static const STRING MgInvalidOperationException;     ///\if INTERNAL value("MgInvalidOperationException") \endif
+    static const STRING MgInvalidOperationVersionException;     ///\if INTERNAL value("MgInvalidOperationVersionException") \endif
+    static const STRING MgInvalidPasswordException;     ///\if INTERNAL value("MgInvalidPasswordException") \endif
+    static const STRING MgInvalidPrintLayoutFontSizeUnitsException;     ///\if INTERNAL value("MgInvalidPrintLayoutFontSizeUnitsException") \endif
+    static const STRING MgInvalidPrintLayoutPositionUnitsException;     ///\if INTERNAL value("MgInvalidPrintLayoutPositionUnitsException") \endif
+    static const STRING MgInvalidPrintLayoutSizeUnitsException;     ///\if INTERNAL value("MgInvalidPrintLayoutSizeUnitsException") \endif
+    static const STRING MgInvalidPropertyTypeException;     ///\if INTERNAL value("MgInvalidPropertyTypeException") \endif
+    static const STRING MgInvalidRepositoryNameException;     ///\if INTERNAL value("MgInvalidRepositoryNameException") \endif
+    static const STRING MgInvalidRepositoryTypeException;     ///\if INTERNAL value("MgInvalidRepositoryTypeException") \endif
+    static const STRING MgInvalidResourceDataNameException;     ///\if INTERNAL value("MgInvalidResourceDataNameException") \endif
+    static const STRING MgInvalidResourceDataTypeException;     ///\if INTERNAL value("MgInvalidResourceDataTypeException") \endif
+    static const STRING MgInvalidResourceNameException;     ///\if INTERNAL value("MgInvalidResourceNameException") \endif
+    static const STRING MgInvalidResourcePathException;     ///\if INTERNAL value("MgInvalidResourcePathException") \endif
+    static const STRING MgInvalidResourcePreProcessingTypeException;     ///\if INTERNAL value("MgInvalidResourcePreProcessingTypeException") \endif
+    static const STRING MgInvalidResourceTypeException;     ///\if INTERNAL value("MgInvalidResourceTypeException") \endif
+    static const STRING MgInvalidServerNameException;     ///\if INTERNAL value("MgInvalidServerNameException") \endif
+    static const STRING MgInvalidSerialNumberException;     ///\if INTERNAL value("MgInvalidSerialNumberException") \endif
+    static const STRING MgInvalidStreamHeaderException;     ///\if INTERNAL value("MgInvalidStreamHeaderException") \endif
+    static const STRING MgIoException;     ///\if INTERNAL value("MgIoException") \endif
+    static const STRING MgLayerNotFoundException;     ///\if INTERNAL value("MgLayerNotFoundException") \endif
+    static const STRING MgLengthException;     ///\if INTERNAL value("MgLengthException") \endif
+    static const STRING MgLicenseException;     ///\if INTERNAL value("MgLicenseException") \endif
+    static const STRING MgLicenseExpiredException;     ///\if INTERNAL value("MgLicenseExpiredException") \endif
+    static const STRING MgLogicException;     ///\if INTERNAL value("MgLogicException") \endif
+    static const STRING MgLogOpenFailedException;     ///\if INTERNAL value("MgLogOpenFailedException") \endif
+    static const STRING MgNotFiniteNumberException;     ///\if INTERNAL value("MgNotFiniteNumberException") \endif
+    static const STRING MgNotImplementedException;     ///\if INTERNAL value("MgNotImplementedException") \endif
+    static const STRING MgNullArgumentException;     ///\if INTERNAL value("MgNullArgumentException") \endif
+    static const STRING MgNullPropertyValueException;     ///\if INTERNAL value("MgNullPropertyValueException") \endif
+    static const STRING MgNullReferenceException;     ///\if INTERNAL value("MgNullReferenceException") \endif
+    static const STRING MgObjectNotFoundException;     ///\if INTERNAL value("MgObjectNotFoundException") \endif
+    static const STRING MgOperationProcessingException;     ///\if INTERNAL value("MgOperationProcessingException") \endif
+    static const STRING MgOutOfMemoryException;     ///\if INTERNAL value("MgOutOfMemoryException") \endif
+    static const STRING MgOutOfRangeException;     ///\if INTERNAL value("MgOutOfRangeException") \endif
+    static const STRING MgOverflowException;     ///\if INTERNAL value("MgOverflowException") \endif
+    static const STRING MgParameterNotFoundException;     ///\if INTERNAL value("MgParameterNotFoundException") \endif
+    static const STRING MgPathTooLongException;     ///\if INTERNAL value("MgPathTooLongException") \endif
+    static const STRING MgPermissionDeniedException;     ///\if INTERNAL value("MgPermissionDeniedException") \endif
+    static const STRING MgPlatformNotSupportedException;     ///\if INTERNAL value("MgPlatformNotSupportedException") \endif
+    static const STRING MgPortNotAvailableException;     ///\if INTERNAL value("MgPortNotAvailableException") \endif
+    static const STRING MgPrintToScaleModeNotSelectedException;     ///\if INTERNAL value("MgPrintToScaleModeNotSelectedException") \endif
+    static const STRING MgRasterTransformationNotSupportedException;     ///\if INTERNAL value("MgRasterTransformationNotSupportedException") \endif
+    static const STRING MgRepositoryCreationFailedException;     ///\if INTERNAL value("MgRepositoryCreationFailedException") \endif
+    static const STRING MgRepositoryNotFoundException;     ///\if INTERNAL value("MgRepositoryNotFoundException") \endif
+    static const STRING MgRepositoryNotOpenException;     ///\if INTERNAL value("MgRepositoryNotOpenException") \endif
+    static const STRING MgRepositoryOpenFailedException;     ///\if INTERNAL value("MgRepositoryOpenFailedException") \endif
+    static const STRING MgResourceBusyException;     ///\if INTERNAL value("MgResourceBusyException") \endif
+    static const STRING MgResourceDataNotFoundException;     ///\if INTERNAL value("MgResourceDataNotFoundException") \endif
+    static const STRING MgResourceNotFoundException;     ///\if INTERNAL value("MgResourceNotFoundException") \endif
+    static const STRING MgResourcesException;     ///\if INTERNAL value("MgResourcesException") \endif
+    static const STRING MgResourceTagNotFoundException;     ///\if INTERNAL value("MgResourceTagNotFoundException") \endif
+    static const STRING MgRoleNotFoundException;     ///\if INTERNAL value("MgRoleNotFoundException") \endif
+    static const STRING MgRuntimeException;     ///\if INTERNAL value("MgRuntimeException") \endif
+    static const STRING MgServerNotFoundException;     ///\if INTERNAL value("MgServerNotFoundException") \endif
+    static const STRING MgServerNotOnlineException;     ///\if INTERNAL value("MgServerNotOnlineException") \endif
+    static const STRING MgServiceNotAvailableException;     ///\if INTERNAL value("MgServiceNotAvailableException") \endif
+    static const STRING MgServiceNotSupportedException;     ///\if INTERNAL value("MgServiceNotSupportedException") \endif
+    static const STRING MgSessionExpiredException;     ///\if INTERNAL value("MgSessionExpiredException") \endif
+    static const STRING MgSessionNotFoundException;     ///\if INTERNAL value("MgSessionNotFoundException") \endif
+    static const STRING MgStreamIoException;     ///\if INTERNAL value("MgStreamIoException") \endif
+    static const STRING MgStylizeLayerFailedException;     ///\if INTERNAL value("MgStylizeLayerFailedException") \endif
+    static const STRING MgTemporaryFileNotAvailableException;     ///\if INTERNAL value("MgTemporaryFileNotAvailableException") \endif
+    static const STRING MgUnauthorizedAccessException;     ///\if INTERNAL value("MgUnauthorizedAccessException") \endif
+    static const STRING MgUnclassifiedException;     ///\if INTERNAL value("MgUnclassifiedException") \endif
+    static const STRING MgUnderflowException;     ///\if INTERNAL value("MgUnderflowException") \endif
+    static const STRING MgUnknownTileProviderException;     ///\if INTERNAL value("MgUnknownTileProviderException") \endif
+    static const STRING MgUnsupportedProviderThreadModelException;     ///\if INTERNAL value("MgUnsupportedProviderThreadModelException") \endif
+    static const STRING MgUnsupportedTileProviderException;     ///\if INTERNAL value("MgUnsupportedTileProviderException") \endif
+    static const STRING MgUriFormatException;     ///\if INTERNAL value("MgUriFormatException") \endif
+    static const STRING MgUserNotFoundException;     ///\if INTERNAL value("MgUserNotFoundException") \endif
+    static const STRING MgXmlException;     ///\if INTERNAL value("MgXmlException") \endif
+    static const STRING MgXmlParserException;     ///\if INTERNAL value("MgXmlParserException") \endif
+
+    // These codes aren't in mapguide_en.res
+    static const STRING MgConfigurationLoadFailedException;    ///\if INTERNAL value("MgConfigurationLoadFailedException") \endif
+    static const STRING MgResourcesLoadFailedException;    ///\if INTERNAL value("MgResourcesLoadFailedException") \endif
+};
+
+#endif
\ No newline at end of file

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionDefs.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionDefs.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ExceptionDefs.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -62,11 +62,11 @@
     }                                                                         \
     catch (exception& e)                                                      \
     {                                                                         \
-        mgException = MgSystemException::Create(e, methodName, __LINE__, __WFILE__); \
+        mgException = MgException::Create(e, methodName, __LINE__, __WFILE__); \
     }                                                                         \
     catch (...)                                                               \
     {                                                                         \
-        mgException = new MgUnclassifiedException(methodName, __LINE__, __WFILE__, NULL, L"", NULL); \
+        mgException = new MgException(L"MgUnclassifiedException", methodName, __LINE__, __WFILE__, NULL, L"", NULL); \
     }                                                                         \
 
 #define MG_THROW()                                                            \

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgFileIoException, MgIoException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgFileIoException object.
-///
-MgFileIoException::MgFileIoException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgIoException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgFileIoException::~MgFileIoException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileIoException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_FILE_IO_EXCEPTION_H_
-#define MG_FILE_IO_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a file I/O error occurs.
-///
-class MG_FOUNDATION_API MgFileIoException : public MgIoException
-{
-    DECLARE_CLASSNAME(MgFileIoException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgFileIoException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgFileIoException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgFileIoException object.
-    ///
-    virtual ~MgFileIoException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgFileIoException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgFileIoException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgFileNotFoundException, MgFileIoException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgFileNotFoundException object.
-///
-MgFileNotFoundException::MgFileNotFoundException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgFileIoException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgFileNotFoundException::~MgFileNotFoundException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/FileNotFoundException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_FILE_NOT_FOUND_EXCEPTION_H_
-#define MG_FILE_NOT_FOUND_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to access a file that cannot be found.
-///
-class MG_FOUNDATION_API MgFileNotFoundException : public MgFileIoException
-{
-    DECLARE_CLASSNAME(MgFileNotFoundException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgFileNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgFileNotFoundException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgFileNotFoundException object.
-    ///
-    virtual ~MgFileNotFoundException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgFileNotFoundException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgFileNotFoundException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgGridDensityException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgGridDensityException object.
-///
-MgGridDensityException::MgGridDensityException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgGridDensityException object.
-///
-MgGridDensityException::~MgGridDensityException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/GridDensityException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_GRID_DENSITY_EXCEPTION_H_
-#define MG_GRID_DENSITY_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs in a date/time routine.
-///
-class MG_FOUNDATION_API MgGridDensityException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgGridDensityException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgGridDensityException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgGridDensityException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgGridDensityException object.
-    ///
-    virtual ~MgGridDensityException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgGridDensityException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgGridDensityException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgIndexOutOfRangeException, MgOutOfRangeException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgIndexOutOfRangeException object.
-///
-MgIndexOutOfRangeException::MgIndexOutOfRangeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgOutOfRangeException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgIndexOutOfRangeException::~MgIndexOutOfRangeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IndexOutOfRangeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,71 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INDEX_OUT_OF_RANGE_EXCEPTION_H_
-#define MG_INDEX_OUT_OF_RANGE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to
-/// access an element of an array with an index that is
-/// outside the bounds of the array.
-///
-class MG_FOUNDATION_API MgIndexOutOfRangeException : public MgOutOfRangeException
-{
-    DECLARE_CLASSNAME(MgIndexOutOfRangeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgIndexOutOfRangeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgIndexOutOfRangeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgIndexOutOfRangeException object.
-    ///
-    virtual ~MgIndexOutOfRangeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgIndexOutOfRangeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgIndexOutOfRangeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,101 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidArgumentException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidArgumentException object.
-///
-MgInvalidArgumentException::MgInvalidArgumentException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgInvalidArgumentException::~MgInvalidArgumentException() throw()
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Retrieve the formatted exception message for the specified locale.
-/// <param name="nLocale">The locale identifier to format the message text.</param>
-///
-///
-STRING MgInvalidArgumentException::GetExceptionMessage(CREFSTRING locale) throw()
-{
-    //
-    // Format:
-    //
-    //  { Description on WHAT the exception is }
-    //  [ Reason on WHY the exception occurs ]
-    //
-    // Example:
-    //
-    //  Invalid argument(s):
-    //      [1] = 2005-12-08T15:30
-    //  The XML date time is invalid because not all of the fields were found.
-    //
-
-    MG_TRY()
-
-    // Note that for any empty string argument, MgResources::BlankArgument
-    // must be used to prevent MgProperty::SetName (via MgStringCollection::Add)
-    // from infinitely throwing the MgInvalidArgumentException.
-
-    if (m_message.empty())
-    {
-        m_message = FormatMessage(locale, MgResources::Resource_Exception_Section,
-            GetClassName(), NULL);
-
-        const INT32 numArgsPerLine = 2;
-        const INT32 size = m_whatArguments.GetCount();
-        assert(0 == (size % numArgsPerLine));
-
-        for (INT32 i = 1; i < size; i += numArgsPerLine)
-        {
-            STRING argIndex = m_whatArguments.GetItem(i-1);
-            STRING argValue = m_whatArguments.GetItem(i);
-
-            m_message += L"\n\t[";
-            m_message += argIndex;
-            m_message += L"] = \"";
-            m_message += argValue;
-            m_message += L"\"";
-        }
-
-        if (!m_whyMessageId.empty())
-        {
-            m_message += L"\n";
-            m_message += FormatMessage(locale, MgResources::ErrorDescription,
-                m_whyMessageId, &m_whyArguments);
-        }
-    }
-
-    MG_CATCH_AND_RELEASE()
-
-    return m_message;
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidArgumentException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,83 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INVALID_ARGUMENT_EXCEPTION_H_
-#define MG_INVALID_ARGUMENT_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-////////////////////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a method is called with an invalid argument.
-///
-class MG_FOUNDATION_API MgInvalidArgumentException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgInvalidArgumentException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidArgumentException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidArgumentException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgInvalidArgumentException object.
-    ///
-    virtual ~MgInvalidArgumentException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidArgumentException)
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception message for the specified locale.
-    ///
-    /// \param locale
-    /// The locale identifier to format the details text.
-    /// Locale codes are 2 letters language codes defined by ISO 639-1.
-    /// Please refer to  http://www.loc.gov/standards/iso639-2/englangn.html
-    ///
-    /// \return
-    /// Formatted exception message
-    ///
-    virtual STRING GetExceptionMessage(CREFSTRING locale) throw();
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidArgumentException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidCastException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidCastException object.
-///
-MgInvalidCastException::MgInvalidCastException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgInvalidCastException::~MgInvalidCastException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidCastException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INVALID_CAST_EXCEPTION_H_
-#define MG_INVALID_CAST_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting an invalid type cast or explicit conversion.
-///
-class MG_FOUNDATION_API MgInvalidCastException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgInvalidCastException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidCastException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidCastException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgInvalidCastException object.
-    ///
-    virtual ~MgInvalidCastException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidCastException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidCastException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidMimeTypeException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidMimeTypeException object.
-///
-MgInvalidMimeTypeException::MgInvalidMimeTypeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgInvalidMimeTypeException object.
-///
-MgInvalidMimeTypeException::~MgInvalidMimeTypeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidMimeTypeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MGINVALIDMIMETYPEEXCEPTION_H_
-#define MGINVALIDMIMETYPEEXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an invalid mime type is detected.
-///
-class MG_FOUNDATION_API MgInvalidMimeTypeException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgInvalidMimeTypeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidMimeTypeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidMimeTypeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgInvalidMimeTypeException object.
-    ///
-    virtual ~MgInvalidMimeTypeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidMimeTypeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidMimeTypeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidOperationException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidOperationException object.
-///
-MgInvalidOperationException::MgInvalidOperationException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgInvalidOperationException::~MgInvalidOperationException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidOperationException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INVALID_OPERATION_EXCEPTION_H_
-#define MG_INVALID_OPERATION_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a method call is invalid for the object's current state.
-///
-class MG_FOUNDATION_API MgInvalidOperationException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgInvalidOperationException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidOperationException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidOperationException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgInvalidOperationException object.
-    ///
-    virtual ~MgInvalidOperationException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidOperationException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidOperationException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidPropertyTypeException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidPropertyTypeException object.
-///
-MgInvalidPropertyTypeException::MgInvalidPropertyTypeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgInvalidPropertyTypeException::~MgInvalidPropertyTypeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidPropertyTypeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INVALID_PROPERTY_TYPE_EXCEPTION_H_
-#define MG_INVALID_PROPERTY_TYPE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an invalid property type is used.
-///
-class MG_FOUNDATION_API MgInvalidPropertyTypeException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgInvalidPropertyTypeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidPropertyTypeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidPropertyTypeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgInvalidPropertyTypeException object.
-    ///
-    virtual ~MgInvalidPropertyTypeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidPropertyTypeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidPropertyTypeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgInvalidStreamHeaderException, MgStreamIoException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidStreamHeaderException object.
-///
-MgInvalidStreamHeaderException::MgInvalidStreamHeaderException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgStreamIoException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgInvalidStreamHeaderException::~MgInvalidStreamHeaderException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/InvalidStreamHeaderException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_INVALID_STREAM_HEADER_EXCEPTION_H_
-#define MG_INVALID_STREAM_HEADER_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a stream header is invalid.
-///
-class MG_FOUNDATION_API MgInvalidStreamHeaderException : public MgStreamIoException
-{
-    DECLARE_CLASSNAME(MgInvalidStreamHeaderException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgInvalidStreamHeaderException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgInvalidStreamHeaderException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgInvalidStreamHeaderException object.
-    ///
-    virtual ~MgInvalidStreamHeaderException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgInvalidStreamHeaderException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgInvalidStreamHeaderException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgIoException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgIoException object.
-///
-MgIoException::MgIoException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgIoException::~MgIoException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/IoException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_IO_EXCEPTION_H_
-#define MG_IO_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an I/O error occurs.
-///
-class MG_FOUNDATION_API MgIoException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgIoException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgIoException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgIoException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgIoException object.
-    ///
-    virtual ~MgIoException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgIoException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgIoException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgLengthException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgInvalidArgumentException object.
-///
-MgLengthException::MgLengthException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgLengthException::~MgLengthException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LengthException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,68 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_LENGTH_EXCEPTION_H_
-#define MG_LENGTH_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a length of some item does not match the expected length.
-class MG_FOUNDATION_API MgLengthException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgLengthException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgLengthException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgLengthException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgDomainException object.
-    ///
-    virtual ~MgLengthException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgLengthException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgLengthException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgLogicException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgLogicException object.
-///
-MgLogicException::MgLogicException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgLogicException::~MgLogicException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/LogicException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_LOGIC_EXCEPTION_H_
-#define MG_LOGIC_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown to report errors presumably detectable
-/// before the program executes, such as violations of logical preconditions.
-///
-class MG_FOUNDATION_API MgLogicException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgLogicException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgLogicException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgLogicException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgLogicException object.
-    ///
-    virtual ~MgLogicException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgLogicException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgLogicException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgNotFiniteNumberException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgNotFiniteNumberException object.
-///
-MgNotFiniteNumberException::MgNotFiniteNumberException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgNotFiniteNumberException::~MgNotFiniteNumberException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotFiniteNumberException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_NOT_FINITE_NUMBER_EXCEPTION_H_
-#define MG_NOT_FINITE_NUMBER_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a floating-point value is positive infinity,
-/// negative infinity, or Not-a-Number (NaN).
-///
-class MG_FOUNDATION_API MgNotFiniteNumberException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgNotFiniteNumberException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgNotFiniteNumberException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgNotFiniteNumberException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgNotFiniteNumberException object.
-    ///
-    virtual ~MgNotFiniteNumberException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgNotFiniteNumberException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgNotFiniteNumberException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgNotImplementedException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgNotImplementedException object.
-///
-MgNotImplementedException::MgNotImplementedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgNotImplementedException::~MgNotImplementedException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NotImplementedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_NOT_IMPLEMENTED_EXCEPTION_H_
-#define MG_NOT_IMPLEMENTED_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an operation that has not been implemented yet is invoked.
-///
-class MG_FOUNDATION_API MgNotImplementedException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgNotImplementedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgNotImplementedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgNotImplementedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgNotImplementedException object.
-    ///
-    virtual ~MgNotImplementedException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgNotImplementedException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgNotImplementedException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgNullArgumentException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgNullArgumentException object.
-///
-MgNullArgumentException::MgNullArgumentException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgNullArgumentException::~MgNullArgumentException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullArgumentException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_NULL_ARGUMENT_EXCEPTION_H_
-#define MG_NULL_ARGUMENT_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a null argument is passed to a method
-/// that expects a non-null value.
-///
-class MG_FOUNDATION_API MgNullArgumentException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgNullArgumentException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgNullArgumentException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgNullArgumentException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgNullArgumentException object.
-    ///
-    virtual ~MgNullArgumentException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgNullArgumentException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgNullArgumentException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgNullPropertyValueException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgNullPropertyValueException object.
-///
-MgNullPropertyValueException::MgNullPropertyValueException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgNullPropertyValueException::~MgNullPropertyValueException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullPropertyValueException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,71 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_NULL_PROPERTY_VALUE_EXCEPTION_H_
-#define MG_NULL_PROPERTY_VALUE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-#include "Foundation.h"
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a property value is null.
-///
-class MG_FOUNDATION_API MgNullPropertyValueException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgNullPropertyValueException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgNullPropertyValueException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgNullPropertyValueException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgNullPropertyValueException object.
-    ///
-    virtual ~MgNullPropertyValueException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgNullPropertyValueException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgNullPropertyValueException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgNullReferenceException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgNullReferenceException object.
-///
-MgNullReferenceException::MgNullReferenceException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgNullReferenceException::~MgNullReferenceException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/NullReferenceException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_NULL_REFERENCE_EXCEPTION_H_
-#define MG_NULL_REFERENCE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when there is an attempt to dereference a null object reference.
-///
-class MG_FOUNDATION_API MgNullReferenceException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgNullReferenceException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgNullReferenceException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgNullReferenceException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgNullReferenceException object.
-    ///
-    virtual ~MgNullReferenceException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgNullReferenceException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgNullReferenceException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgObjectNotFoundException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgObjectNotFoundException object.
-///
-MgObjectNotFoundException::MgObjectNotFoundException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgObjectNotFoundException::~MgObjectNotFoundException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ObjectNotFoundException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_OBJECT_NOT_FOUND_EXCEPTION_H_
-#define MG_OBJECT_NOT_FOUND_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when attempting to access an object
-/// that cannot be found.
-///
-class MG_FOUNDATION_API MgObjectNotFoundException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgObjectNotFoundException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgObjectNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgObjectNotFoundException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgObjectNotFoundException object.
-    ///
-    virtual ~MgObjectNotFoundException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgObjectNotFoundException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgObjectNotFoundException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgOutOfMemoryException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgOutOfMemoryException object.
-///
-MgOutOfMemoryException::MgOutOfMemoryException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgOutOfMemoryException::~MgOutOfMemoryException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfMemoryException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_OUT_OF_MEMORY_EXCEPTION_H_
-#define MG_OUT_OF_MEMORY_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when required memory cannot be allocated.
-///
-class MG_FOUNDATION_API MgOutOfMemoryException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgOutOfMemoryException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgOutOfMemoryException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgOutOfMemoryException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgOutOfMemoryException object.
-    ///
-    virtual ~MgOutOfMemoryException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgOutOfMemoryException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgOutOfMemoryException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgOutOfRangeException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgOutOfRangeException object.
-///
-MgOutOfRangeException::MgOutOfRangeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgOutOfRangeException::~MgOutOfRangeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OutOfRangeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,75 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_OUT_OF_RANGE_EXCEPTION_H_
-#define MG_OUT_OF_RANGE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a parameter value passed to a method
-/// is not in the valid range specified by its documentation.
-///
-/// \remarks
-/// This exception is generally thrown by the collection classes when the
-/// index passed to a method is less than zero, or greater or equal to the
-/// number of elements in the collection.
-///
-class MG_FOUNDATION_API MgOutOfRangeException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgOutOfRangeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgOutOfRangeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgOutOfRangeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgOutOfRangeException object.
-    ///
-    virtual ~MgOutOfRangeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgOutOfRangeException)
-
-CLASS_ID:
-    static const INT32 m_cls_id = Foundation_Exception_MgOutOfRangeException;
-
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgOverflowException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgOverflowException object.
-///
-MgOverflowException::MgOverflowException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgOverflowException::~MgOverflowException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/OverflowException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,70 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_OVERFLOW_EXCEPTION_H_
-#define MG_OVERFLOW_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an arithmetic, casting, or conversion
-/// operation in a checked context results in an overflow.
-///
-class MG_FOUNDATION_API MgOverflowException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgOverflowException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgOverflowException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgOverflowException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgOverflowException object.
-    ///
-    virtual ~MgOverflowException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgOverflowException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgOverflowException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgPlatformNotSupportedException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgPlatformNotSupportedException object.
-///
-MgPlatformNotSupportedException::MgPlatformNotSupportedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgPlatformNotSupportedException::~MgPlatformNotSupportedException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/PlatformNotSupportedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_PLATFORM_NOT_SUPPORTED_EXCEPTION_H_
-#define MG_PLATFORM_NOT_SUPPORTED_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a feature does not run on a particular platform.
-///
-class MG_FOUNDATION_API MgPlatformNotSupportedException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgPlatformNotSupportedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgPlatformNotSupportedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgPlatformNotSupportedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgPlatformNotSupportedException object.
-    ///
-    virtual ~MgPlatformNotSupportedException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgPlatformNotSupportedException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgPlatformNotSupportedException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgResourceTagNotFoundException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgResourceTagNotFoundException object.
-///
-MgResourceTagNotFoundException::MgResourceTagNotFoundException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the MgResourceTagNotFoundException object.
-///
-MgResourceTagNotFoundException::~MgResourceTagNotFoundException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourceTagNotFoundException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-/// \ingroup Exceptions_Module
-
-#ifndef MG_RESOURCE_TAG_NOT_FOUND_EXCEPTION_H_
-#define MG_RESOURCE_TAG_NOT_FOUND_EXCEPTION_H_
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a resource tag is not found.
-///
-class MG_FOUNDATION_API MgResourceTagNotFoundException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgResourceTagNotFoundException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgResourceTagNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgResourceTagNotFoundException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct the MgResourceTagNotFoundException object.
-    ///
-    virtual ~MgResourceTagNotFoundException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgResourceTagNotFoundException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgResourceTagNotFoundException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgResourcesException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgResourcesException object.
-///
-MgResourcesException::MgResourcesException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgResourcesException::~MgResourcesException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_RESOURCES_EXCEPTION_H_
-#define MG_RESOURCES_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs with the resources.
-///
-class MG_FOUNDATION_API MgResourcesException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgResourcesException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgFileNotFoundException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgResourcesException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgResourcesException object.
-    ///
-    virtual ~MgResourcesException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgResourcesException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgResourcesException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,49 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgResourcesLoadFailedException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgResourcesLoadFailedException object.
-///
-MgResourcesLoadFailedException::MgResourcesLoadFailedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgResourcesLoadFailedException::~MgResourcesLoadFailedException() throw()
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception message for the specified locale.
-///
-STRING MgResourcesLoadFailedException::GetExceptionMessage(CREFSTRING locale) throw()
-{
-    return MgException::GetExceptionMessage(locale, MgResources::FailedToLoadResourcesFile);
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ResourcesLoadFailedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,86 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_RESOURCES_LOADFAILED_EXCEPTION_H_
-#define MG_RESOURCES_LOADFAILED_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs loading resources.
-/// \remarks
-/// Resources may fail to load if the file itself is not found or if there is
-/// a syntax error in the file.
-///
-class MG_FOUNDATION_API MgResourcesLoadFailedException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgResourcesLoadFailedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgResourcesLoadFailedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgResourcesLoadFailedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgResourcesException object.
-    ///
-    virtual ~MgResourcesLoadFailedException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgResourcesLoadFailedException)
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception message for the specified locale.
-    ///
-    /// \param locale
-    /// The locale identifier to format the details text.
-    /// Locale codes are 2 letters language codes defined by ISO 639-1.
-    /// Please refer to  http://www.loc.gov/standards/iso639-2/englangn.html
-    ///
-    /// \return
-    /// Formatted exception message
-    ///
-    virtual STRING GetExceptionMessage(CREFSTRING locale) throw();
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgResourcesLoadFailedException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgRuntimeException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgRuntimeException object.
-///
-MgRuntimeException::MgRuntimeException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgRuntimeException::~MgRuntimeException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/RuntimeException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,74 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_RUNTIME_EXCEPTION_H_
-#define MG_RUNTIME_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an internal runtime error occurs.
-///
-/// \remarks
-/// Examples include a missing or invalid object type id or a failure on file input/output.
-/// This exception generally does not reflect an error in the application's
-/// logic but instead denotes an unexpected runtime situation.
-///
-class MG_FOUNDATION_API MgRuntimeException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgRuntimeException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgRuntimeException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgRuntimeException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgRuntimeException object.
-    ///
-    virtual ~MgRuntimeException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgRuntimeException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgRuntimeException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgStreamIoException, MgIoException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgStreamIoException object.
-///
-MgStreamIoException::MgStreamIoException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgIoException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgStreamIoException::~MgStreamIoException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/StreamIoException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,71 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_STREAM_IO_EXCEPTION_H_
-#define MG_STREAM_IO_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when low-level stream I/O problems occur
-/// during communication between server and web-tier.
-///
-class MG_FOUNDATION_API MgStreamIoException : public MgIoException
-{
-    DECLARE_CLASSNAME(MgStreamIoException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgStreamIoException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgStreamIoException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgStreamIoException object.
-    ///
-    virtual ~MgStreamIoException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgStreamIoException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgStreamIoException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,141 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-#include <exception>
-// The following three headers are needed to compile under Linux.
-#include <stdexcept>
-#include <typeinfo>
-#include <iostream>
-
-using namespace std;
-
-IMPLEMENT_EXCEPTION_ABSTRACT(MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct a MgSystemException object.
-///
-MgSystemException::MgSystemException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgSystemException::~MgSystemException() throw()
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Create a MgException from mapping a standard CPP exception to a MgException.
-///</summary>
-///
-MgException* MgSystemException::Create(exception& stdLibException,
-    CREFSTRING methodName, INT32 lineNumber, CREFSTRING fileName) throw()
-{
-    // The following string conversion is used to detect whether or not
-    // the given error message is unicode compliant.
-    // Without this check, the server will not be able to serialize
-    // this exception object correctly.
-
-    STRING messageId;
-    MgStringCollection arguments;
-    bool unicodeCompliant = false;
-
-    MG_TRY()
-
-    STRING wcStr;
-
-    MgUtil::MultiByteToWideChar(stdLibException.what(), wcStr);
-    arguments.Add(wcStr);
-
-    unicodeCompliant = true;
-
-    MG_CATCH_AND_RELEASE()
-
-    if (unicodeCompliant)
-    {
-        messageId = L"MgFormatInnerExceptionMessage";
-    }
-    else
-    {
-        messageId = L"MgFailedToRetrieveSystemExceptionMesage";
-        arguments.Clear();
-    }
-
-    // Use typeid to determine the specific standard library exception type.
-    // An equivalent MgException* is returned.
-    // If typeid cannot determine the specific standard library exception type
-    // a new MgUnclassifiedException is returned.
-
-    if (typeid(stdLibException) == typeid(std::domain_error))
-    {
-        return new MgDomainException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(invalid_argument))
-    {
-        return new MgInvalidArgumentException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(length_error))
-    {
-        return new MgLengthException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(overflow_error))
-    {
-        return new MgOverflowException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(out_of_range)
-          || typeid(stdLibException) == typeid(range_error))
-    {
-        return new MgOutOfRangeException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(underflow_error))
-    {
-        return new MgUnderflowException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(bad_alloc))
-    {
-        return new MgOutOfMemoryException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(bad_cast))
-    {
-        return new MgInvalidCastException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(logic_error))
-    {
-        return new MgLogicException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else if (typeid(stdLibException) == typeid(bad_exception)
-          || typeid(stdLibException) == typeid(bad_typeid)
-          || typeid(stdLibException) == typeid(ios_base::failure)
-          || typeid(stdLibException) == typeid(runtime_error))
-    {
-        return new MgRuntimeException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-    else
-    {
-        return new MgUnclassifiedException(methodName, lineNumber, fileName, NULL, messageId, &arguments);
-    }
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/SystemException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,78 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_SYSTEM_EXCEPTION_H_
-#define MG_SYSTEM_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-////////////////////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Base class for all exceptions representing a system error.
-///
-class MG_FOUNDATION_API MgSystemException : public MgException
-{
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgSystemException object.
-    ///
-    virtual ~MgSystemException() throw();
-
-INTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Create a MgException from mapping a standard CPP exception to a MgException.
-    ///
-    static MgException* Create(exception& stdLibException,
-        CREFSTRING methodName, INT32 lineNumber, CREFSTRING fileName) throw();
-
-protected:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgSystemException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgSystemException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_ABSTRACT(MgSystemException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgSystemException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgTemporaryFileNotAvailableException, MgApplicationException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgTemporaryFileNotAvailableException object.
-///
-MgTemporaryFileNotAvailableException::MgTemporaryFileNotAvailableException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgApplicationException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgTemporaryFileNotAvailableException::~MgTemporaryFileNotAvailableException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/TemporaryFileNotAvailableException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,71 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_TEMPORARY_FILE_NOT_AVAILABLE_EXCEPTION_H_
-#define MG_TEMPORARY_FILE_NOT_AVAILABLE_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-#include "Foundation.h"
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when a temporary file is not available.
-///
-class MG_FOUNDATION_API MgTemporaryFileNotAvailableException : public MgApplicationException
-{
-    DECLARE_CLASSNAME(MgTemporaryFileNotAvailableException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgTemporaryFileNotAvailableException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgTemporaryFileNotAvailableException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgTemporaryFileNotAvailableException object
-    ///
-    virtual ~MgTemporaryFileNotAvailableException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgTemporaryFileNotAvailableException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgTemporaryFileNotAvailableException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,84 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_ABSTRACT(MgThirdPartyException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgThirdPartyException object.
-///
-MgThirdPartyException::MgThirdPartyException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments),
-    m_errorCode(0)
-{
-    // The following string conversion is used to detect whether or not
-    // the given error message is unicode compliant.
-    // Without this check, the server will not be able to serialize
-    // this exception object correctly.
-
-    bool unicodeCompliant = false;
-
-    MG_TRY()
-
-    string mbStr;
-
-    for (INT32 i = 0; i < m_whyArguments.GetCount(); ++i)
-    {
-        MgUtil::WideCharToMultiByte(m_whyArguments.GetItem(i), mbStr);
-    }
-
-    unicodeCompliant = true;
-
-    MG_CATCH_AND_RELEASE()
-
-    if (!unicodeCompliant)
-    {
-        m_whyMessageId = L"MgFailedToRetrieveThirdPartyExceptionMesage";
-        m_whyArguments.Clear();
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgThirdPartyException::~MgThirdPartyException() throw()
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Get the error code.
-///
-INT32 MgThirdPartyException::GetErrorCode() throw()
-{
-    return m_errorCode;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Set the error code.
-///
-void MgThirdPartyException::SetErrorCode(INT32 errorCode) throw()
-{
-    m_errorCode = errorCode;
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/ThirdPartyException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,83 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_THIRD_PARTY_EXCEPTION_H_
-#define MG_THIRD_PARTY_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Base class for third party exceptions.
-///
-/// \remarks
-/// Third party exceptions are thrown from components such as FDO
-/// that are used by \ProdName but are not part of
-/// \ProdName itself.
-///
-class MG_FOUNDATION_API MgThirdPartyException : public MgException
-{
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgThirdPartyException object.
-    ///
-    virtual ~MgThirdPartyException() throw();
-
-INTERNAL_API:
-
-    INT32 GetErrorCode() throw();
-    void SetErrorCode(INT32 errorCode) throw();
-
-protected:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgThirdPartyException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgThirdPartyException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_ABSTRACT(MgThirdPartyException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgThirdPartyException;
-
-private:
-
-    INT32 m_errorCode;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgUnclassifiedException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgUnclassifiedException object.
-///
-MgUnclassifiedException::MgUnclassifiedException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgUnclassifiedException::~MgUnclassifiedException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnclassifiedException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,72 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_UNCLASSIFIED_EXCEPTION_H_
-#define MG_UNCLASSIFIED_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-#include "Foundation.h"
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when the server or web-tier does not know the
-/// cause of the actual problem.
-///
-class MG_FOUNDATION_API MgUnclassifiedException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgUnclassifiedException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgUnclassifiedException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgUnclassifiedException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgUnclassifiedException object.
-    ///
-    virtual ~MgUnclassifiedException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgUnclassifiedException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgUnclassifiedException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgUnderflowException, MgSystemException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgUnderflowException object.
-///
-MgUnderflowException::MgUnderflowException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgSystemException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgUnderflowException::~MgUnderflowException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/UnderflowException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_UNDERFLOW_EXCEPTION_H_
-#define MG_UNDERFLOW_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an arithmetic underflow occurs.
-///
-class MG_FOUNDATION_API MgUnderflowException : public MgSystemException
-{
-    DECLARE_CLASSNAME(MgUnderflowException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgUnderflowException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgUnderflowException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgUnderflowException object.
-    ///
-    virtual ~MgUnderflowException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgUnderflowException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgUnderflowException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgXmlException, MgThirdPartyException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgXmlException object.
-///
-MgXmlException::MgXmlException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgThirdPartyException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgXmlException::~MgXmlException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,69 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_XML_EXCEPTION_H_
-#define MG_XML_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Thrown when an error occurs while processing XML.
-///
-class MG_FOUNDATION_API MgXmlException : public MgThirdPartyException
-{
-    DECLARE_CLASSNAME(MgXmlException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgXmlException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgXmlException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgXmlException object.
-    ///
-    virtual ~MgXmlException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgXmlException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgXmlException;
-};
-
-#endif

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,40 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#include "Foundation.h"
-
-IMPLEMENT_EXCEPTION_DEFAULTS(MgXmlParserException, MgThirdPartyException)
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Construct a MgXmlParserException object.
-///
-MgXmlParserException::MgXmlParserException(CREFSTRING methodName,
-    INT32 lineNumber, CREFSTRING fileName, MgStringCollection* whatArguments,
-    CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw() :
-    MgThirdPartyException(methodName, lineNumber, fileName,
-        whatArguments, whyMessageId, whyArguments)
-{
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Destruct the object.
-///
-MgXmlParserException::~MgXmlParserException() throw()
-{
-}

Deleted: sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Exception/XmlParserException.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -1,71 +0,0 @@
-//
-//  Copyright (C) 2004-2011 by Autodesk, Inc.
-//
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of version 2.1 of the GNU Lesser
-//  General Public License as published by the Free Software Foundation.
-//
-//  This library is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-//  Lesser General Public License for more details.
-//
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-//
-
-#ifndef MG_XML_PARSER_EXCEPTION_H_
-#define MG_XML_PARSER_EXCEPTION_H_
-
-/// \ingroup Exceptions_Module
-
-#include "Foundation.h"
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Wrapper for exceptions thrown from the Xerces XML parser.
-///
-class MG_FOUNDATION_API MgXmlParserException : public MgThirdPartyException
-{
-    DECLARE_CLASSNAME(MgXmlParserException)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgXmlParserException object.
-    ///
-    /// \param methodName
-    /// Name of the method where the exception occurred.
-    /// \param lineNumber
-    /// Line number where the exception occurred.
-    /// \param fileName
-    /// File name where the exception occurred.
-    /// \param whatArguments
-    /// Collection of arguments used to format the message that describes what the exception is.
-    /// \param whyMessageId
-    /// ID of the message that describes why the exception occurs.
-    /// \param whyArguments
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    ///
-    MgXmlParserException(CREFSTRING methodName, INT32 lineNumber,
-        CREFSTRING fileName, MgStringCollection* whatArguments,
-        CREFSTRING whyMessageId, MgStringCollection* whyArguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructor for a MgXmlParserException object.
-    ///
-    virtual ~MgXmlParserException() throw();
-
-INTERNAL_API:
-
-    DECLARE_EXCEPTION_DEFAULTS(MgXmlParserException)
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Exception_MgXmlParserException;
-};
-
-#endif

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -142,58 +142,8 @@
 // Base exception classes and defines
 #include "Exception/ExceptionDefs.h"
 #include "Exception/Exception.h"
-#include "Exception/SystemException.h"
-#include "Exception/OutOfRangeException.h"
-#include "Exception/IoException.h"
-#include "Exception/FileIoException.h"
-#include "Exception/StreamIoException.h"
+#include "Exception/ExceptionCodes.h"
 
-#include "Exception/ApplicationException.h"
-#include "Exception/ArgumentOutOfRangeException.h"
-#include "Exception/ClassNotFoundException.h"
-#include "Exception/ConfigurationException.h"
-#include "Exception/ConfigurationLoadFailedException.h"
-#include "Exception/ConfigurationSaveFailedException.h"
-#include "Exception/DateTimeException.h"
-#include "Exception/DecryptionException.h"
-#include "Exception/DirectoryNotFoundException.h"
-#include "Exception/DivideByZeroException.h"
-#include "Exception/DomainException.h"
-#include "Exception/DuplicateDirectoryException.h"
-#include "Exception/DuplicateFileException.h"
-#include "Exception/DuplicateObjectException.h"
-#include "Exception/EncryptionException.h"
-#include "Exception/FileNotFoundException.h"
-#include "Exception/GridDensityException.h"
-#include "Exception/IndexOutOfRangeException.h"
-#include "Exception/InvalidArgumentException.h"
-#include "Exception/InvalidCastException.h"
-#include "Exception/InvalidMimeTypeException.h"
-#include "Exception/InvalidOperationException.h"
-#include "Exception/InvalidPropertyTypeException.h"
-#include "Exception/InvalidStreamHeaderException.h"
-#include "Exception/LengthException.h"
-#include "Exception/LogicException.h"
-#include "Exception/NotFiniteNumberException.h"
-#include "Exception/NotImplementedException.h"
-#include "Exception/NullArgumentException.h"
-#include "Exception/NullPropertyValueException.h"
-#include "Exception/NullReferenceException.h"
-#include "Exception/ObjectNotFoundException.h"
-#include "Exception/OutOfMemoryException.h"
-#include "Exception/OverflowException.h"
-#include "Exception/PlatformNotSupportedException.h"
-#include "Exception/ResourcesException.h"
-#include "Exception/ResourcesLoadFailedException.h"
-#include "Exception/ResourceTagNotFoundException.h"
-#include "Exception/RuntimeException.h"
-#include "Exception/TemporaryFileNotAvailableException.h"
-#include "Exception/ThirdPartyException.h"
-#include "Exception/UnclassifiedException.h"
-#include "Exception/UnderflowException.h"
-#include "Exception/XmlException.h"
-#include "Exception/XmlParserException.h"
-
 #ifndef SWIG_PUBLIC_API
 #include "System/ByteSourceFileImpl.h"
 #include "System/ByteSourceMemoryImpl.h"

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj	2020-10-21 10:17:49 UTC (rev 9743)
@@ -192,96 +192,6 @@
     </Link>
   </ItemDefinitionGroup>
   <ItemGroup>
-    <ClCompile Include="Exception\ApplicationException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ArgumentOutOfRangeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ClassNotFoundException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationLoadFailedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationSaveFailedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DateTimeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DecryptionException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DirectoryNotFoundException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DivideByZeroException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DomainException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateDirectoryException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateFileException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateObjectException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\EncryptionException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="Exception\Exception.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
@@ -296,224 +206,6 @@
       <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(Filename)1.obj</ObjectFileName>
       <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
     </ClCompile>
-    <ClCompile Include="Exception\FileIoException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\FileNotFoundException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\GridDensityException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\IndexOutOfRangeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidArgumentException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidCastException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidMimeTypeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidOperationException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidPropertyTypeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidStreamHeaderException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\IoException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\LengthException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\LogicException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\NotFiniteNumberException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\NotImplementedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\NullArgumentException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\NullPropertyValueException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\NullReferenceException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ObjectNotFoundException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\OutOfMemoryException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\OutOfRangeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\OverflowException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\PlatformNotSupportedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourcesException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourcesLoadFailedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourceTagNotFoundException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\RuntimeException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
-      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(Filename)1.obj</ObjectFileName>
-      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.obj</ObjectFileName>
-      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(Filename)1.obj</ObjectFileName>
-      <XMLDocumentationFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)%(Filename)1.xdc</XMLDocumentationFileName>
-    </ClCompile>
-    <ClCompile Include="Exception\StreamIoException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\SystemException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\TemporaryFileNotAvailableException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\ThirdPartyException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\UnclassifiedException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\UnderflowException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\XmlException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
-    <ClCompile Include="Exception\XmlParserException.cpp">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-    </ClCompile>
     <ClCompile Include="Data\BatchPropertyCollection.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
@@ -604,6 +296,12 @@
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
     </ClCompile>
+    <ClCompile Include="Exception\ExceptionCodes.cpp">
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
+    </ClCompile>
     <ClCompile Include="System\AceStreamHelper.cpp">
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
@@ -799,58 +497,9 @@
     <ClCompile Include="FoundationBuild.cpp" />
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="Exception\ApplicationException.h" />
-    <ClInclude Include="Exception\ArgumentOutOfRangeException.h" />
-    <ClInclude Include="Exception\ClassNotFoundException.h" />
-    <ClInclude Include="Exception\ConfigurationException.h" />
-    <ClInclude Include="Exception\ConfigurationLoadFailedException.h" />
-    <ClInclude Include="Exception\ConfigurationSaveFailedException.h" />
-    <ClInclude Include="Exception\DateTimeException.h" />
-    <ClInclude Include="Exception\DecryptionException.h" />
-    <ClInclude Include="Exception\DirectoryNotFoundException.h" />
-    <ClInclude Include="Exception\DivideByZeroException.h" />
-    <ClInclude Include="Exception\DomainException.h" />
-    <ClInclude Include="Exception\DuplicateDirectoryException.h" />
-    <ClInclude Include="Exception\DuplicateFileException.h" />
-    <ClInclude Include="Exception\DuplicateObjectException.h" />
-    <ClInclude Include="Exception\EncryptionException.h" />
     <ClInclude Include="Exception\Exception.h" />
+    <ClInclude Include="Exception\ExceptionCodes.h" />
     <ClInclude Include="Exception\ExceptionDefs.h" />
-    <ClInclude Include="Exception\FileIoException.h" />
-    <ClInclude Include="Exception\FileNotFoundException.h" />
-    <ClInclude Include="Exception\GridDensityException.h" />
-    <ClInclude Include="Exception\IndexOutOfRangeException.h" />
-    <ClInclude Include="Exception\InvalidArgumentException.h" />
-    <ClInclude Include="Exception\InvalidCastException.h" />
-    <ClInclude Include="Exception\InvalidMimeTypeException.h" />
-    <ClInclude Include="Exception\InvalidOperationException.h" />
-    <ClInclude Include="Exception\InvalidPropertyTypeException.h" />
-    <ClInclude Include="Exception\InvalidStreamHeaderException.h" />
-    <ClInclude Include="Exception\IoException.h" />
-    <ClInclude Include="Exception\LengthException.h" />
-    <ClInclude Include="Exception\LogicException.h" />
-    <ClInclude Include="Exception\NotFiniteNumberException.h" />
-    <ClInclude Include="Exception\NotImplementedException.h" />
-    <ClInclude Include="Exception\NullArgumentException.h" />
-    <ClInclude Include="Exception\NullPropertyValueException.h" />
-    <ClInclude Include="Exception\NullReferenceException.h" />
-    <ClInclude Include="Exception\ObjectNotFoundException.h" />
-    <ClInclude Include="Exception\OutOfMemoryException.h" />
-    <ClInclude Include="Exception\OutOfRangeException.h" />
-    <ClInclude Include="Exception\OverflowException.h" />
-    <ClInclude Include="Exception\PlatformNotSupportedException.h" />
-    <ClInclude Include="Exception\ResourcesException.h" />
-    <ClInclude Include="Exception\ResourcesLoadFailedException.h" />
-    <ClInclude Include="Exception\ResourceTagNotFoundException.h" />
-    <ClInclude Include="Exception\RuntimeException.h" />
-    <ClInclude Include="Exception\StreamIoException.h" />
-    <ClInclude Include="Exception\SystemException.h" />
-    <ClInclude Include="Exception\TemporaryFileNotAvailableException.h" />
-    <ClInclude Include="Exception\ThirdPartyException.h" />
-    <ClInclude Include="Exception\UnclassifiedException.h" />
-    <ClInclude Include="Exception\UnderflowException.h" />
-    <ClInclude Include="Exception\XmlException.h" />
-    <ClInclude Include="Exception\XmlParserException.h" />
     <ClInclude Include="Data\BatchPropertyCollection.h" />
     <ClInclude Include="Data\Byte.h" />
     <ClInclude Include="Data\ByteReader.h" />

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj.filters
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj.filters	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/Foundation.vcxproj.filters	2020-10-21 10:17:49 UTC (rev 9743)
@@ -12,159 +12,9 @@
     </Filter>
   </ItemGroup>
   <ItemGroup>
-    <ClCompile Include="Exception\ApplicationException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ArgumentOutOfRangeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ClassNotFoundException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationLoadFailedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ConfigurationSaveFailedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DateTimeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DecryptionException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DirectoryNotFoundException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DivideByZeroException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DomainException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateDirectoryException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateFileException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\DuplicateObjectException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\EncryptionException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
     <ClCompile Include="Exception\Exception.cpp">
       <Filter>Exception</Filter>
     </ClCompile>
-    <ClCompile Include="Exception\FileIoException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\FileNotFoundException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\GridDensityException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\IndexOutOfRangeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidArgumentException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidCastException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidMimeTypeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidOperationException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidPropertyTypeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\InvalidStreamHeaderException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\IoException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\LengthException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\LogicException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\NotFiniteNumberException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\NotImplementedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\NullArgumentException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\NullPropertyValueException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\NullReferenceException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ObjectNotFoundException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\OutOfMemoryException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\OutOfRangeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\OverflowException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\PlatformNotSupportedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourcesException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourcesLoadFailedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ResourceTagNotFoundException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\RuntimeException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\StreamIoException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\SystemException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\TemporaryFileNotAvailableException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\ThirdPartyException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\UnclassifiedException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\UnderflowException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\XmlException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
-    <ClCompile Include="Exception\XmlParserException.cpp">
-      <Filter>Exception</Filter>
-    </ClCompile>
     <ClCompile Include="Data\BatchPropertyCollection.cpp">
       <Filter>Data</Filter>
     </ClCompile>
@@ -307,53 +157,11 @@
     <ClCompile Include="System\LibraryInit.cpp">
       <Filter>System</Filter>
     </ClCompile>
+    <ClCompile Include="Exception\ExceptionCodes.cpp">
+      <Filter>Exception</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
-    <ClInclude Include="Exception\ApplicationException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ArgumentOutOfRangeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ClassNotFoundException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ConfigurationException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ConfigurationLoadFailedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ConfigurationSaveFailedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DateTimeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DecryptionException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DirectoryNotFoundException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DivideByZeroException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DomainException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DuplicateDirectoryException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DuplicateFileException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\DuplicateObjectException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\EncryptionException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
     <ClInclude Include="Exception\Exception.h">
       <Filter>Exception</Filter>
     </ClInclude>
@@ -360,111 +168,6 @@
     <ClInclude Include="Exception\ExceptionDefs.h">
       <Filter>Exception</Filter>
     </ClInclude>
-    <ClInclude Include="Exception\FileIoException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\FileNotFoundException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\GridDensityException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\IndexOutOfRangeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidArgumentException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidCastException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidMimeTypeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidOperationException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidPropertyTypeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\InvalidStreamHeaderException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\IoException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\LengthException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\LogicException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\NotFiniteNumberException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\NotImplementedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\NullArgumentException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\NullPropertyValueException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\NullReferenceException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ObjectNotFoundException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\OutOfMemoryException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\OutOfRangeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\OverflowException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\PlatformNotSupportedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ResourcesException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ResourcesLoadFailedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ResourceTagNotFoundException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\RuntimeException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\StreamIoException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\SystemException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\TemporaryFileNotAvailableException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\ThirdPartyException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\UnclassifiedException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\UnderflowException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\XmlException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
-    <ClInclude Include="Exception\XmlParserException.h">
-      <Filter>Exception</Filter>
-    </ClInclude>
     <ClInclude Include="Data\BatchPropertyCollection.h">
       <Filter>Data</Filter>
     </ClInclude>
@@ -656,6 +359,9 @@
     <ClInclude Include="System\LibraryInit.h">
       <Filter>System</Filter>
     </ClInclude>
+    <ClInclude Include="Exception\ExceptionCodes.h">
+      <Filter>Exception</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Foundation.rc" />

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/FoundationBuild.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/FoundationBuild.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/FoundationBuild.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -37,57 +37,8 @@
 #include "Data/LinuxNumericalConstants.cpp"
 #endif
 
-#include "Exception/ApplicationException.cpp"
-#include "Exception/ArgumentOutOfRangeException.cpp"
-#include "Exception/ClassNotFoundException.cpp"
-#include "Exception/ConfigurationException.cpp"
-#include "Exception/ConfigurationLoadFailedException.cpp"
-#include "Exception/ConfigurationSaveFailedException.cpp"
-#include "Exception/DateTimeException.cpp"
-#include "Exception/DecryptionException.cpp"
-#include "Exception/DirectoryNotFoundException.cpp"
-#include "Exception/DivideByZeroException.cpp"
-#include "Exception/DomainException.cpp"
-#include "Exception/DuplicateDirectoryException.cpp"
-#include "Exception/DuplicateFileException.cpp"
-#include "Exception/DuplicateObjectException.cpp"
-#include "Exception/EncryptionException.cpp"
 #include "Exception/Exception.cpp"
-#include "Exception/FileIoException.cpp"
-#include "Exception/FileNotFoundException.cpp"
-#include "Exception/GridDensityException.cpp"
-#include "Exception/IndexOutOfRangeException.cpp"
-#include "Exception/InvalidArgumentException.cpp"
-#include "Exception/InvalidCastException.cpp"
-#include "Exception/InvalidMimeTypeException.cpp"
-#include "Exception/InvalidOperationException.cpp"
-#include "Exception/InvalidPropertyTypeException.cpp"
-#include "Exception/InvalidStreamHeaderException.cpp"
-#include "Exception/IoException.cpp"
-#include "Exception/LengthException.cpp"
-#include "Exception/LogicException.cpp"
-#include "Exception/NotFiniteNumberException.cpp"
-#include "Exception/NotImplementedException.cpp"
-#include "Exception/NullArgumentException.cpp"
-#include "Exception/NullPropertyValueException.cpp"
-#include "Exception/NullReferenceException.cpp"
-#include "Exception/ObjectNotFoundException.cpp"
-#include "Exception/OutOfMemoryException.cpp"
-#include "Exception/OutOfRangeException.cpp"
-#include "Exception/OverflowException.cpp"
-#include "Exception/PlatformNotSupportedException.cpp"
-#include "Exception/ResourcesException.cpp"
-#include "Exception/ResourcesLoadFailedException.cpp"
-#include "Exception/ResourceTagNotFoundException.cpp"
-#include "Exception/RuntimeException.cpp"
-#include "Exception/StreamIoException.cpp"
-#include "Exception/SystemException.cpp"
-#include "Exception/TemporaryFileNotAvailableException.cpp"
-#include "Exception/ThirdPartyException.cpp"
-#include "Exception/UnclassifiedException.cpp"
-#include "Exception/UnderflowException.cpp"
-#include "Exception/XmlException.cpp"
-#include "Exception/XmlParserException.cpp"
+#include "Exception/ExceptionCodes.cpp"
 
 #include "System/AceStreamHelper.cpp"
 #include "System/ByteSourceFileImpl.cpp"

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceFileImpl.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceFileImpl.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceFileImpl.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -66,7 +66,7 @@
 
     if (bytesRead < 0)
     {
-        throw new MgFileIoException(L"ByteSourceFileImpl.Read",
+        throw new MgException(MgExceptionCodes::MgFileIoException, L"ByteSourceFileImpl.Read",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -95,7 +95,7 @@
 {
     if (m_temporary == false)
     {
-        throw new MgInvalidOperationException(L"ByteSourceFileImpl.Rename",
+        throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"ByteSourceFileImpl.Rename",
             __LINE__,__WFILE__, NULL, L"", NULL);
     }
 
@@ -123,13 +123,13 @@
         if(errno == ENOENT)
         {
             MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-            throw new MgFileNotFoundException(L"ByteSourceFileImpl.LoadFile",
+            throw new MgException(MgExceptionCodes::MgFileNotFoundException, L"ByteSourceFileImpl.LoadFile",
                 __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
         }
         else
         {
             MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-            throw new MgFileIoException(L"ByteSourceFileImpl.LoadFile",
+            throw new MgException(MgExceptionCodes::MgFileIoException, L"ByteSourceFileImpl.LoadFile",
                 __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
         }
     }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceMemoryImpl.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceMemoryImpl.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceMemoryImpl.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -31,7 +31,7 @@
 
     if(m_data == NULL)
     {
-        throw new MgOutOfMemoryException(L"ByteSourceMemoryImpl.ByteSourceMemoryImpl",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"ByteSourceMemoryImpl.ByteSourceMemoryImpl",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceSocketStreamImpl.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceSocketStreamImpl.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceSocketStreamImpl.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -132,7 +132,7 @@
 
         if (stat != MgStreamHelper::mssDone)
         {
-            throw new MgStreamIoException(L"ByteSourceSocketStreamImpl.Read",
+            throw new MgException(MgExceptionCodes::MgStreamIoException, L"ByteSourceSocketStreamImpl.Read",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -155,7 +155,7 @@
 
             if (stat != MgStreamHelper::mssDone)
             {
-                throw new MgStreamIoException(L"ByteSourceSocketStreamImpl.Read",
+                throw new MgException(MgExceptionCodes::MgStreamIoException, L"ByteSourceSocketStreamImpl.Read",
                     __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
@@ -196,6 +196,6 @@
 
 void ByteSourceSocketStreamImpl::Rewind()
 {
-    throw new MgInvalidOperationException(L"ByteSourceSocketStreamImpl.Rewind",
+    throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"ByteSourceSocketStreamImpl.Rewind",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceStreamImpl.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceStreamImpl.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ByteSourceStreamImpl.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -64,7 +64,7 @@
 
     if (bytesReceived == -1)
     {
-        throw new MgStreamIoException(L"ByteSourceMgStreamImpl.Read",
+        throw new MgException(MgExceptionCodes::MgStreamIoException, L"ByteSourceMgStreamImpl.Read",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -86,6 +86,6 @@
 
 void ByteSourceMgStreamImpl::Rewind()
 {
-    throw new MgInvalidOperationException(L"ByteSourceMgStreamImpl.Rewind",
+    throw new MgException(MgExceptionCodes::MgInvalidOperationException, L"ByteSourceMgStreamImpl.Rewind",
         __LINE__, __WFILE__, NULL, L"", NULL);
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ClassFactory.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ClassFactory.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ClassFactory.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -57,7 +57,7 @@
     ClassCreatorFunc func = m_classCreators[classId];
     if (NULL == func)
     {
-        throw new MgClassNotFoundException(L"MgClassFactory.CreateMgObject", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgClassNotFoundException, L"MgClassFactory.CreateMgObject", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     MgObject* obj = (*func)();
@@ -69,7 +69,7 @@
 {
     if (0 >= classId || NULL == creator)
     {
-        throw new MgInvalidArgumentException(L"MgClassFactory.RegisterClass", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgClassFactory.RegisterClass", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     m_classCreators[classId] = creator;
@@ -81,9 +81,6 @@
 
 static bool initStatic = InitializeStaticData();
 
-#define EXCEPTION_CLASS_CREATOR(className) \
-    fact->Register(Foundation_Exception_##className, className::CreateObject);
-
 bool InitializeStaticData()
 {
     MgClassFactory* fact = MgClassFactory::GetInstance();
@@ -98,52 +95,7 @@
     fact->Register(Foundation_Property_StringProperty,MgStringProperty::CreateObject);
     fact->Register(Foundation_Property_PropertyDefinition,MgPropertyDefinition::CreateObject);
 
-    EXCEPTION_CLASS_CREATOR(MgArgumentOutOfRangeException)
-    EXCEPTION_CLASS_CREATOR(MgClassNotFoundException)
-    EXCEPTION_CLASS_CREATOR(MgConfigurationException)
-    EXCEPTION_CLASS_CREATOR(MgConfigurationLoadFailedException)
-    EXCEPTION_CLASS_CREATOR(MgConfigurationSaveFailedException)
-    EXCEPTION_CLASS_CREATOR(MgDateTimeException)
-    EXCEPTION_CLASS_CREATOR(MgDecryptionException)
-    EXCEPTION_CLASS_CREATOR(MgDirectoryNotFoundException)
-    EXCEPTION_CLASS_CREATOR(MgDivideByZeroException)
-    EXCEPTION_CLASS_CREATOR(MgDomainException)
-    EXCEPTION_CLASS_CREATOR(MgDuplicateDirectoryException)
-    EXCEPTION_CLASS_CREATOR(MgDuplicateFileException)
-    EXCEPTION_CLASS_CREATOR(MgDuplicateObjectException)
-    EXCEPTION_CLASS_CREATOR(MgEncryptionException)
-    EXCEPTION_CLASS_CREATOR(MgFileIoException)
-    EXCEPTION_CLASS_CREATOR(MgFileNotFoundException)
-    EXCEPTION_CLASS_CREATOR(MgIndexOutOfRangeException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidArgumentException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidCastException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidMimeTypeException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidOperationException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidPropertyTypeException)
-    EXCEPTION_CLASS_CREATOR(MgInvalidStreamHeaderException)
-    EXCEPTION_CLASS_CREATOR(MgIoException)
-    EXCEPTION_CLASS_CREATOR(MgLengthException)
-    EXCEPTION_CLASS_CREATOR(MgLogicException)
-    EXCEPTION_CLASS_CREATOR(MgNotFiniteNumberException)
-    EXCEPTION_CLASS_CREATOR(MgNotImplementedException)
-    EXCEPTION_CLASS_CREATOR(MgNullArgumentException)
-    EXCEPTION_CLASS_CREATOR(MgNullPropertyValueException)
-    EXCEPTION_CLASS_CREATOR(MgNullReferenceException)
-    EXCEPTION_CLASS_CREATOR(MgObjectNotFoundException)
-    EXCEPTION_CLASS_CREATOR(MgOutOfMemoryException)
-    EXCEPTION_CLASS_CREATOR(MgOutOfRangeException)
-    EXCEPTION_CLASS_CREATOR(MgOverflowException)
-    EXCEPTION_CLASS_CREATOR(MgPlatformNotSupportedException)
-    EXCEPTION_CLASS_CREATOR(MgResourcesException)
-    EXCEPTION_CLASS_CREATOR(MgResourcesLoadFailedException)
-    EXCEPTION_CLASS_CREATOR(MgResourceTagNotFoundException)
-    EXCEPTION_CLASS_CREATOR(MgRuntimeException)
-    EXCEPTION_CLASS_CREATOR(MgStreamIoException)
-    EXCEPTION_CLASS_CREATOR(MgTemporaryFileNotAvailableException)
-    EXCEPTION_CLASS_CREATOR(MgUnclassifiedException)
-    EXCEPTION_CLASS_CREATOR(MgUnderflowException)
-    EXCEPTION_CLASS_CREATOR(MgXmlException)
-    EXCEPTION_CLASS_CREATOR(MgXmlParserException)
+    fact->Register(Foundation_Exception_MgException, MgException::CreateObject);
 
     return true;
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/Configuration.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/Configuration.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/Configuration.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -108,7 +108,7 @@
                 MgStringCollection arguments;
                 arguments.Add(fileName);
 
-                throw new MgConfigurationLoadFailedException(
+                throw new MgException(MgExceptionCodes::MgConfigurationLoadFailedException, 
                     L"MgConfiguration.LoadConfiguration",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
             }
@@ -154,7 +154,8 @@
         MgStringCollection arguments;
         arguments.Add(fileName);
 
-        throw new MgConfigurationSaveFailedException(
+        throw new MgException(
+            L"MgConfigurationSaveFailedException",
             L"MgConfiguration.SaveConfiguration",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
@@ -440,7 +441,7 @@
             else
             {
                 // Everything in the ini file is treated as a string so we should not be here
-                throw new MgInvalidPropertyTypeException(
+                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException,
                     L"MgConfiguration::GetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
             }
 
@@ -517,7 +518,7 @@
             else
             {
                 // Everything in the ini file is treated as a string so we should not be here
-                throw new MgInvalidPropertyTypeException(
+                throw new MgException(MgExceptionCodes::MgInvalidPropertyTypeException,
                     L"MgConfiguration.SetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
             }
         }
@@ -528,7 +529,7 @@
         MgStringCollection arguments;
         arguments.Add(section);
 
-        throw new MgConfigurationException(L"MgConfiguration.SetProperties",
+        throw new MgException(MgExceptionCodes::MgConfigurationException, L"MgConfiguration.SetProperties",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -602,7 +603,7 @@
         MgStringCollection arguments;
         arguments.Add(section);
 
-        throw new MgConfigurationException(L"MgConfiguration.RemoveProperties",
+        throw new MgException(MgExceptionCodes::MgConfigurationException, L"MgConfiguration.RemoveProperties",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -702,7 +703,7 @@
 
             if (0.0 == strLength)
             {
-                throw new MgConfigurationException(
+                throw new MgException(MgExceptionCodes::MgConfigurationException, 
                     L"MgConfiguration.ValidateValue",
                     __LINE__, __WFILE__, &whatArguments,
                     L"MgConfigurationPropertyValueIsNotSpecified", &whyArguments);
@@ -717,7 +718,8 @@
 
                 if (minimumValue == maximumValue)
                 {
-                    throw new MgConfigurationException(
+                    throw new MgException(
+                        L"MgConfigurationException",
                         L"MgConfiguration.ValidateValue",
                         __LINE__, __WFILE__, &whatArguments,
                         L"MgConfigurationPropertyLengthIsInvalid", &whyArguments);
@@ -726,7 +728,8 @@
                 {
                     whyArguments.Add(maximumValue);
 
-                    throw new MgConfigurationException(
+                    throw new MgException(
+                        L"MgConfigurationException",
                         L"MgConfiguration.ValidateValue",
                         __LINE__, __WFILE__, &whatArguments,
                         L"MgConfigurationPropertyLengthIsOutOfRange", &whyArguments);
@@ -746,7 +749,7 @@
             whyArguments.Add(value);
             whyArguments.Add(validationInfo->m_reservedCharacters);
 
-            throw new MgConfigurationException(
+            throw new MgException(MgExceptionCodes::MgConfigurationException, 
                 L"MgConfiguration.ValidateValue",
                 __LINE__, __WFILE__, &whatArguments,
                 L"MgConfigurationPropertyValueContainsReservedCharacters", &whyArguments);
@@ -769,7 +772,8 @@
             whyArguments.Add(validationInfo->GetMinimumValue());
             whyArguments.Add(validationInfo->GetMaximumValue());
 
-            throw new MgConfigurationException(
+            throw new MgException(
+                L"MgConfigurationException",
                 L"MgConfiguration.ValidateValue",
                 __LINE__, __WFILE__, &whatArguments,
                 L"MgConfigurationPropertyValueIsOutOfRange", &whyArguments);

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/ConfigurationHeap.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/ConfigurationHeap.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/ConfigurationHeap.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -37,7 +37,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgInvalidArgumentException(L"MgConfigImpExp.ImportConfig",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgConfigImpExp.ImportConfig",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -144,7 +144,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgInvalidArgumentException(L"MgConfigImpExp.ImportConfig",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgConfigImpExp.ImportConfig",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
 
@@ -361,7 +361,7 @@
         section = new MgConfigurationSection(sectionPath);
         if (section == NULL)
         {
-            throw new MgOutOfMemoryException(L"MgConfigurationHeap.AddSection", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgConfigurationHeap.AddSection", __LINE__, __WFILE__, NULL, L"", NULL);
         }
         m_sectionCollection->Add(section);
     }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/Disposable.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/Disposable.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/Disposable.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -60,7 +60,7 @@
         ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) ************ Error in MgDisposable::Addref(). Class Name: %W. Called with Reference Count = 0.\n"), GetClassName().c_str()));
 #endif
 
-        throw new MgLogicException(L"MgDisposable.AddRef", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgLogicException, L"MgDisposable.AddRef", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     return ++m_refCount;
@@ -91,7 +91,7 @@
             ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) ************ Error in MgDisposable::Release(). Class Name: %W. Called with Reference Count <= 0.\n"), GetClassName().c_str()));
 #endif
 
-            throw new MgLogicException(L"MgDisposable.Release", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgLogicException, L"MgDisposable.Release", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         --m_refCount;

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/DisposableCollection.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/DisposableCollection.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/DisposableCollection.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -78,7 +78,7 @@
 MgDisposable* MgDisposableCollection::GetItem(INT32 index) const
 {
     if (index >= m_size || index < 0)
-        throw new MgIndexOutOfRangeException(L"GetItem",__LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"GetItem",__LINE__, __WFILE__, NULL, L"", NULL);
     // EXC::Create(Exception::NLSGetMessage(_NLSID(_5_INDEXOUTOFBOUNDS)));
 
     return SAFE_ADDREF(m_list[index]);
@@ -101,7 +101,7 @@
         m_list[index] = SAFE_ADDREF(value);
     }
     else
-        throw new MgIndexOutOfRangeException(L"SetItem", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"SetItem", __LINE__, __WFILE__, NULL, L"", NULL);
     // EXC::Create(GisException::NLSGetMessage(GIS_NLSID(GIS_5_INDEXOUTOFBOUNDS)));
 }
 
@@ -147,7 +147,7 @@
         m_size++;
     }
     else
-        throw new MgIndexOutOfRangeException(L"Insert", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"Insert", __LINE__, __WFILE__, NULL, L"", NULL);
     // EXC::Create(GisException::NLSGetMessage(GIS_NLSID(GIS_5_INDEXOUTOFBOUNDS)));
 }
 
@@ -221,7 +221,7 @@
         m_list[--m_size] = NULL;
     }
     else
-        throw new MgIndexOutOfRangeException(L"RemoveAt", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgIndexOutOfRangeException, L"RemoveAt", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 
@@ -281,7 +281,7 @@
 /// </returns>
 MgByteReader* MgDisposableCollection::ToXml()
 {
-    throw new MgNotImplementedException(L"MgDisposableCollection.ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgDisposableCollection.ToXml", __LINE__, __WFILE__, NULL, L"", NULL);
 
     return NULL;
 }
@@ -295,7 +295,7 @@
 /// <returns>Returns nothing.</returns>
 void MgDisposableCollection::Serialize(MgStream* stream)
 {
-    throw new MgNotImplementedException(L"MgDisposableCollection.Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgDisposableCollection.Serialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 
@@ -307,7 +307,7 @@
 /// <returns>Returns nothing.</returns>
 void MgDisposableCollection::Deserialize(MgStream* stream)
 {
-    throw new MgNotImplementedException(L"MgDisposableCollection.Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
+    throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgDisposableCollection.Deserialize", __LINE__, __WFILE__, NULL, L"", NULL);
 }
 
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/FileUtil.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/FileUtil.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/FileUtil.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -68,7 +68,7 @@
         arguments.Add(L"1");
         arguments.Add(MgResources::BlankArgument);
 
-        throw new MgInvalidArgumentException(
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, 
             L"MgFileUtil.ValidateFileName",
             __LINE__, __WFILE__, &arguments, L"MgStringEmpty", NULL);
     }
@@ -82,7 +82,7 @@
         MgStringCollection whyArguments;
         whyArguments.Add(sm_reservedCharacters);
 
-        throw new MgInvalidArgumentException(
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, 
             L"MgFileUtil.ValidateFileName",
             __LINE__, __WFILE__, &arguments, L"MgStringContainsReservedCharacters", &whyArguments);
     }
@@ -93,7 +93,7 @@
         arguments.Add(L"1");
         arguments.Add(fileName);
 
-        throw new MgInvalidArgumentException(
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, 
             L"MgFileUtil.ValidateFileName",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
@@ -231,7 +231,7 @@
         MgStringCollection arguments;
         arguments.Add(pathname);
 
-        throw new MgFileIoException(L"MgFileUtil.GetFileStatus",
+        throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.GetFileStatus",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -384,7 +384,7 @@
             MgStringCollection arguments;
             arguments.Add(path);
 
-            throw new MgDuplicateDirectoryException(L"MgFileUtil.CreateDirectory",
+            throw new MgException(MgExceptionCodes::MgDuplicateDirectoryException, L"MgFileUtil.CreateDirectory",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
@@ -450,7 +450,7 @@
             case EACCES:
             default:
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgFileUtil.MkDir",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.MkDir",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
                 break;
         }
@@ -497,7 +497,7 @@
             case EACCES:
             default:
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgFileUtil.DeleteDirectory",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.DeleteDirectory",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
                 break;
         }
@@ -534,7 +534,7 @@
             MgStringCollection arguments;
             arguments.Add(path);
 
-            throw new MgDirectoryNotFoundException(L"MgFileUtil.CleanDirectory",
+            throw new MgException(MgExceptionCodes::MgDirectoryNotFoundException, L"MgFileUtil.CleanDirectory",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
@@ -623,7 +623,7 @@
         MgStringCollection arguments;
         arguments.Add(path);
 
-        throw new MgFileIoException(L"MgFileUtil.ChangeDirectory",
+        throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.ChangeDirectory",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -632,7 +632,7 @@
         MgStringCollection arguments;
         arguments.Add(path);
 
-        throw new MgDirectoryNotFoundException(L"MgFileUtil.ChangeDirectory",
+        throw new MgException(MgExceptionCodes::MgDirectoryNotFoundException, L"MgFileUtil.ChangeDirectory",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -667,7 +667,7 @@
         MgStringCollection arguments;
         arguments.Add(path);
 
-        throw new MgDirectoryNotFoundException(L"MgFileUtil.GetFilesInDirectory",
+        throw new MgException(MgExceptionCodes::MgDirectoryNotFoundException, L"MgFileUtil.GetFilesInDirectory",
             __LINE__, __WFILE__, &arguments, L"", NULL);
 
         return false;
@@ -771,7 +771,7 @@
             MgStringCollection arguments;
             arguments.Add(pathname);
 
-            throw new MgFileNotFoundException(L"MgFileUtil.DeleteFile",
+            throw new MgException(MgExceptionCodes::MgFileNotFoundException, L"MgFileUtil.DeleteFile",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
@@ -792,7 +792,7 @@
             case EACCES:
             default:
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgFileUtil.DeleteFile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.DeleteFile",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
                 break;
         }
@@ -827,7 +827,7 @@
         MgStringCollection arguments;
         arguments.Add(destPathname);
 
-        throw new MgDuplicateFileException(L"MgFileUtil.CopyFile",
+        throw new MgException(MgExceptionCodes::MgDuplicateFileException, L"MgFileUtil.CopyFile",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -840,7 +840,7 @@
         MgStringCollection arguments;
         arguments.Add(destPathname);
 
-        throw new MgDuplicateFileException(L"MgFileUtil.CopyFile",
+        throw new MgException(MgExceptionCodes::MgDuplicateFileException, L"MgFileUtil.CopyFile",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -913,7 +913,7 @@
         MgStringCollection arguments;
         arguments.Add(newPathname);
 
-        throw new MgDuplicateFileException(L"MgFileUtil.RenameFile",
+        throw new MgException(MgExceptionCodes::MgDuplicateFileException, L"MgFileUtil.RenameFile",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -928,7 +928,7 @@
         MgStringCollection arguments;
         arguments.Add(newPathname);
 
-        throw new MgDuplicateFileException(L"MgFileUtil.RenameFile",
+        throw new MgException(MgExceptionCodes::MgDuplicateFileException, L"MgFileUtil.RenameFile",
             __LINE__, __WFILE__, &arguments, L"", NULL);
     }
 
@@ -947,7 +947,7 @@
         {
             case ENOENT: // File or path specified by oldname not found.
                 arguments.Add(oldPathname);
-                throw new MgFileNotFoundException(L"MgFileUtil.RenameFile",
+                throw new MgException(MgExceptionCodes::MgFileNotFoundException, L"MgFileUtil.RenameFile",
                     __LINE__, __WFILE__, &arguments, L"", NULL);
                 break;
 
@@ -962,7 +962,7 @@
                 MgStringCollection whyArguments;
                 whyArguments.Add(L"");
 
-                throw new MgInvalidArgumentException(L"MgFileUtil.RenameFile",
+                throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgFileUtil.RenameFile",
                     __LINE__, __WFILE__, &arguments, L"MgStringContainsReservedCharacters", &whyArguments);
             }
                 break;
@@ -974,7 +974,7 @@
             default:
                 arguments.Add(newPathname);
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgFileUtil.RenameFile",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgFileUtil.RenameFile",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
                 break;
         }
@@ -1100,7 +1100,7 @@
 
         if (0 == tempFileName)
         {
-            throw new MgTemporaryFileNotAvailableException(
+            throw new MgException(MgExceptionCodes::MgTemporaryFileNotAvailableException,
                 L"MgFileUtil.GenerateTempFileName", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/GuardDisposable.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/GuardDisposable.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/GuardDisposable.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -40,7 +40,7 @@
         ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) ************ Error in MgGuardDisposable::Addref(). Class Name: %W. Called with Reference Count = 0.\n"), GetClassName().c_str()));
 #endif
 
-        throw new MgLogicException(L"MgGuardDisposable.AddRef", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgLogicException, L"MgGuardDisposable.AddRef", __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
     return ++m_refCount;
@@ -61,7 +61,7 @@
             ACE_DEBUG((LM_DEBUG, ACE_TEXT("(%t) ************ Error in MgGuardDisposable::Release(). Class Name: %W. Called with Reference Count <= 0.\n"), GetClassName().c_str()));
 #endif
 
-            throw new MgLogicException(L"MgGuardDisposable.Release", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgLogicException, L"MgGuardDisposable.Release", __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
         --m_refCount;

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/MemoryStreamHelper.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/MemoryStreamHelper.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/MemoryStreamHelper.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -29,7 +29,7 @@
 {
     m_curPtrRead = m_curPtrWrite = m_buffer = new INT8[m_blockSize];
     if(m_buffer == NULL)
-        throw new MgOutOfMemoryException(L"MgMemoryStreamHelper.MgMemoryStreamHelper", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgMemoryStreamHelper.MgMemoryStreamHelper", __LINE__, __WFILE__, NULL, L"", NULL);
 
     m_endBuffer = m_buffer + m_blockSize;
     m_blockCount = 1;
@@ -255,7 +255,7 @@
         //allocate the new block
         INT8* newBlock = new INT8[newBlockCount * m_blockSize];
         if(!newBlock)
-            throw new MgOutOfMemoryException(L"MgMemoryStreamHelper.WriteBytes", __LINE__, __WFILE__, NULL, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgMemoryStreamHelper.WriteBytes", __LINE__, __WFILE__, NULL, L"", NULL);
 
         //initialize new block with current stream content
         size_t writePos = m_curPtrWrite - m_buffer;

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/Resources.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/Resources.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/Resources.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -311,7 +311,7 @@
             arguments.Add(locale.c_str());
             arguments.Add(MgResources::InvalidExtendedLocale);
 
-            throw new MgResourcesLoadFailedException(L"MgResources.LoadResources",
+            throw new MgException(MgExceptionCodes::MgResourcesLoadFailedException, L"MgResources.LoadResources",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
     }
@@ -380,7 +380,7 @@
             arguments.Add(locale.c_str());
             arguments.Add(sCause);
 
-            throw new MgResourcesLoadFailedException(L"MgResources.LoadResources",
+            throw new MgException(MgExceptionCodes::MgResourcesLoadFailedException, L"MgResources.LoadResources",
                 __LINE__, __WFILE__, &arguments, L"", NULL);
         }
     }
@@ -523,7 +523,7 @@
         arguments.Add(L"2");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgResources.FormatMessage",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgResources.FormatMessage",
             __LINE__, __WFILE__, &arguments, L"MgArgumentsMismatch", NULL);
     }
 
@@ -620,7 +620,7 @@
                         STRING sCause = MgResources::FormatMessage(MgResources::NoParentSectionForResourceDirective, &args2);
 
                         arguments.Add(sCause);
-                        throw new MgResourcesLoadFailedException(L"MgResources.ParseFile", __LINE__, __WFILE__, NULL, L"", NULL);
+                        throw new MgException(MgExceptionCodes::MgResourcesLoadFailedException, L"MgResources.ParseFile", __LINE__, __WFILE__, NULL, L"", NULL);
                     }
                 }
             }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamHelper.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamHelper.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamHelper.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -121,7 +121,7 @@
     }
     else
     {
-        throw new MgStreamIoException(L"MgStreamHelper.GetString", __LINE__, __WFILE__, NULL, L"MgInvalidTCPProtocol", NULL);
+        throw new MgException(MgExceptionCodes::MgStreamIoException, L"MgStreamHelper.GetString", __LINE__, __WFILE__, NULL, L"MgInvalidTCPProtocol", NULL);
         stat = MgStreamHelper::mssError;
     }
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamParser.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamParser.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamParser.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -82,12 +82,12 @@
         {
             // The stream may contain garbage when the connection is dropped for
             // some reason. This exception may be ignored to reduce noise.
-            throw new MgInvalidStreamHeaderException(L"MgStreamParser.ParseStreamHeader",
+            throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamParser.ParseStreamHeader",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
         else if (MgStreamParser::StreamVersion != pStreamData->GetVersion())
         {
-            throw new MgStreamIoException(L"MgStreamParser.ParseStreamHeader",
+            throw new MgException(MgExceptionCodes::MgStreamIoException, L"MgStreamParser.ParseStreamHeader",
                 __LINE__, __WFILE__, NULL, L"MgInvalidTCPProtocol", NULL);
         }
     }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamReader.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamReader.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamReader.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -77,7 +77,7 @@
 void MgStreamReader::GetOperationHeader(MgOperationPacket& operPacket)
 {
     MG_TRY()
-        throw new MgNotImplementedException(L"MgStreamReader.GetOperationHeader", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgStreamReader.GetOperationHeader", __LINE__, __WFILE__, NULL, L"", NULL);
     MG_CATCH_AND_THROW(L"MgStreamReader.GetOperationHeader")
 }
 
@@ -92,7 +92,7 @@
 void MgStreamReader::GetOperationResponseHeader(MgOperationResponsePacket& mop)
 {
     MG_TRY()
-        throw new MgNotImplementedException(L"MgStreamReader.GetOperationResponseHeader", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgStreamReader.GetOperationResponseHeader", __LINE__, __WFILE__, NULL, L"", NULL);
     MG_CATCH_AND_THROW(L"MgStreamReader.GetOperationResponseHeader")
 }
 
@@ -153,7 +153,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matString)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetString",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetString",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -179,7 +179,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matINT64)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetInt64",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetInt64",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -205,7 +205,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matINT32)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetInt32",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetInt32",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -233,7 +233,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matINT16)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetInt16",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetInt16",
         __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -262,7 +262,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matFloat)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetSingle",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetSingle",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -288,7 +288,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matDouble)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetDouble",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetDouble",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -314,7 +314,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matINT8)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetBoolean",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetBoolean",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -342,7 +342,7 @@
 
     if (map.m_ArgumentType != (UINT32)MgPacketParser::matINT8)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetByte",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetByte",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -373,7 +373,7 @@
 
     if (bsap.m_ArgumentType != (UINT32)MgPacketParser::mphArgumentBinaryStream)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetStream",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetStream",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -415,13 +415,13 @@
             if (errno == EEXIST)
             {
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileNotFoundException(L"MgStreamReader.GetStream",
+                throw new MgException(MgExceptionCodes::MgFileNotFoundException, L"MgStreamReader.GetStream",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
             }
             else
             {
                 MG_FILE_IO_EXCEPTION_ADD_ERRNO();
-                throw new MgFileIoException(L"MgStreamReader.GetStream",
+                throw new MgException(MgExceptionCodes::MgFileIoException, L"MgStreamReader.GetStream",
                     __LINE__, __WFILE__, &arguments, L"MgFileIoErrNo", &errNoArgs);
             }
         }
@@ -528,7 +528,7 @@
 
     if ((UINT32)MgPacketParser::matClassId != map.m_ArgumentType)
     {
-        throw new MgInvalidStreamHeaderException(L"MgStreamReader.GetClassId",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetClassId",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -552,7 +552,7 @@
 
     if ( MgStreamParser::mshStreamEnd != dataRead )
     {
-        throw new MgInvalidStreamHeaderException( L"MgStreamReader.GetStreamEnd",
+        throw new MgException(MgExceptionCodes::MgInvalidStreamHeaderException, L"MgStreamReader.GetStreamEnd",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 }

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamWriter.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamWriter.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/StreamWriter.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -73,7 +73,7 @@
     MgStreamHelper::MgStreamStatus stat = MgStreamHelper::mssDone;
 
     MG_TRY()
-        throw new MgNotImplementedException(L"MgStreamWriter.WriteOperationHeader", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgNotImplementedException, L"MgStreamWriter.WriteOperationHeader", __LINE__, __WFILE__, NULL, L"", NULL);
     MG_CATCH_AND_THROW(L"MgStreamWriter.WriteOperationHeader")
 
     return stat;

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -186,7 +186,7 @@
         arguments.Add(L"1");
         arguments.Add(wcStr);
 
-        throw new MgInvalidArgumentException(L"MgUtil.WideCharToMultiByte",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgUtil.WideCharToMultiByte",
             __LINE__, __WFILE__, &arguments, L"MgInvalidStringConversion", NULL);
     }
 }
@@ -225,7 +225,7 @@
         arguments.Add(L"1");
         arguments.Add((NULL == wcBuf) ? L"" : wcBuf);
 
-        throw new MgInvalidArgumentException(L"MgUtil.WideCharToMultiByte",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgUtil.WideCharToMultiByte",
             __LINE__, __WFILE__, &arguments, L"MgInvalidStringConversion", NULL);
     }
 
@@ -291,7 +291,7 @@
         arguments.Add(L"1");
         arguments.Add(L"const string&");
 
-        throw new MgInvalidArgumentException(L"MgUtil.WideCharToMultiByte",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgUtil.WideCharToMultiByte",
             __LINE__, __WFILE__, &arguments, L"MgInvalidStringConversion", NULL);
     }
 }
@@ -330,7 +330,7 @@
         arguments.Add(L"1");
         arguments.Add(L"const char*");
 
-        throw new MgInvalidArgumentException(L"MgUtil.WideCharToMultiByte",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgUtil.WideCharToMultiByte",
             __LINE__, __WFILE__, &arguments, L"MgInvalidStringConversion", NULL);
     }
 
@@ -489,7 +489,7 @@
             MgStringCollection whyArguments;
             whyArguments.Add(reservedChars);
 
-            throw new MgInvalidArgumentException(L"CheckReseveredCharater",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"CheckReseveredCharater",
                 __LINE__,  __WFILE__, &arguments, L"MgStringContainsReservedCharacters", &whyArguments);
         }
     }
@@ -535,7 +535,7 @@
             arguments.Add(L"1");
             arguments.Add(str);
 
-            throw new MgInvalidArgumentException(L"MgUtil.CheckBeginEnd",
+            throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgUtil.CheckBeginEnd",
                 __LINE__,  __WFILE__, &arguments, L"MgInvalidStringTrim", NULL);
         }
     }
@@ -757,7 +757,7 @@
 
     if (0 == str)
     {
-        throw new MgOutOfMemoryException(L"MgUtil.GenerateUuid",
+        throw new MgException(MgExceptionCodes::MgOutOfMemoryException, L"MgUtil.GenerateUuid",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -846,7 +846,7 @@
 
     #ifdef _WIN32
 
-        throw new MgPlatformNotSupportedException(L"MgUtil.GetLinuxMemoryStatus", __LINE__, __WFILE__, NULL, L"", NULL);
+        throw new MgException(MgExceptionCodes::MgPlatformNotSupportedException, L"MgUtil.GetLinuxMemoryStatus", __LINE__, __WFILE__, NULL, L"", NULL);
 
     #else
 
@@ -860,7 +860,7 @@
         {
             MgStringCollection arguments;
             arguments.Add(MgUtil::LinuxFilesystemMeminfo);
-            throw new MgFileNotFoundException(L"MgUtil.GetLinuxMemoryStatus", __LINE__, __WFILE__, &arguments, L"", NULL);
+            throw new MgException(MgExceptionCodes::MgFileNotFoundException", L"MgUtil.GetLinuxMemoryStatus", __LINE__, __WFILE__, &arguments, L"", NULL);
         }
 
         /*

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/Util.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -612,8 +612,8 @@
 {                        \
     MgStringCollection args; \
     args.Add(L###pointer); \
-    throw new MgNullReferenceException(methodname, \
-                                       __LINE__, __WFILE__, NULL, L"MgNullPointer", &args); \
+    throw new MgException(MgExceptionCodes::MgNullReferenceException, methodname, \
+        __LINE__, __WFILE__, NULL, L"MgNullPointer", &args); \
 }
 
 #define CHECKARGUMENTNULL(pointer, methodname)      \
@@ -621,8 +621,8 @@
 {                        \
     MgStringCollection args; \
     args.Add(L###pointer); \
-    throw new MgNullArgumentException(methodname, \
-                                       __LINE__, __WFILE__, NULL, L"MgNullArgument", &args); \
+    throw new MgException(MgExceptionCodes::MgNullArgumentException, methodname, \
+        __LINE__, __WFILE__, NULL, L"MgNullArgument", &args); \
 }
 
 #define CHECKARGUMENTEMPTYSTRING(str, methodname)      \
@@ -630,8 +630,8 @@
 {                        \
     MgStringCollection args; \
     args.Add(L###str); \
-    throw new MgInvalidArgumentException(methodname, \
-                                         __LINE__, __WFILE__, NULL, L"MgEmptyStringArgument", &args); \
+    throw new MgException(MgExceptionCodes::MgInvalidArgumentException, methodname, \
+        __LINE__, __WFILE__, NULL, L"MgEmptyStringArgument", &args); \
 }
 
 #define MG_CHECK_RANGE(value, min, max, methodName)                           \
@@ -646,8 +646,8 @@
             MgStringCollection args;                                          \
             args.Add(minStr.str());                                           \
             args.Add(maxStr.str());                                           \
-            args.Add(L###value);                                                \
-            throw new MgArgumentOutOfRangeException(                          \
+            args.Add(L###value);                                              \
+            throw new MgException(MgExceptionCodes::MgArgumentOutOfRangeException,           \
                 methodName, __LINE__, __WFILE__, NULL, L"MgArgumentOutOfRange", &args); \
         }                                                                     \
         else if (value < min)                                                 \

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlDefs.h
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlDefs.h	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlDefs.h	2020-10-21 10:17:49 UTC (rev 9743)
@@ -81,13 +81,13 @@
     {                                                                         \
         MgStringCollection arguments;                                         \
         arguments.Add(X2W(e.getMessage()));                                   \
-        mgException = new MgXmlParserException(methodName, __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments); \
+        mgException = new MgException(L"MgXmlParserException", methodName, __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments); \
     }                                                                         \
     catch (const DOMException& e)                                             \
     {                                                                         \
         MgStringCollection arguments;                                         \
         arguments.Add(X2W(e.msg));                                            \
-        mgException = new MgXmlParserException(methodName, __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments); \
+        mgException = new MgException(L"MgXmlParserException", methodName, __LINE__, __WFILE__, NULL, L"MgFormatInnerExceptionMessage", &arguments); \
                                                                               \
     MG_CATCH(methodName)                                                      \
 

Modified: sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlUtil.cpp
===================================================================
--- sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlUtil.cpp	2020-10-21 08:30:06 UTC (rev 9742)
+++ sandbox/jng/flatten_exceptions/Common/Foundation/System/XmlUtil.cpp	2020-10-21 10:17:49 UTC (rev 9743)
@@ -321,7 +321,7 @@
     CHECKARGUMENTNULL(elementName, L"MgXmlUtil.GetNodeList");
     if (0 == ::strlen(elementName))
     {
-        throw new MgNullArgumentException(L"MgXmlUtil.GetNodeList",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgXmlUtil.GetNodeList",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -346,7 +346,7 @@
         arguments.Add(L"1");
         arguments.Add(buffer);
 
-        throw new MgInvalidArgumentException(L"MgXmlUtil.GetNodeList",
+        throw new MgException(MgExceptionCodes::MgInvalidArgumentException, L"MgXmlUtil.GetNodeList",
             __LINE__, __WFILE__, &arguments, L"MgInvalidNode", NULL);
     }
 
@@ -403,7 +403,7 @@
     CHECKARGUMENTNULL(elementName, L"MgXmlUtil.GetElementNode");
     if (0 == ::strlen(elementName))
     {
-        throw new MgNullArgumentException(L"MgXmlUtil.GetElementNode",
+        throw new MgException(MgExceptionCodes::MgNullArgumentException, L"MgXmlUtil.GetElementNode",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -424,7 +424,7 @@
     }
     else if (required)
     {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementNode",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgXmlUtil.GetElementNode",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else
@@ -479,7 +479,7 @@
 
     if (NULL == elementNode && required)
     {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementNode",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgXmlUtil.GetElementNode",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -530,7 +530,7 @@
     {
         if (required)
         {
-            throw new MgXmlParserException(L"MgXmlUtil.GetElementValue",
+            throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgXmlUtil.GetElementValue",
                 __LINE__, __WFILE__, NULL, L"", NULL);
         }
 
@@ -589,7 +589,7 @@
     }
     else
     {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementValue",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgXmlUtil.GetElementValue",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
 
@@ -640,7 +640,7 @@
 
     if (NULL == textNode)
     {
-        throw new MgXmlParserException(L"MgXmlUtil.SetElementValue",
+        throw new MgException(MgExceptionCodes::MgXmlParserException, L"MgXmlUtil.SetElementValue",
             __LINE__, __WFILE__, NULL, L"", NULL);
     }
     else if (elementValue != X2W(textNode->getNodeValue()))



More information about the mapguide-commits mailing list