[mapguide-commits] r6565 - in sandbox/adsk/vik/Common: CoordinateSystem Foundation Foundation/Data Foundation/Exception Foundation/System Geometry Geometry/CoordinateSystem

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Sat Mar 31 15:37:59 EDT 2012


Author: traianstanev
Date: 2012-03-31 12:37:59 -0700 (Sat, 31 Mar 2012)
New Revision: 6565

Removed:
   sandbox/adsk/vik/Common/Foundation/Data/Byte.cpp
   sandbox/adsk/vik/Common/Foundation/Data/Byte.h
   sandbox/adsk/vik/Common/Foundation/Data/ByteReader.cpp
   sandbox/adsk/vik/Common/Foundation/Data/ByteReader.h
   sandbox/adsk/vik/Common/Foundation/Data/ByteSink.cpp
   sandbox/adsk/vik/Common/Foundation/Data/ByteSink.h
   sandbox/adsk/vik/Common/Foundation/Data/ByteSource.cpp
   sandbox/adsk/vik/Common/Foundation/Data/ByteSource.h
   sandbox/adsk/vik/Common/Foundation/Data/DateTime.cpp
   sandbox/adsk/vik/Common/Foundation/Data/DateTime.h
   sandbox/adsk/vik/Common/Foundation/Data/FeaturePropertyType.h
   sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.cpp
   sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.h
   sandbox/adsk/vik/Common/Foundation/Data/PropertyType.h
   sandbox/adsk/vik/Common/Foundation/System/BinaryStreamArgumentPacket.h
   sandbox/adsk/vik/Common/Foundation/System/CollectionPacket.h
   sandbox/adsk/vik/Common/Foundation/System/Configuration.cpp
   sandbox/adsk/vik/Common/Foundation/System/Configuration.h
   sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.cpp
   sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.h
   sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.cpp
   sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.h
   sandbox/adsk/vik/Common/Foundation/System/LinuxMemoryStatus.h
   sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.cpp
   sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.h
   sandbox/adsk/vik/Common/Foundation/System/Resources.cpp
   sandbox/adsk/vik/Common/Foundation/System/Resources.h
   sandbox/adsk/vik/Common/Foundation/System/Serializable.cpp
   sandbox/adsk/vik/Common/Foundation/System/Serializable.h
   sandbox/adsk/vik/Common/Foundation/System/SetLocale.cpp
   sandbox/adsk/vik/Common/Foundation/System/SetLocale.h
   sandbox/adsk/vik/Common/Foundation/System/XmlDefs.h
   sandbox/adsk/vik/Common/Foundation/System/XmlUtil.cpp
   sandbox/adsk/vik/Common/Foundation/System/XmlUtil.h
Modified:
   sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.cpp
   sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.h
   sandbox/adsk/vik/Common/CoordinateSystem/CoordSysUtil.h
   sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.cpp
   sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.h
   sandbox/adsk/vik/Common/Foundation/Data/Collection.h
   sandbox/adsk/vik/Common/Foundation/Data/NamedCollection.h
   sandbox/adsk/vik/Common/Foundation/Data/Property.h
   sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.cpp
   sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.h
   sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.cpp
   sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.h
   sandbox/adsk/vik/Common/Foundation/Data/StringCollection.cpp
   sandbox/adsk/vik/Common/Foundation/Data/StringCollection.h
   sandbox/adsk/vik/Common/Foundation/Data/StringProperty.cpp
   sandbox/adsk/vik/Common/Foundation/Data/StringProperty.h
   sandbox/adsk/vik/Common/Foundation/Exception/Exception.cpp
   sandbox/adsk/vik/Common/Foundation/Exception/Exception.h
   sandbox/adsk/vik/Common/Foundation/Foundation.h
   sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj
   sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj.filters
   sandbox/adsk/vik/Common/Foundation/FoundationDefs.h
   sandbox/adsk/vik/Common/Foundation/System/DisposableCollection.h
   sandbox/adsk/vik/Common/Foundation/System/FileUtil.cpp
   sandbox/adsk/vik/Common/Foundation/System/FileUtil.h
   sandbox/adsk/vik/Common/Foundation/System/NamedSerializable.h
   sandbox/adsk/vik/Common/Foundation/System/Util.cpp
   sandbox/adsk/vik/Common/Foundation/System/Util.h
   sandbox/adsk/vik/Common/Geometry/ArcSegment.h
   sandbox/adsk/vik/Common/Geometry/CloseInstruction.h
   sandbox/adsk/vik/Common/Geometry/Coordinate.h
   sandbox/adsk/vik/Common/Geometry/CoordinateCollection.h
   sandbox/adsk/vik/Common/Geometry/CoordinateIterator.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystem.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCatalog.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategory.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategoryDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatumDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryBase.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoid.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoidDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFactory.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathElement.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefParams.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFile.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformation.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMeasure.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h
   sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
   sandbox/adsk/vik/Common/Geometry/CoordinateXY.cpp
   sandbox/adsk/vik/Common/Geometry/CoordinateXY.h
   sandbox/adsk/vik/Common/Geometry/CoordinateXYM.cpp
   sandbox/adsk/vik/Common/Geometry/CoordinateXYM.h
   sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.cpp
   sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.h
   sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.cpp
   sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.h
   sandbox/adsk/vik/Common/Geometry/CurvePolygon.cpp
   sandbox/adsk/vik/Common/Geometry/CurvePolygon.h
   sandbox/adsk/vik/Common/Geometry/CurvePolygonCollection.h
   sandbox/adsk/vik/Common/Geometry/CurveRing.h
   sandbox/adsk/vik/Common/Geometry/CurveRingCollection.h
   sandbox/adsk/vik/Common/Geometry/CurveSegmentCollection.h
   sandbox/adsk/vik/Common/Geometry/CurveString.cpp
   sandbox/adsk/vik/Common/Geometry/CurveString.h
   sandbox/adsk/vik/Common/Geometry/CurveStringCollection.h
   sandbox/adsk/vik/Common/Geometry/Envelope.cpp
   sandbox/adsk/vik/Common/Geometry/Envelope.h
   sandbox/adsk/vik/Common/Geometry/GeometricEntity.h
   sandbox/adsk/vik/Common/Geometry/GeometryCollection.h
   sandbox/adsk/vik/Common/Geometry/GeometryFactory.h
   sandbox/adsk/vik/Common/Geometry/LineString.cpp
   sandbox/adsk/vik/Common/Geometry/LineString.h
   sandbox/adsk/vik/Common/Geometry/LineStringCollection.h
   sandbox/adsk/vik/Common/Geometry/LineToInstruction.h
   sandbox/adsk/vik/Common/Geometry/LinearRing.h
   sandbox/adsk/vik/Common/Geometry/LinearRingCollection.h
   sandbox/adsk/vik/Common/Geometry/LinearSegment.h
   sandbox/adsk/vik/Common/Geometry/MoveToInstruction.h
   sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.cpp
   sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.h
   sandbox/adsk/vik/Common/Geometry/MultiCurveString.cpp
   sandbox/adsk/vik/Common/Geometry/MultiCurveString.h
   sandbox/adsk/vik/Common/Geometry/MultiGeometry.cpp
   sandbox/adsk/vik/Common/Geometry/MultiGeometry.h
   sandbox/adsk/vik/Common/Geometry/MultiLineString.cpp
   sandbox/adsk/vik/Common/Geometry/MultiLineString.h
   sandbox/adsk/vik/Common/Geometry/MultiPoint.cpp
   sandbox/adsk/vik/Common/Geometry/MultiPoint.h
   sandbox/adsk/vik/Common/Geometry/MultiPolygon.cpp
   sandbox/adsk/vik/Common/Geometry/MultiPolygon.h
   sandbox/adsk/vik/Common/Geometry/Point.cpp
   sandbox/adsk/vik/Common/Geometry/Point.h
   sandbox/adsk/vik/Common/Geometry/PointCollection.h
   sandbox/adsk/vik/Common/Geometry/Polygon.cpp
   sandbox/adsk/vik/Common/Geometry/Polygon.h
   sandbox/adsk/vik/Common/Geometry/PolygonCollection.h
   sandbox/adsk/vik/Common/Geometry/QuadToInstruction.h
   sandbox/adsk/vik/Common/Geometry/Region.h
   sandbox/adsk/vik/Common/Geometry/WktReaderWriter.cpp
   sandbox/adsk/vik/Common/Geometry/WktReaderWriter.h
Log:
Removal of unnecessary files and APIs.

Modified: sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.cpp
===================================================================
--- sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -374,17 +374,6 @@
 }
 
 ///////////////////////////////////////////////////////////////////////////
-double CCoordinateSystem::MeasureEuclideanDistance(MgCoordinate* coord1, MgCoordinate* coord2)
-{
-    if((NULL == coord1) || (NULL == coord2))
-    {
-        throw new MgException(L"NullArgument");
-    }
-
-    return MeasureEuclideanDistance(coord1->GetX(), coord1->GetY(), coord2->GetX(), coord2->GetY());
-}
-
-///////////////////////////////////////////////////////////////////////////
 ///<summary>
 /// Measures the euclidian distance between two coordinates.
 ///</summary>
@@ -418,31 +407,6 @@
 /// This function uses the coordinate systems ellipsoid
 /// definition and a great circle algorithm to produce the result.
 ///</summary>
-///<param name="coord1">
-/// An MgCoordinate that defines the starting coordinate.
-///</param>
-///<param name="coord2">
-/// An MgCoordinate that defines the ending coordinate.
-///</param>
-///<returns>
-/// The great circle distance from coord1 to coord2 in coordinate system units.
-///</returns>
-double CCoordinateSystem::MeasureGreatCircleDistance(MgCoordinate* coord1, MgCoordinate* coord2)
-{
-    if((NULL == coord1) || (NULL == coord2))
-    {
-        throw new MgException(L"NullArgument");
-    }
-
-    return MeasureGreatCircleDistance(coord1->GetX(), coord1->GetY(), coord2->GetX(), coord2->GetY());
-}
-
-///////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Measures the distance between two coordinates.
-/// This function uses the coordinate systems ellipsoid
-/// definition and a great circle algorithm to produce the result.
-///</summary>
 ///<param name="double x1">
 /// The x value that defines the first coordinate.
 ///</param>
@@ -484,31 +448,7 @@
     return dDistance;
 }
 
-///////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Gets the angle with respect to the north of a vector formed by two
-/// coordinates.
-///</summary>
-///<param name="coord1">
-/// An MgCoordinate that specifies the first coordinate.
-///</param>
-///<param name="coord2">
-/// An MgCoordinate that specifies the second coordinate.
-///</param>
-///<returns>
-/// The azimuth (Angle with respect to the North) of the vector formed by
-/// coord1 and coord2.
-///</returns>
-double CCoordinateSystem::GetAzimuth(MgCoordinate* coord1, MgCoordinate* coord2)
-{
-    if((NULL == coord1) || (NULL == coord2))
-    {
-        throw new MgException(L"NullArgument");
-    }
 
-    return GetAzimuth(coord1->GetX(), coord1->GetY(), coord2->GetX(), coord2->GetY());
-}
-
 ///////////////////////////////////////////////////////////////////////////
 ///<summary>
 /// Gets the angle with respect to the north of a vector formed by two
@@ -564,35 +504,7 @@
     return dAzimuth;
 }
 
-///////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Computes a coordinate given the distance along a vector that is defined
-/// by a starting coordinate and an azimuth (Angle with respect to the
-/// North).
-///</summary>
-///<param name="coord">
-/// An MgCoordinate that represents the start of the vector.
-///</param>
-///<param name="azimuth">
-/// An azimuth (Angle with respect to the North) that defines the direction
-/// of the vector.
-///</param>
-///<param name="distance">
-/// The distance along the vector of the desired coordinate in coordinate system units.
-///</param>
-///<returns>
-/// An MgCoordinate that lies the given distance along the vector.
-///</returns>
-MgCoordinate* CCoordinateSystem::GetCoordinate(MgCoordinate* coord, double azimuth, double distance)
-{
-    if(NULL == coord)
-    {
-        throw new MgException(L"NullArgument");
-    }
 
-    return GetCoordinate(coord->GetX(), coord->GetY(), azimuth, distance);
-}
-
 ///////////////////////////////////////////////////////////////////////////
 ///<summary>
 /// Computes a coordinate a given distance along a vector that is defined

Modified: sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.h
===================================================================
--- sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/CoordinateSystem/CoordSys.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -50,13 +50,9 @@
     virtual MgCoordinate* ConvertToLonLat(MgCoordinate* coordinate);
     virtual double ConvertCoordinateSystemUnitsToMeters(double units);
     virtual double ConvertMetersToCoordinateSystemUnits(double meters);
-    virtual double MeasureEuclideanDistance(MgCoordinate* coord1, MgCoordinate* coord2);
     virtual double MeasureEuclideanDistance(double x1, double y1, double x2, double y2);
-    virtual double MeasureGreatCircleDistance(MgCoordinate* coord1, MgCoordinate* coord2);
     virtual double MeasureGreatCircleDistance(double x1, double y1, double x2, double y2);
-    virtual double GetAzimuth(MgCoordinate* coord1, MgCoordinate* coord2);
     virtual double GetAzimuth(double x1, double y1, double x2, double y2);
-    virtual MgCoordinate* GetCoordinate(MgCoordinate* coord, double azimuth, double distance);
     virtual MgCoordinate* GetCoordinate(double xStart, double yStart, double azimuth, double distance);
     virtual STRING ToString();
     virtual STRING GetUnits();  /// __get

Modified: sandbox/adsk/vik/Common/CoordinateSystem/CoordSysUtil.h
===================================================================
--- sandbox/adsk/vik/Common/CoordinateSystem/CoordSysUtil.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/CoordinateSystem/CoordSysUtil.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -71,18 +71,6 @@
     return ((str.length() - 1) != index);
 }
 
-///----------------------------------------------------------------------------
-/// <summary>
-/// Appends a forward slash to the end of the specified path if it does exist.
-/// </summary>
-///----------------------------------------------------------------------------
-inline void AppendSlashToEndOfPath(REFSTRING path)
-{
-    if (!EndsWithSlash(path))
-    {
-        path.append(L"/");
-    }
-}
 
 inline char *
 Convert_Wide_To_Ascii (const wchar_t *wstr)

Modified: sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,8 +18,6 @@
 #include "stdafx.h"
 #include "Foundation.h"
 
-MG_IMPL_DYNCREATE(MgBatchPropertyCollection);
-
 //////////////////////////////////////////////////////////////////
 /// <summary>
 /// Constructs an MgBatchPropertyCollection.  The collection is initially empty.

Modified: sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/BatchPropertyCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -34,9 +34,6 @@
 /// Collections are NOT thread safe and ordered in the sequence of add operation.
 class MG_FOUNDATION_API MgBatchPropertyCollection : public MgCollection
 {
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgBatchPropertyCollection)
-
 PUBLISHED_API:
     //////////////////////////////////////////////////////////
     /// \brief

Deleted: sandbox/adsk/vik/Common/Foundation/Data/Byte.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/Byte.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/Byte.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,190 +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 "stdafx.h"
-#include "Foundation.h"
-#include "Byte.h"
-
-MgByte::MgByte()
-{
-    m_bytes = NULL;
-    m_len = 0;
-    m_allocLen = 0;
-    m_allocType = MgByte::Internal;
-}
-
-MgByte::MgByte(BYTE_ARRAY_IN bytes, INT32 len, AllocatorType allocator)
-: m_allocType(allocator)
-{
-    // Basic initialization
-    m_bytes = NULL;
-    m_len = 0;
-    m_allocLen = len;
-
-    // If len was specified then we need to (preallocate) the internal buffer
-    if (len > 0)
-    {
-        if (MgByte::Internal == m_allocType)
-        {
-            m_bytes = Allocate(len);
-        }
-    }
-
-    // If bytes were passed in, we need to assign them directly if not allocating,
-    // or copy them if we are allocating
-    if (bytes != NULL && len > 0)
-    {
-        if (MgByte::Internal == m_allocType)
-        {
-            memcpy(m_bytes, bytes, len);
-        }
-        else
-        {
-            m_bytes = bytes;
-        }
-        m_len = len;
-    }
-}
-
-MgByte::~MgByte()
-{
-    if (m_bytes != NULL)
-    {
-        switch (m_allocType)
-        {
-        case MgByte::Internal:
-            CheckEnd();
-            delete[] m_bytes;
-            break;
-        case MgByte::New:
-            delete[] m_bytes;
-            break;
-        case MgByte::Malloc:
-            free(m_bytes);
-            break;
-        default:
-            break;
-        }
-        m_bytes = NULL;
-    }
-
-    m_allocType = MgByte::None;
-    m_len = 0;
-    m_allocLen = 0;
-}
-
-void MgByte::Append(BYTE_ARRAY_IN bytes, INT32 len)
-{
-    CheckEnd();
-    if (MgByte::Internal != m_allocType)
-    {
-        throw new MgInvalidOperationException(L"MgByte.Append", __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    if (len+m_len > m_allocLen)
-    {
-        // Use geometric allocation
-        if (m_allocLen*2 > (len+m_len))
-        {
-            m_allocLen *= 2;
-        }
-        else
-        {
-            m_allocLen = (len+m_len);
-        }
-
-        unsigned char* temp = Allocate(m_allocLen);
-        if (m_bytes != NULL)
-        {
-            memcpy(temp, m_bytes, m_len);
-            delete [] m_bytes;
-        }
-        m_bytes = temp;
-
-    }
-
-    memcpy(m_bytes+m_len, bytes, len);
-    m_len += len;
-}
-
-INT32 MgByte::Read(BYTE_ARRAY_OUT buffer, INT32 pos, INT32 length)
-{
-    CheckEnd();
-    INT32 numRead = 0;
-    if (pos+length <= m_len)
-    {
-        numRead = length;
-    }
-    else
-    {
-        numRead = m_len-pos;
-    }
-
-
-    if (numRead > 0)
-    {
-        memcpy(buffer, &m_bytes[pos], length);
-    }
-
-    return (numRead >= 0) ? numRead : 0;
-}
-
-BYTE_ARRAY_OUT MgByte::Bytes()
-{
-    CheckEnd();
-    return m_bytes;
-}
-
-INT32 MgByte::GetLength()
-{
-    CheckEnd();
-    return m_len;
-}
-
-void MgByte::SetLength(INT32 len)
-{
-    CheckEnd();
-    if (len > m_allocLen)
-    {
-        throw new MgArgumentOutOfRangeException(L"MgByte.SetLength",__LINE__,__WFILE__, NULL, L"", NULL);
-    }
-    m_len = len;
-}
-
-void MgByte::Dispose()
-{
-    delete this;
-}
-
-
-void MgByte::CheckEnd()
-{
-    if (MgByte::Internal == m_allocType && m_bytes != NULL && m_allocLen > 0)
-    {
-        if ( *((UINT64*)&m_bytes[m_allocLen]) != EndBytesMarker)
-        {
-            throw new MgOverflowException(L"MgByte.CheckEnd",__LINE__,__WFILE__, NULL, L"", NULL);
-        }
-    }
-}
-
-unsigned char* MgByte::Allocate(INT32 len)
-{
-    unsigned char* buf = new unsigned char[len+sizeof(UINT64)];
-    *((UINT64*)&buf[len]) = EndBytesMarker;
-    return buf;
-}

Deleted: sandbox/adsk/vik/Common/Foundation/Data/Byte.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/Byte.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/Byte.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,180 +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_BYTE
-#define _MG_BYTE
-
-/// \cond INTERNAL
-
-/// \brief
-/// A utility class to store bytes
-class MG_FOUNDATION_API MgByte : public MgDisposable
-{
-    DECLARE_CLASSNAME(MgByte)
-
-public:
-    /// \brief
-    /// Maximum size of an MgByte array created by the MgStreamReader.
-    ///
-    /// \remarks
-    /// This value is only used by MgStreamReader to control when a
-    /// file based stream should be used instead of a memory based one.
-    ///
-    /// \todo
-    /// This parameter should be tunable from the configuration file
-    static const INT64 MaxSize = 64*1024*1024;
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Allocator type for MgByte.  Controls allocation and
-    /// deallocation of the bytes managed by MgByte.
-    ///
-    enum AllocatorType
-    {
-    /// \brief
-    /// Bytes were allocated externally malloc and should be :free()'d
-    /// when MgByte destructs.  Append is not legal if this is specified.
-    ///
-    Malloc,
-    /// \brief
-    /// Bytes were allocated externally new [] and should be delete []'d
-    /// when MgByte destructs.  Append is not legal if this is specified.
-    ///
-    New,
-    /// \brief
-    /// Bytes should be allocated internally by MgByte (using new[]) and
-    /// delete []'d when MgByte destructs.  Internal must be specified
-    /// for Append to function.
-    ///
-    Internal,
-    /// \brief
-    /// Bytes allocation and deallocation is being managed externally.
-    /// Append is not legal for this allocation type.
-    ///
-    None
-    };
-
-    /// \brief
-    /// Constructor
-    ///
-    MgByte();
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Constructor.  Allocates memory if allocate is true.  If allocator
-    /// is Internal, memory will be managed internally and freed using
-    /// delete [].
-    ///
-    ///
-    /// \remarks
-    /// Specifying len > 0 and bytes = NULL will preallocate
-    /// a len sized byte array and set the initial length to zero.  Bytes() should
-    /// be used to fill in the array and SetLength() should be called to
-    /// define the length of the array.
-    ///
-    /// \param bytes
-    /// bytes to be stored
-    /// \param len
-    /// len of bytes
-    /// \param allocator
-    /// Allocation style for MgByte
-    ///
-    MgByte(BYTE_ARRAY_IN bytes, INT32 len, AllocatorType allocator = MgByte::Internal);
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Appends bytes to existing buffer
-    ///
-    /// \param bytes
-    /// bytes to be appended
-    /// \param len
-    /// len of bytes
-    ///
-    void Append(BYTE_ARRAY_IN bytes, INT32 len);
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Reads the specified number of bytes starting at pos from the
-    /// byte source.  Returns the number of bytes read.
-    ///
-    /// \return
-    /// returns the number of bytes read.
-    ///
-    INT32 Read(BYTE_ARRAY_OUT buffer, INT32 pos, INT32 length);
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve a pointer to the internal byte buffer.  The buffer
-    /// should not be deallocated.
-    ///
-    /// \return
-    /// Returns a pointer to the internal buffer
-    ///
-    BYTE_ARRAY_OUT Bytes();
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get length of buffer
-    ///
-    /// \return
-    /// returns the length of buffer
-    ///
-    INT32 GetLength();
-
-    ////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Sets the length of buffer.  Buffer must have been
-    /// preallocated.  If length is greater than allocated
-    /// length, an exception will be thrown
-    ///
-    /// \param len
-    /// Length of buffer
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    void SetLength(INT32 len);
-
-EXTERNAL_API:
-
-    /// \brief
-    /// Destructor
-    ///
-    ~MgByte();
-
-protected:
-    void Dispose();
-
-private:
-    /// Where's the beef?  End of bytes marker to detect buffer
-    /// overflow errors.
-    static const UINT64 EndBytesMarker = 0xBEEFBEEFBEEFBEEFULL;
-
-    void CheckEnd();
-
-    unsigned char* Allocate(INT32 len);
-
-    unsigned char* m_bytes;
-    INT32 m_len;
-    INT32 m_allocLen;
-    AllocatorType m_allocType;
-};
-/// \endcond
-
-#endif
-
-

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteReader.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteReader.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteReader.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,271 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_ACE
-
-MG_IMPL_DYNCREATE(MgByteReader);
-
-//////////////////////////////////////////////////////////////////
-/// \brief
-/// Creates a byte reader from a file
-///
-MgByteReader::MgByteReader(CREFSTRING fileName, CREFSTRING mimeType, bool removeFile)
-{
-    Ptr<MgByteSource> source = new MgByteSource(fileName, removeFile);
-    source->SetMimeType(mimeType);
-    SetByteSource(SAFE_ADDREF((MgByteSource*)source));
-}
-
-//////////////////////////////////////////////////////////////////
-/// \brief
-/// Creates a byte reader from a string
-///
-MgByteReader::MgByteReader(CREFSTRING contents, CREFSTRING mimeType)
-{
-    string utf8 = MgUtil::WideCharToMultiByte(contents);
-    Ptr<MgByteSource> source = new MgByteSource((BYTE_ARRAY_IN)utf8.c_str(), (INT32)utf8.length());
-    source->SetMimeType(mimeType);
-    SetByteSource(SAFE_ADDREF((MgByteSource*)source));
-}
-
-//////////////////////////////////////////////////////////////////
-/// \brief
-/// Creates a byte reader from an array of bytes
-///
-MgByteReader::MgByteReader(BYTE_ARRAY_IN contents, INT32 length, CREFSTRING mimeType)
-{
-    Ptr<MgByteSource> source = new MgByteSource(contents, length);
-    source->SetMimeType(mimeType);
-    SetByteSource(SAFE_ADDREF((MgByteSource*)source));
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct a MgByteReader object from a byte source
-///</summary>
-///<param name="byteSource">Byte  source object</param>
-///
-MgByteReader::MgByteReader(MgByteSource* byteSource)
-{
-    m_byteSource = byteSource;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct an uninitialized MgByteReader object
-///</summary>
-///
-MgByteReader::MgByteReader()
-{
-    m_byteSource = NULL;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Destruct a MgByteReader object
-///</summary>
-///
-MgByteReader::~MgByteReader()
-{
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Set the byte source for an empty reader
-///</summary>
-///<param name="byteSource">Byte source object</param>
-///
-void MgByteReader::SetByteSource(MgByteSource* byteSource)
-{
-    m_byteSource = byteSource;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Get the byte source for a reader
-///</summary>
-///<returns>
-///Byte source for reader
-///</summary>
-///
-MgByteSource* MgByteReader::GetByteSource()
-{
-    return m_byteSource;
-}
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns the classId.
-/// </summary>
-INT32 MgByteReader::GetClassId()
-{
-    return m_cls_id;
-}
-
-//////////////////////////////////////////////
-///<summary>
-/// Dispose this object.
-///</summary>
-void MgByteReader::Dispose()
-{
-    delete this;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Reads a buffer of data
-///</summary>
-///<param name="buffer">
-/// A buffer receiving the data.
-///</param>
-///<param name="length">
-///Maximum number of bytes to read
-///</param>
-///<returns>Actual number of bytes put in the buffer. 0 means end of bytes</returns>
-///
-INT32 MgByteReader::Read(BYTE_ARRAY_OUT buffer, INT32 length)
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.Read");
-    return m_byteSource->GetSourceImpl()->Read(buffer, length);
-}
-
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Gets the mime type of the data in this reader
-///</summary>
-/// <returns>string representing the type, for example text/xml</returns>
-///
-STRING MgByteReader::GetMimeType()
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.GetMimeType");
-    return m_byteSource->GetMimeType();
-}
-
-//////////////////////////////////////////////////////////////////
-/// \brief
-/// Writes the the contents of the reader to a file.
-///
-void MgByteReader::ToFile(CREFSTRING fileName)
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.ToFile");
-    Ptr<MgByteSink> sink = new MgByteSink(this);
-    sink->ToFile(fileName);
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Returns the contents of the reader as a string.  The mime
-/// type must be a text type, for example text/xml.
-/// </summary>
-///
-STRING MgByteReader::ToString()
-{
-    STRING str;
-
-    MgByteSink byteSink(this);
-
-    if (IsRewindable())
-    {
-        Rewind();
-    }
-
-    byteSink.ToString(str);
-
-    if (IsRewindable())
-    {
-        Rewind();
-    }
-
-    return str;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-///<summary>
-/// Returns the contents of the reader as a UTF-8 string.  The mime
-/// type must be a text type, for example text/xml.
-///</summary>
-///
-void MgByteReader::ToStringUtf8(string& str)
-{
-    MgByteSink byteSink(this);
-
-    byteSink.ToStringUtf8(str);
-}
-
-INT64 MgByteReader::GetLength()
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.GetLength");
-    return m_byteSource->GetSourceImpl()->GetLength();
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Serialize data to TCP/IP stream
-///</summary>
-///<param name="stream">
-/// Stream
-///</param>
-void MgByteReader::Serialize(MgStream* stream)
-{
-    // Send Mime Type
-    stream->WriteString(GetMimeType());
-    // Send the data
-    stream->WriteStream(this);
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Deserialize data from TCP/IP stream
-///</summary>
-///<param name="stream">
-/// Stream
-///</param>
-void MgByteReader::Deserialize(MgStream* stream)
-{
-    STRING wcStr;
-    // Get Mime Type
-    stream->GetString(wcStr);
-    // Get data
-    Ptr<MgByteReader> byteReader = stream->GetStream(true);
-    // Set values in byte source
-    this->m_byteSource = SAFE_ADDREF((MgByteSource*)byteReader->m_byteSource);
-    this->m_byteSource->SetMimeType(wcStr);
-}
-
-bool MgByteReader::IsRewindable()
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.IsRewindable");
-    return m_byteSource->GetSourceImpl()->IsRewindable();
-}
-
-////////////////////////////////////////////////////////////////
-///<summary>
-/// Rewinds to the start of the reader.  Depending on the source of
-/// the reader, Rewind may not be supported.  Readers sourced from
-/// true streams cannot be rewound.
-///</summary>
-void MgByteReader::Rewind()
-{
-    CHECKNULL(m_byteSource, L"MgByteReader.Rewind");
-    m_byteSource->GetSourceImpl()->Rewind();
-}
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteReader.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteReader.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteReader.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,393 +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_BYTE_READER_H_
-#define MG_BYTE_READER_H_
-
-#if WANT_ACE
-
-/// \defgroup MgByteReader MgByteReader
-/// \ingroup Common_Module
-/// \{
-
-class MgByteSource;
-template class MG_FOUNDATION_API Ptr<MgByteSource>;
-
-class MgByteReader;
-template class MG_FOUNDATION_API Ptr<MgByteReader>;
-
-////////////////////////////////////////////////////////////////////
-/// \brief
-/// Reads data from a byte source. Once read, the data in the
-/// reader cannot be reread.
-///
-/// \remarks
-/// Here are a few scenarios to illustrate how MgByteSink,
-/// MgByteSource and MgByteReader interact:
-/// \n\n
-/// Loading the content of a file and creating a byte reader to
-/// be passed to a service API:
-/// \n
-/// <ul>
-///   <li>Create a MgByteSource passing the file name to its
-///     constructor</li>
-///   <li>Get a MgByteReader from this byte source using
-///     MgByteSource::GetReader() and pass the obtained reference to
-///     the service API</li
-/// </ul>
-/// \n
-/// Receiving a byte reader from a service API and saving the
-/// result into a file:
-/// <ul>
-///   <li>Create a MgByteSink object passing the MgByteReader
-///     reference to its constructor</li>
-///   <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ul>
-/// \n
-/// Saving the content of a memory buffer (or of a string) into a
-/// file:
-/// <ul>
-///   <li>Create a MgByteSource object passing to its constructor
-///     the buffer and the number of bytes in this buffer</li>
-///   <li>Get a MgByteReader from this byte source using
-///     MgByteSource::GetReader()</li>
-///   <li>Create a MgByteSink object passing the MgByteReader
-///     reference to its constructor</li>
-///   <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ul>
-///
-
-class MG_FOUNDATION_API MgByteReader : public MgSerializable
-{
-    friend class MgByteSource;
-    friend class MgByteSink;
-
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgByteReader)
-
-PUBLISHED_API:
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Creates a byte reader from a file
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteReader(string fileName, string mimeType, bool removeFile);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteReader(String fileName, String mimeType, bool removeFile);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteReader(string fileName, string mimeType, bool removeFile);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param fileName (string/String/string)
-    /// Name of file on disk.
-    ///
-    /// \param mimeType (string/String/string)
-    /// Mime type for content
-    ///
-    /// \param removeFile (bool)
-    /// Remove file when byte reader is deleted
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    MgByteReader(CREFSTRING fileName, CREFSTRING mimeType, bool removeFile);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Creates a byte reader from a string
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteReader(string content, string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteReader(String content, String mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteReader(string content, string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param contents (string/String/string)
-    /// String contents for byte reader.
-    ///
-    /// \param mimeType (string/String/string)
-    /// Mime type for content.
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    MgByteReader(CREFSTRING contents, CREFSTRING mimeType);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Creates a byte reader from an array of bytes
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteReader(Byte[] content, string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteReader(byte[] content, String mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteReader(string content, string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param contents (Byte[]/byte[]/string)
-    /// Binary contents for byte reader.
-    ///
-    /// \param length (int/int/int)
-    /// Length of contents.
-    ///
-    /// \param mimeType (string/String/string)
-    /// Mime type for content.
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    MgByteReader(BYTE_ARRAY_IN contents, INT32 length, CREFSTRING mimeType);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Reads a buffer
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// int Read(Byte[] buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// int Read(byte[] buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int Read(string buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param buffer (byte[]/Byte[]/string)
-    /// A buffer receiving the data.
-    /// \param length (int)
-    /// Maximum number of bytes to read
-    ///
-    /// \return
-    /// Actual number of bytes put in the buffer. 0 means end of bytes
-    ///
-    INT32 Read(BYTE_ARRAY_OUT buffer, INT32 length);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Gets the mime type of the data in this reader.  See MgMimeType
-    /// for list of possible mime types.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// String GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// string GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// string representing the type, for example text/xml
-    ///
-    ///
-    STRING GetMimeType();  /// __get
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Returns the contents of the reader as a string.  The mime
-    /// type must be a text type, for example text/xml.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// string ToString();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// String ToString();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// string ToString();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Text string of reader contents
-    ///
-    /// \exception MgInvalidArgumentException is thrown if the reader does not contain text
-    ///
-    STRING ToString();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes the the contents of the reader to a file.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void ToFile(string fileName);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void ToFile(String fileName);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void ToFile(string fileName);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    /// \exception MgFileIoException is thrown if file cannot be written
-    ///
-    void ToFile(CREFSTRING fileName);
-
-    ////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Returns the remaining length of the underlying byte source.
-    /// This length is adjusted for previous reads.  If the returned length is zero
-    /// then the underlying source may be a streaming format and the length
-    /// is not known.
-    ///
-    /// \return
-    /// Remaining length of underlying byte source
-    ///
-    virtual INT64 GetLength();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Determines if the reader is rewindable.
-    ///
-    /// \return
-    /// true if the source is rewindable, false otherwise.
-    ///
-    bool IsRewindable();
-
-    ////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Rewinds to the start of the reader.  Depending on the source of
-    /// the reader, Rewind may not be supported.  Readers sourced from
-    /// true streams cannot be rewound.
-    ///
-    /// \return
-    /// Nothing
-    ///
-    /// \exception MgIoException if reader cannot be rewound
-    ///
-    void Rewind();
-
-INTERNAL_API:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteReader object from a byte source
-    ///
-    /// \param byteSource
-    /// Byte  source object
-    ///
-    MgByteReader();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Serialize data to TCP/IP stream
-    ///
-    /// \param stream
-    /// Stream
-    ///
-    virtual void Serialize(MgStream* stream);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Deserialize data from TCP/IP stream
-    ///
-    /// \param stream
-    /// Stream
-    ///
-    virtual void Deserialize(MgStream* stream);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the byte source for a reader
-    ///
-    /// \return
-    /// Byte source for reader
-    ///
-    virtual MgByteSource* GetByteSource();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Returns the contents of the reader as a UTF-8 string.  The mime
-    /// type must be a text type, for example text/xml.
-    ///
-    /// \param str
-    /// Destination string.
-    ///
-    /// \exception MgInvalidArgumentException is thrown if the reader does not contain text.
-    ///
-    void ToStringUtf8(string& str);
-
-protected:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteReader object from a byte source
-    ///
-    /// \param byteSource
-    /// Byte  source object
-    ///
-    MgByteReader(MgByteSource* byteSource);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct a MgByteReader object
-    ///
-    virtual ~MgByteReader();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Set the byte source for an empty reader
-    ///
-    /// \param byteSource
-    /// Byte source object
-    ///
-    virtual void SetByteSource(MgByteSource* byteSource);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the unique identifier for the class
-    ///
-    /// \return
-    /// Class Identifider.
-    ///
-    virtual INT32 GetClassId();
-
-    //////////////////////////////////////////////
-    /// \brief
-    /// Dispose this object.
-    ///
-    virtual void Dispose();
-
-protected:
-    Ptr<MgByteSource> m_byteSource;
-
-CLASS_ID:
-    static const INT32 m_cls_id = Foundation_Data_ByteReader;
-};
-/// \}
-
-#endif //WANT_ACE
-
-#endif // MG_BYTE_READER_H_

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteSink.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteSink.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteSink.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,281 +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 "stdafx.h"
-#include "Foundation.h"
-#include <typeinfo>
-
-#if WANT_ACE
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Default Constructor
-///</summary>
-///
-MgByteSink::MgByteSink()
-{
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct a MgByteSource object from a source byte reader
-///</summary>
-///<param name="reader">MgByteReader object</param>
-///
-MgByteSink::MgByteSink(MgByteReader *reader)
-{
-    m_reader = reader;
-    SAFE_ADDREF(m_reader);
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Destruct a MgByteSource object
-///</summary>
-///
-MgByteSink::~MgByteSink()
-{
-    SAFE_RELEASE(m_reader);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Sends the content of the byte reader to a string.
-/// </summary>
-/// <param name="strDest">Destination string</param>
-///
-void MgByteSink::ToString(REFSTRING strDest)
-{
-    string strSource;
-
-    ToStringUtf8(strSource);
-
-    MgUtil::MultiByteToWideChar(strSource, strDest);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Sends the content of the byte reader to a UTF-8 string.
-/// </summary>
-/// <param name="strDest">Destination string</param>
-///
-void MgByteSink::ToStringUtf8(string& strDest)
-{
-    MG_TRY()
-
-    CHECKARGUMENTNULL(m_reader, L"MgByteSink.ToStringUtf8");
-
-    STRING mimeType = m_reader->GetMimeType();
-
-    if (!mimeType.empty()
-        && mimeType.find(L"text") == STRING::npos
-        && MgMimeType::Binary != mimeType)
-    {
-        // Note that the mime type of resource data is determined by the
-        // extension of their names. If the extension is unknown or
-        // unspecified, then the mime type is set to "application/octet-stream"
-        // by default. Therefore, we need to include checking for the
-        // MgMimeType::Binary because the resource data in this case could be
-        // in either text or binary format.
-
-        MgStringCollection arguments;
-        arguments.Add(mimeType);
-
-        throw new MgInvalidMimeTypeException(L"MgByteSink.ToStringUtf8",
-            __LINE__,__WFILE__, &arguments, L"", NULL);
-    }
-
-    unsigned char buf[2048];
-    INT32 len;
-
-    strDest.clear();
-
-    while ((len = m_reader->Read(buf, 2047)) > 0)
-    {
-        buf[len] = '\0';
-        strDest.append((char*)buf);
-    }
-
-    MG_CATCH_AND_THROW(L"MgByteSink.ToStringUtf8");
-}
-
-///<summary>
-/// Send the content of the byte reader to a socket stream
-///</summary>
-///<param name="stream">Destination ACE stream</param>
-///
-#if WANT_ACE
-void MgByteSink::ToStream(ACE_SOCK_Stream* stream)
-{
-    unsigned char bytes[4096];
-
-    size_t bytesReceived, bytesSent;
-
-    while((bytesReceived = (size_t)m_reader->Read(bytes, 4096)) > 0)
-    {
-        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",
-                __LINE__, __WFILE__, NULL, L"", NULL);
-        }
-    }
-}
-#endif
-
-/// <summary>
-/// Sends the content of the byte reader to an MgByte object.
-/// </summary>
-/// <returns>
-/// MgByte object.
-/// </returns>
-///
-MgByte* MgByteSink::ToBuffer()
-{
-    if (0 == m_reader)
-    {
-        throw new MgNullReferenceException(L"MgByteSink.ToBuffer",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    Ptr<MgByte> bytes;
-
-    // See if we are sourced from an MgByte.  If we are, just pass it back.
-    ByteSourceMemoryImpl* memImpl = dynamic_cast<ByteSourceMemoryImpl*>(m_reader->m_byteSource->GetSourceImpl());
-    if (memImpl != NULL)
-    {
-        bytes = memImpl->Bytes();
-    }
-    else
-    {
-        bytes = new MgByte(NULL, (INT32)m_reader->GetLength());
-        char temp[4096];
-        temp[0] = 0;
-        INT32 dataRead = 0;
-
-        do
-        {
-            // Read the data
-            dataRead = m_reader->Read((BYTE_ARRAY_OUT)(&temp[0]), 4096);
-            bytes->Append((BYTE_ARRAY_IN)temp, dataRead);
-
-        } while ( dataRead > 0 );
-    }
-
-    return SAFE_ADDREF((MgByte*)bytes);
-}
-
-///<summary>
-/// Send the content of the byte reader to a file
-///</summary>
-///<param name="filename">Destination file name</param>
-///
-void MgByteSink::ToFile(CREFSTRING filename)
-{
-    // assigned inside try-catch block
-    unsigned char* bytes = NULL;
-    FILE* f = NULL;
-
-    MG_TRY()
-
-    // See if we are sourced from a temporary file byte source.  If we are, just
-    // rename the file.  This should be a significant performance optimization for
-    // large file transfers
-    ByteSourceFileImpl* fileImpl = dynamic_cast<ByteSourceFileImpl*>(m_reader->m_byteSource->GetSourceImpl());
-    if (fileImpl != NULL && fileImpl->IsTemporary())
-    {
-        fileImpl->Rename(filename);
-    }
-    else
-    {
-        // Do it the hard way.  Create a new file and write it a block at a time.
-        // Use ACE_OS::fopen() for Linux compatibility
-        f = ACE_OS::fopen(MG_WCHAR_TO_TCHAR(filename), ACE_TEXT("wb"));
-
-        if (f == NULL)
-        {
-            MgStringCollection arguments;
-            arguments.Add(filename);
-
-            if (errno == EEXIST)
-            {
-                throw new MgFileNotFoundException(L"MgByteSink.ToFile",
-                    __LINE__, __WFILE__, &arguments, L"", NULL);
-            }
-            else
-            {
-                throw new MgFileIoException(L"MgByteSink.ToFile",
-                    __LINE__, __WFILE__, &arguments, L"", NULL);
-            }
-        }
-
-        // allocate a huge buffer (usually 1MB) at first
-        int bSinkBufferSize = BSINK_BUFFER_SIZE;
-        do
-        {
-            // retry allocation with half the size until we give up at 16kB
-            try
-            {
-                bytes = new unsigned char[bSinkBufferSize];
-            }
-            catch (exception& e)
-            {
-                if (typeid(e) == typeid(bad_alloc) && bSinkBufferSize > 1024*16)
-                    bSinkBufferSize >>= 1;
-                else
-                    throw e;
-            }
-        }
-        while (bytes == NULL);
-
-        size_t bytesReceived, bytesWritten;
-
-        while ((bytesReceived = (size_t)m_reader->Read(bytes, bSinkBufferSize)) > 0)
-        {
-            if((bytesWritten = ACE_OS::fwrite(bytes, 1, bytesReceived, f)) != bytesReceived)
-            {
-                ACE_OS::fclose(f);
-
-                MgStringCollection arguments;
-                arguments.Add(filename);
-
-                throw new MgFileIoException(L"MgByteSink.ToFile",
-                    __LINE__, __WFILE__, &arguments, L"", NULL);
-            }
-        }
-    }
-
-    MG_CATCH(L"MgByteSink.ToFile")
-
-    delete [] bytes;
-
-    if (NULL != f)
-    {
-        // close the file if one was created
-        ACE_OS::fclose(f);
-
-        // also delete the file if there was an exception - this is safe
-        // because we know the new file was created (i.e. we're not deleting
-        // a pre-existing file)
-        if (NULL != mgException)
-            MgFileUtil::DeleteFile(filename);
-    }
-
-    MG_THROW()
-}
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteSink.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteSink.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteSink.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,206 +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_BYTE_SINK_H
-#define MG_BYTE_SINK_H
-
-#if WANT_ACE
-
-/// \defgroup MgByteSink MgByteSink
-/// \ingroup Common_Module
-/// \{
-
-class MgByteReader;
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// MgByteSink is a used to write the content of a MgByteReader object to a file.
-/// MgByteSink is, like MgByteReader, inherently read-only.
-///
-/// \remarks
-/// Here are a few scenarios to illustrate how MgByteSink, MgByteSource
-/// and MgByteReader interact:
-/// \n\n
-/// Loading the content of a file and creating a byte reader to be passed to a
-/// service API:
-/// <ol>
-///  <li>Create a MgByteSource passing the file name to its constructor</li>
-///  <li>Get a MgByteReader from this byte source using MgByteSource::GetReader()
-///     and pass the obtained reference to the service API</li>
-/// </ol>
-/// \n
-/// Receiving a byte reader from a service API and saving the result into a file:
-/// <ol>
-///  <li>Create a MgByteSink object passing the MgByteReader reference to its constructor</li>
-///  <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ol>
-/// \n
-/// Saving the content of a memory buffer (or of a string) into a file:
-/// <ol>
-///  <li>Create a MgByteSource object passing to its constructor the buffer and the
-///     number of bytes in this buffer</li>
-///  <li>Get a MgByteReader from this byte source using MgByteSource::GetReader()</li>
-///  <li>Create a MgByteSink object passing the MgByteReader reference to its constructor</li>
-///  <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ol>
-/// \n
-/// Copying a file to another file:
-/// <ol>
-///  <li>Create a MgByteSource object passing to its constructor the pathname
-///     of the source file.</li>
-///  <li>Get a MgByteReader from this byte source using MgByteSource::GetReader().</li>
-///  <li>Create a MgByteSink object passing the MgByteReader reference to its
-///     constructor.</li>
-///  <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ol>
-///
-class MG_FOUNDATION_API MgByteSink: public MgGuardDisposable
-{
-    DECLARE_CLASSNAME(MgByteSink)
-
-PUBLISHED_API:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteSink object from a source byte reader
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteSink(MgByteReader reader);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteSink(MgByteReader reader);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteSink(MgByteReader reader);
-    /// \htmlinclude SyntaxBottom.html
-    /// \param reader (MgByteReader)
-    /// MgByteReader object
-    ///
-    MgByteSink(MgByteReader* reader);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes the content of the byte reader to a file.  If the
-    /// full contents of the reader cannot be written to the file
-    /// then the file is deleted and an MgException is raised.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void ToFile(string filename);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void ToFile(String filename);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void ToFile(string filename);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param filename (String/string)
-    /// Destination file name
-    ///
-    void ToFile(CREFSTRING filename);
-
-INTERNAL_API:
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct a MgByteSource object
-    ///
-    /// \return
-    /// Nothing
-    ///
-    virtual ~MgByteSink();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Send the content of the byte reader to a string
-    ///
-    /// \param strDest
-    /// Destination string
-    ///
-    void ToString(REFSTRING strDest);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Send the content of the byte reader to a UTF-8 string
-    ///
-    /// \param strDest
-    /// Destination string
-    ///
-    void ToStringUtf8(string& strDest);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Send the content of the byte reader to a socket stream
-    ///
-    /// \param stream
-    /// Destination ACE stream
-    ///
-#if WANT_ACE
-    void ToStream(ACE_SOCK_Stream* stream);
-#endif
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Sends the content of the byte reader to an MgByte object.
-    ///
-    /// \return
-    /// MgByte object.
-    ///
-    MgByte* ToBuffer();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the unique identifier for the class
-    ///
-    /// \return
-    /// Class Identifider.
-    ///
-    virtual INT32 GetClassId() { return m_cls_id; }
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Dispose this object.
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    virtual void Dispose()
-    {
-        delete this;
-    }
-
-protected:
-    MgByteReader*   m_reader;
-
-CLASS_ID:
-    static const INT32 m_cls_id = Foundation_Data_ByteSink;
-
-private:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Default Constructor
-    ///
-    MgByteSink();
-};
-/// \}
-
-#define BSINK_BUFFER_SIZE       (1*1024*1024)
-
-#endif //WANT_ACE
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteSource.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteSource.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteSource.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,182 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_ACE
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Default constructor for ByteSource object. Needed for Linux build
-///</summary>
-MgByteSource::MgByteSource() :
-    m_sourceImpl( NULL)
-{
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct a MgByteSource object from the specific file
-///</summary>
-///<param name="file">
-/// Name of the file.
-///</param>
-/// EXCEPTIONS:
-///   MgFileNotFoundException, MgFileIoException, MgOutOfMemoryException
-///
-MgByteSource::MgByteSource(CREFSTRING file)
-{
-    if ((m_sourceImpl = new ByteSourceFileImpl(file)) == NULL)
-    {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-MgByteSource::MgByteSource(CREFSTRING file, bool temporary)
-{
-    if ((m_sourceImpl = new ByteSourceFileImpl(file, temporary)) == NULL)
-    {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Construct a ByteSource object from an array of bytes
-///</summary>
-///<param name="stream">
-/// Stream content
-///</param>
-///<param name="length">
-/// Length of the stream
-///</param>
-///
-MgByteSource::MgByteSource(BYTE_ARRAY_IN stream, INT32 length)
-{
-    if ((m_sourceImpl = new ByteSourceMemoryImpl(stream, length)) == NULL)
-    {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Destruct a MgByteSource object
-///</summary>
-///
-MgByteSource::~MgByteSource()
-{
-    delete m_sourceImpl;
-}
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns the classId.
-/// </summary>
-INT32 MgByteSource::GetClassId()
-{
-    return m_cls_id;
-}
-
-//////////////////////////////////////////////
-///<summary>
-/// Dispose this object.
-///</summary>
-void MgByteSource::Dispose()
-{
-    delete this;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Gets the mime type of the data in this reader
-///</summary>
-/// <returns>string representing the type, for example text/xml</returns>
-///
-STRING MgByteSource::GetMimeType()
-{
-    return m_mimeType;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Sets the mime type of the data
-///</summary>
-///<param name="mimeType">
-///Mime type for byte source
-///</param>
-/// <returns>string representing the type, for example text/xml</returns>
-///
-void MgByteSource::SetMimeType(CREFSTRING mimeType)
-{
-    m_mimeType = mimeType;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Gets a reader for this byte source
-///</summary>
-///<returns>A ByteReader object</returns>
-MgByteReader* MgByteSource::GetReader()
-{
-    return new MgByteReader(SAFE_ADDREF(this));
-}
-
-MgByteSource::MgByteSource(MgByte* bytes)
-{
-    if ((m_sourceImpl = new ByteSourceMemoryImpl(bytes)) == NULL)
-    {
-        throw new MgOutOfMemoryException(L"MgByteSource.MgByteSource",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Constructs an MgByteSource object from ByteSourceImpl. The reader pulls
-/// data directly from ByteSourceImpl and reference counts it accordingly.
-/// </summary>
-///
-/// <param name="byteSourceImpl">
-/// ByteSourceImpl object to use.
-/// </param>
-///
-MgByteSource::MgByteSource(ByteSourceImpl* byteSourceImpl) :
-    m_sourceImpl(byteSourceImpl)
-{
-    if (NULL == m_sourceImpl)
-    {
-        throw new MgNullArgumentException(L"MgByteSource.MgByteSource",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-/////////////////////////////////////////////////////////////////
-///<summary>
-/// Get the underlying data source
-///<returns>Information about the underlying data source</returns>
-///
-ByteSourceImpl* MgByteSource::GetSourceImpl()
-{
-    return m_sourceImpl;
-}
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/Data/ByteSource.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/ByteSource.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/ByteSource.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,258 +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_BYTE_SOURCE_H
-#define MG_BYTE_SOURCE_H
-
-#if WANT_ACE
-
-/// \defgroup MgByteSource MgByteSource
-/// \ingroup Common_Module
-/// \{
-
-/////////////////////////////////////////////////////////////////
-/// \brief
-/// Represents a source of byte data with a specific content type.
-///
-/// \remarks
-/// The
-/// source can be initialized from an array of bytes in memory or a file.
-/// You can get a MgByteReader object from the byte source and pass it to
-/// an API function where the content will be consumed.
-/// \n\n
-/// Here are a few scenarios to illustrate how MgByteSink, MgByteSource
-/// and MgByteReader interact:
-/// \n\n
-/// Loading the content of a file and creating a byte reader to be passed to a
-/// service API:
-/// <ol>
-///  <li>Create a MgByteSource passing the file name to its constructor</li>
-///  <li>Get a MgByteReader from this byte source using MgByteSource::GetReader()
-///     and pass the obtained reference to the service API</li>
-/// </ol>
-/// \n
-/// Receiving a byte reader from a service API and saving the result into a file:
-/// <ol>
-///  <li>Create a MgByteSink object passing the MgByteReader reference to its constructor</li>
-///  <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ol>
-/// \n
-/// Saving the content of a memory buffer (or of a string) into a file:
-/// <ol>
-///  <li>Create a MgByteSource object passing to its constructor the buffer and the
-///     number of bytes in this buffer</li>
-///  <li>Get a MgByteReader from this byte source using MgByteSource::GetReader()</li>
-///  <li>Create a MgByteSink object passing the MgByteReader reference to its constructor</li>
-///  <li>Call the method ToFile() on the MgByteSink object.</li>
-/// </ol>
-///
-class MG_FOUNDATION_API MgByteSource : public MgGuardDisposable
-{
-    DECLARE_CLASSNAME(MgByteSource)
-
-PUBLISHED_API:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteSource object from the specific file
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteSource(string file);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteSource(String file);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteSource(string file);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param file (String/string)
-    /// Full path name of the file.
-    ///
-    MgByteSource(CREFSTRING file);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteSource object from an array of bytes
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteSource(Byte[] buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteSource(byte[] buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteSource(string buffer, int length);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param buffer (byte[]/Byte[]/string)
-    /// Buffer containing the data
-    /// \param length (int)
-    /// Length of the buffer
-    ///
-    MgByteSource(BYTE_ARRAY_IN buffer, INT32 length);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Gets the mime type of the data in this reader.  See MgMimeType for list of
-    /// supported mime types.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// String GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// string GetMimeType();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// string representing the type, for example text/xml
-    ///
-    STRING GetMimeType();  /// __get, __set
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Sets the mime type of the data.  See MgMimeType for list of supported
-    /// mime types.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetMimeType(string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetMimeType(String mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetMimeType(string mimeType);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param mimeType (String/string)
-    /// Mime type for byte source
-    ///
-    /// \return
-    /// string representing the type, for example text/xml
-    ///
-    void SetMimeType(CREFSTRING mimeType);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Gets a reader for this byte source
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgByteReader GetReader();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgByteReader GetReader();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgByteReader GetReader();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// A MgByteReader object
-    ///
-    MgByteReader* GetReader(); // _get
-
-INTERNAL_API:
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Default constructor for ByteSource object. Needed for Linux build
-    ///
-    MgByteSource();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destruct a ByteSource object
-    ///
-    virtual ~MgByteSource();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteSource object from the specific file.  If
-    /// file is marked as temporary, it will be removed when the
-    /// byte source is deleted.
-    ///
-    /// \param file
-    /// Full path name of the file.
-    /// \param temporary
-    /// If true, file is temporary and should be removed
-    ///
-    MgByteSource(CREFSTRING file, bool temporary);
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Construct a MgByteSource object from MgByte.  The reader pulls
-    /// data directly from MgByte and reference counts it accordingly.
-    ///
-    /// \param bytes
-    /// MgByte object to use
-    ///
-    MgByteSource(MgByte* bytes);
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Constructs an MgByteSource object from ByteSourceImpl. The reader pulls
-    /// data directly from ByteSourceImpl and reference counts it accordingly.
-    ///
-    /// \param byteSourceImpl
-    /// ByteSourceImpl object to use.
-    ///
-    MgByteSource(ByteSourceImpl* byteSourceImpl);
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the underlying data source
-    ///
-    /// \return
-    /// Information about the underlying data source
-    ///
-    ByteSourceImpl* GetSourceImpl();
-
-protected:
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the unique identifier for the class
-    ///
-    /// \return
-    /// Class Identifider.
-    ///
-    virtual INT32 GetClassId(); // { return m_cls_id; }
-
-    //////////////////////////////////////////////
-    /// \brief
-    /// Dispose this object.
-    ///
-    virtual void Dispose();
-
-protected:
-    STRING          m_mimeType;
-    ByteSourceImpl* m_sourceImpl;
-
-CLASS_ID:
-    static const INT32 m_cls_id = Foundation_Data_ByteSource;
-};
-/// \}
-
-#endif //WANT_ACE
-
-#endif // MG_BYTE_SOURCE_H

Modified: sandbox/adsk/vik/Common/Foundation/Data/Collection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/Collection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/Collection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,7 @@
 ///
 /// \note
 /// Collections are NOT thread safe and ordered in the sequence of add operation.
-class MG_FOUNDATION_API MgCollection : public MgSerializable
+class MG_FOUNDATION_API MgCollection : public MgGuardDisposable
 {
 PUBLISHED_API:
     /// \brief

Deleted: sandbox/adsk/vik/Common/Foundation/Data/DateTime.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/DateTime.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/DateTime.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,1250 +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 "stdafx.h"
-#if WANT_ACE
-
-#include <wchar.h>
-#include "Foundation.h"
-#include "ace/Date_Time.h"
-#include <math.h>
-
-#define MG_MAX_DATE_TIME_BUFFER_LENGTH  64
-#define MG_MICRO_VALUE                  1000000
-
-MG_IMPL_DYNCREATE(MgDateTime);
-
-///<summary>Construct a date time value initialized to the
-/// current date and time</summary>
-///<return>Returns nothing.</return>
-MgDateTime::MgDateTime()
-{
-    ACE_Date_Time now;
-
-    m_year        = (INT16)now.year();
-    m_month       = (INT8)now.month();
-    m_day         = (INT8)now.day();
-    m_hour        = (INT8)now.hour();
-    m_minute      = (INT8)now.minute();
-    m_second      = (INT8)now.second();
-    m_microsecond = now.microsec();
-}
-
-///<summary>Construct a date value</summary>
-/// <param name="year">Input year</param>
-/// <param name="month">Input month</param>
-/// <param name="day">Input day of month</param>
-///<return>Returns nothing.</return>
-MgDateTime::MgDateTime(INT16 year, INT8 month, INT8 day) :
-    m_year(year),
-    m_month(month),
-    m_day(day),
-    m_hour(-1),
-    m_minute(-1),
-    m_second(-1),
-    m_microsecond(-1)
-{
-}
-
-///<summary>Construct a time value</summary>
-/// <param name="hour">Input hour</param>
-/// <param name="minute">Input minute</param>
-/// <param name="second">Input second</param>
-/// <param name="microsecond">Input microsecond</param>
-///<return>Returns nothing.</return>
-MgDateTime::MgDateTime(INT8 hour, INT8 minute, INT8 second, INT32 microsecond) :
-    m_year(-1),
-    m_month(-1),
-    m_day(-1),
-    m_hour(hour),
-    m_minute(minute),
-    m_second(second),
-    m_microsecond(microsecond)
-{
-}
-
-///<summary>Construct a date time value</summary>
-/// <param name="year">Input year</param>
-/// <param name="month">Input month</param>
-/// <param name="day">Input day of month</param>
-/// <param name="hour">Input hour</param>
-/// <param name="minute">Input minute</param>
-/// <param name="second">Input second</param>
-/// <param name="microsecond">Input microsecond</param>
-///<return>Returns nothing.</return>
-MgDateTime::MgDateTime(INT16 year, INT8 month, INT8 day,
-    INT8 hour, INT8 minute, INT8 second, INT32 microsecond) :
-    m_year(year),
-    m_month(month),
-    m_day(day),
-    m_hour(hour),
-    m_minute(minute),
-    m_second(second),
-    m_microsecond(microsecond)
-{
-}
-
-///<summary>Construct a date time value</summary>
-/// <param name="year">Input year</param>
-/// <param name="month">Input month</param>
-/// <param name="day">Input day of month</param>
-/// <param name="hour">Input hour</param>
-/// <param name="minute">Input minute</param>
-/// <param name="second">Input second</param>
-///<return>Returns nothing.</return>
-MgDateTime::MgDateTime(INT16 year, INT8 month, INT8 day,
-    INT8 hour, INT8 minute, float seconds) :
-    m_year(year),
-    m_month(month),
-    m_day(day),
-    m_hour(hour),
-    m_minute(minute),
-    m_second(-1),
-    m_microsecond(-1)
-{
-    SplitSeconds(seconds);
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Constructs the MgDateTime object based on the specified FDO date time
-/// string in the formats:
-///     "TIMESTAMP 'CCYY-MM-DD hh:mm:ss[.sss]'"
-///     "DATE 'CCYY-MM-DD'"
-///     "TIME 'hh:mm:ss[.sss]'"
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgDateTime::MgDateTime(CREFSTRING fdoDateTime)
-{
-    Initialize();
-
-    bool valid = false;
-    int numFields = 0;
-    float seconds = 0.0;
-
-    // Parse the FDO date time string.
-
-    if (!fdoDateTime.empty() && fdoDateTime.length() < MG_MAX_DATE_TIME_BUFFER_LENGTH)
-    {
-        wchar_t buf[MG_MAX_DATE_TIME_BUFFER_LENGTH];
-        ::memset(buf, 0, sizeof(buf));
-
-        bool isDate = STRING::npos != fdoDateTime.find(L"-");
-        bool isTime = STRING::npos !=  fdoDateTime.find(L":");
-
-        if (isDate && isTime)
-        {
-            numFields = ::swscanf(fdoDateTime.c_str(), L"%s '%d-%d-%d %d:%d:%f'",
-                buf, &m_year, &m_month, &m_day, &m_hour, &m_minute, &seconds);
-            valid = (7 == numFields);
-        }
-        else if (isDate)
-        {
-            numFields = ::swscanf(fdoDateTime.c_str(), L"%s '%d-%d-%d'",
-                buf, &m_year, &m_month, &m_day);
-            valid = (4 == numFields);
-        }
-        else if (isTime)
-        {
-            numFields = ::swscanf(fdoDateTime.c_str(), L"%s '%d:%d:%f'",
-                buf, &m_hour, &m_minute, &seconds);
-            valid = (4 == numFields);
-        }
-    }
-
-    if (!valid)
-    {
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(fdoDateTime);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.MgDateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidFdoDateTime", NULL);
-    }
-
-    SplitSeconds(seconds);
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Constructs the MgDateTime object based on the specified XML date time
-/// string in the following formmats:
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]"
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]Z"
-/// Currently, FDO does not support time zones, hence the following formats
-/// are not supported:
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]+hh:mm"
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]-hh:mm"
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgDateTime::MgDateTime(const string& xmlDateTime)
-{
-    Initialize();
-
-    bool utc = false;
-    int numFields = 0;
-    int year, month, day, hour, minute;
-    year = month = day = hour = minute = -1;
-    float seconds = 0.0;
-
-    // Parse the XML date time string.
-
-    if (!xmlDateTime.empty())
-    {
-        if (string::npos != xmlDateTime.find("Z"))
-        {
-            utc = true;
-        }
-
-        // Note that using "%hd-%c-%cT%c:%c:%f" with data members does not work so well.
-        numFields = ::sscanf(xmlDateTime.c_str(), "%d-%d-%dT%d:%d:%f",
-            &year, &month, &day, &hour, &minute, &seconds);
-    }
-
-    if (6 != numFields)
-    {
-        STRING buffer;
-        MgUtil::MultiByteToWideChar(xmlDateTime, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.MgDateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidXmlDateTime", NULL);
-    }
-
-    m_year   = year;
-    m_month  = (INT8)month;
-    m_day    = (INT8)day;
-    m_hour   = (INT8)hour;
-    m_minute = (INT8)minute;
-
-    SplitSeconds(seconds);
-
-    // If the time is UTC, then convert it to the local time.
-
-    if (utc)
-    {
-        time_t timeValue = ToTimeValue();
-        INT32 microsecond = m_microsecond;
-
-        time_t localTime;
-        ACE_OS::time(&localTime);
-
-        struct tm gmTime = *ACE_OS::gmtime(&localTime);
-        gmTime.tm_isdst = -1; // Make the GMT time local.
-        double timeOffset = ACE_OS::difftime(localTime, ACE_OS::mktime(&gmTime));
-
-        timeValue += (time_t)timeOffset;
-        SetDateTimeInfo(*ACE_OS::localtime(&timeValue));
-        m_microsecond = microsecond;
-    }
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Constructs the MgDateTime object based on the specified time value
-/// (the number of seconds elapsed since midnight (00:00:00), January 1, 1970
-/// to 19:14:07, January 18, 2038, UTC).
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgDateTime::MgDateTime(time_t timeValue)
-{
-    // Get the current system time for negative time values. Note that these
-    // invalid values cause runtime date/time functions to throw exceptions.
-
-    if (timeValue < 0)
-    {
-        ACE_OS::time(&timeValue);
-    }
-
-    // Convert the time value to the local time.
-
-    SetDateTimeInfo(*ACE_OS::localtime(&timeValue));
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Constructs an MgDateTime object based on a specified number that was
-/// previously generated by the ToNumber method.  For a description of these
-/// numbers, see DateTime.h.
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgDateTime::MgDateTime(double number)
-{
-    Initialize();
-
-    // DateTime
-    if (number >= MIN_DATETIME)
-    {
-        INT64 days = (INT64)number / (24 * 60 * 60 * 1000);
-        CalendarDate((long)days, 'G');
-        INT64 milliSeconds = (INT64)number - days * (24 * 60 * 60 * 1000);
-        AssignTime(milliSeconds);
-    }
-    // Time
-    else if (number >= TIME_ZERO)
-    {
-        INT64 milliSeconds = (INT64)number - TIME_ZERO;
-        AssignTime(milliSeconds);
-    }
-    // Date
-    else
-    {
-        INT64 days = (INT64)number - DATE_ZERO;
-        CalendarDate((long)days, 'G');
-    }
-}
-
-MgDateTime::MgDateTime(const MgDateTime& dt)
-{
-    *this = dt;
-}
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns the classId.
-/// </summary>
-INT32 MgDateTime::GetClassId()
-{
-    return m_cls_id;
-}
-
-void MgDateTime::Dispose()
-{
-    delete this;
-}
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns true if only the date is valid, false otherwise.
-/// </summary>
-bool MgDateTime::IsDate()
-{
-    return (-1 != m_year && -1 == m_hour);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns true if only the time is valid, false otherwise.
-/// </summary>
-bool MgDateTime::IsTime()
-{
-    return (-1 == m_year && -1 != m_hour);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Returns true if both the date and time are valid, false otherwise.
-/// </summary>
-bool MgDateTime::IsDateTime()
-{
-    return (-1 != m_year && -1 != m_hour);
-}
-
-///<summary>Gets the day component of this object</summary>
-///<returns>Returns the day component of this object.</returns>
-INT8 MgDateTime::GetDay()
-{
-    return m_day;
-}
-
-///<summary>Gets the month component of this object</summary>
-///<returns>Returns the month component of this object.</returns>
-INT8 MgDateTime::GetMonth()
-{
-    return m_month;
-}
-
-///<summary>Gets the year component of this object</summary>
-///<returns>Returns the year component of this object.</returns>
-INT16 MgDateTime::GetYear()
-{
-    return m_year;
-}
-
-///<summary>Gets the hour component of this object</summary>
-///<returns>Returns the hour component of this object.</returns>
-INT8 MgDateTime::GetHour()
-{
-    return m_hour;
-}
-
-///<summary>Gets the minute component of this object</summary>
-///<returns>Returns the minute component of this object.</returns>
-INT8 MgDateTime::GetMinute()
-{
-    return m_minute;
-}
-
-///<summary>Gets the second component of this object</summary>
-///<returns>Returns the second component of this object.</returns>
-INT8 MgDateTime::GetSecond()
-{
-    return m_second;
-}
-
-///<summary>Gets the microsecond component of this object</summary>
-///<returns>Returns the microsecond component of this object.</returns>
-INT32 MgDateTime::GetMicrosecond()
-{
-    return m_microsecond;
-}
-
-///<summary>Sets the day component of this object</summary>
-///<param name="day">Day of the month in the range of 1 to 31 inclusive</param>
-void MgDateTime::SetDay(INT8 day)
-{
-    if (day < 1 || day > 31)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(day, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetDay",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidDay", NULL);
-    }
-
-    m_day = day;
-}
-
-///<summary>Sets the month component of this object</summary>
-///<param name="month">Month in the range of 1 to 12 inclusive (January = 1)</param>
-void MgDateTime::SetMonth(INT8 month)
-{
-    if (month < 1 || month > 12)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(month, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMonth",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMonth", NULL);
-    }
-
-    m_month = month;
-}
-
-///<summary>Sets the year component of this object</summary>
-///<param name="year">Year in the range of 1 to 9999</param>
-void MgDateTime::SetYear(INT16 year)
-{
-    if (year < 1 || year > 9999)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(year, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetYear",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidYear", NULL);
-    }
-
-    m_year = year;
-}
-
-///<summary>Sets the hour component of this object</summary>
-///<param name="hour">Hour since midnight in the range of 0 to 23</param>
-void MgDateTime::SetHour(INT8 hour)
-{
-    if (hour < 0 || hour > 23)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(hour, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetHour",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidHour", NULL);
-    }
-
-    m_hour = hour;
-}
-
-///<summary>Sets the minute component of this object</summary>
-///<param name="minute">Minutes after hour in the range of 0 to 59</param>
-void MgDateTime::SetMinute(INT8 minute)
-{
-    if (minute < 0 || minute > 59)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(minute, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMinute",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMinute", NULL);
-    }
-
-    m_minute = minute;
-}
-
-///<summary>Sets the second component of this object</summary>
-///<param name="second">Seconds after minute in the range of 0 to 59</param>
-void MgDateTime::SetSecond(INT8 second)
-{
-    if (second < 0 || second > 59)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(second, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetSecond",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidSecond", NULL);
-    }
-
-    m_second = second;
-}
-
-///<summary>Sets the microsecond component of this object</summary>
-///<param name="microsecond">Microsecond after second in the range of 0 to 999999</param>
-void MgDateTime::SetMicrosecond(INT32 microsecond)
-{
-    if (microsecond < 0 || microsecond > 999999)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(microsecond, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.SetMicrosecond",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMicroSecond", NULL);
-    }
-
-    m_microsecond = microsecond;
-}
-
-MgDateTime& MgDateTime::operator=(const MgDateTime& dt)
-{
-    if (&dt != this)
-    {
-        m_year        = dt.m_year;
-        m_month       = dt.m_month;
-        m_day         = dt.m_day;
-        m_hour        = dt.m_hour;
-        m_minute      = dt.m_minute;
-        m_second      = dt.m_second;
-        m_microsecond = dt.m_microsecond;
-    }
-
-    return *this;
-}
-
-bool MgDateTime::operator<(const MgDateTime& dt) const
-{
-    if ((m_year <  dt.m_year)
-     || (m_year == dt.m_year && m_month <  dt.m_month)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day <  dt.m_day)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour <  dt.m_hour)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute <  dt.m_minute)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute == dt.m_minute && m_second <  dt.m_second)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute == dt.m_minute && m_second == dt.m_second && m_microsecond < dt.m_microsecond))
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-bool MgDateTime::operator<=(const MgDateTime& dt) const
-{
-    if (*this > dt)
-    {
-        return false;
-    }
-    else
-    {
-        return true;
-    }
-}
-
-bool MgDateTime::operator>(const MgDateTime& dt) const
-{
-    if ((m_year >  dt.m_year)
-     || (m_year == dt.m_year && m_month >  dt.m_month)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day >  dt.m_day)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour >  dt.m_hour)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute >  dt.m_minute)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute == dt.m_minute && m_second >  dt.m_second)
-     || (m_year == dt.m_year && m_month == dt.m_month && m_day == dt.m_day && m_hour == dt.m_hour && m_minute == dt.m_minute && m_second == dt.m_second && m_microsecond > dt.m_microsecond))
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-bool MgDateTime::operator>=(const MgDateTime& dt) const
-{
-    if (*this < dt)
-    {
-        return false;
-    }
-    else
-    {
-        return true;
-    }
-}
-
-bool MgDateTime::operator==(const MgDateTime& dt) const
-{
-    if (m_year        == dt.m_year
-     && m_month       == dt.m_month
-     && m_day         == dt.m_day
-     && m_hour        == dt.m_hour
-     && m_minute      == dt.m_minute
-     && m_second      == dt.m_second
-     && m_microsecond == dt.m_microsecond)
-    {
-        return true;
-    }
-    else
-    {
-        return false;
-    }
-}
-
-bool MgDateTime::operator!=(const MgDateTime& dt) const
-{
-    return !(dt == *this);
-}
-
-void MgDateTime::Serialize(MgStream* stream)
-{
-    Ptr<MgStreamHelper> helper = stream->GetStreamHelper();
-    helper->WriteUINT16(m_year);
-    helper->WriteUINT8((BYTE)m_month);
-    helper->WriteUINT8((BYTE)m_day);
-    helper->WriteUINT8((BYTE)m_hour);
-    helper->WriteUINT8((BYTE)m_minute);
-    helper->WriteUINT8((BYTE)m_second);
-    helper->WriteUINT32(m_microsecond);
-}
-
-void MgDateTime::Deserialize(MgStream* stream)
-{
-    BYTE ch;
-    Ptr<MgStreamHelper> helper = stream->GetStreamHelper();
-
-    UINT16 val;
-    helper->GetUINT16(val);
-    m_year = (INT16) val;
-
-    helper->GetUINT8(ch);
-    m_month = INT8(ch);
-
-    helper->GetUINT8(ch);
-    m_day = (INT8)ch;
-
-    helper->GetUINT8(ch);
-    m_hour = (INT8)ch;
-
-    helper->GetUINT8(ch);
-    m_minute = (INT8)ch;
-
-    helper->GetUINT8(ch);
-    m_second = (INT8)ch;
-
-    UINT32 val2;
-    helper->GetUINT32(val2);
-    m_microsecond = (INT32) val2;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns an FDO date time string in one of these formats:
-///     "TIMESTAMP 'CCYY-MM-DD hh:mm:ss[.sss]'"
-///     "DATE 'CCYY-MM-DD'"
-///     "TIME 'hh:mm:ss[.sss]'"
-/// </summary>
-///----------------------------------------------------------------------------
-
-STRING MgDateTime::ToString()
-{
-    // Format the FDO date time string.
-
-    string fdoDateTime;
-    char buf[MG_MAX_DATE_TIME_BUFFER_LENGTH];
-
-    ::memset(buf, 0, sizeof(buf));
-
-    if (IsDateTime())
-    {
-        if (0 == m_microsecond)
-        {
-            ::sprintf(buf, "TIMESTAMP '%04d-%02d-%02d %02d:%02d:%02d'",
-                m_year, m_month, m_day, m_hour, m_minute, m_second);
-
-            fdoDateTime = buf;
-        }
-        else
-        {
-            if (m_microsecond % 1000 == 0) // only report milliseconds for FDO
-                ::sprintf(buf, "TIMESTAMP '%04d-%02d-%02d %02d:%02d:%02d.%03d",
-                    m_year, m_month, m_day, m_hour, m_minute, m_second, m_microsecond / 1000);
-            else
-                ::sprintf(buf, "TIMESTAMP '%04d-%02d-%02d %02d:%02d:%02d.%06d",
-                    m_year, m_month, m_day, m_hour, m_minute, m_second, m_microsecond);
-
-            fdoDateTime = buf;
-            MgUtil::TrimEndingZeros(fdoDateTime);
-            fdoDateTime += "'";
-        }
-    }
-    else if (IsDate())
-    {
-        ::sprintf(buf, "DATE '%04d-%02d-%02d'",
-            m_year, m_month, m_day);
-
-        fdoDateTime = buf;
-    }
-    else if (IsTime())
-    {
-        if (0 == m_microsecond)
-        {
-            ::sprintf(buf, "TIME '%02d:%02d:%02d'",
-                m_hour, m_minute, m_second);
-
-            fdoDateTime = buf;
-        }
-        else
-        {
-            if (m_microsecond % 1000 == 0) // only report milliseconds for FDO
-                ::sprintf(buf, "TIME '%02d:%02d:%02d.%03d",
-                    m_hour, m_minute, m_second, m_microsecond / 1000);
-            else
-                ::sprintf(buf, "TIME '%02d:%02d:%02d.%06d",
-                    m_hour, m_minute, m_second, m_microsecond);
-
-            fdoDateTime = buf;
-            MgUtil::TrimEndingZeros(fdoDateTime);
-            fdoDateTime += "'";
-        }
-    }
-    else
-    {
-        throw new MgDateTimeException(L"MgDateTime.ToString",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    return MgUtil::MultiByteToWideChar(fdoDateTime);
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns the XML date time string in the following formats:
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]"
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]Z"
-/// </summary>
-///----------------------------------------------------------------------------
-
-STRING MgDateTime::ToXmlString(bool utc)
-{
-    return MgUtil::MultiByteToWideChar(ToXmlStringUtf8(utc));
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns the XML date time string UTF8 in the following formats:
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]"
-///     "CCYY-MM-DDThh:mm:ss[.ssssss]Z"
-/// </summary>
-///----------------------------------------------------------------------------
-
-string MgDateTime::ToXmlStringUtf8(bool utc)
-{
-    // Convert the local time to the UTC time if required.
-
-    time_t timeValue = ToTimeValue();
-    struct tm timeInfo;
-
-    if (utc)
-    {
-        timeInfo = *::ACE_OS::gmtime(&timeValue);
-    }
-    else
-    {
-        timeInfo = *::ACE_OS::localtime(&timeValue);
-    }
-
-    // Format the XML date time string.
-
-    string xmlDateTime;
-    char buf[MG_MAX_DATE_TIME_BUFFER_LENGTH];
-
-    ::memset(buf, 0, sizeof(buf));
-
-    if (0 == m_microsecond)
-    {
-        ACE_OS::strftime(buf, MG_MAX_DATE_TIME_BUFFER_LENGTH,
-            "%Y-%m-%dT%H:%M:%S", &timeInfo);
-
-        xmlDateTime = buf;
-    }
-    else
-    {
-        ::sprintf(buf, "%04d-%02d-%02dT%02d:%02d:%02d.%06d",
-            timeInfo.tm_year + 1900, timeInfo.tm_mon + 1, timeInfo.tm_mday,
-            timeInfo.tm_hour, timeInfo.tm_min, timeInfo.tm_sec, m_microsecond);
-
-        xmlDateTime = buf;
-        MgUtil::TrimEndingZeros(xmlDateTime);
-    }
-
-    if (utc)
-    {
-        xmlDateTime += "Z";
-    }
-
-    return xmlDateTime;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Converts the date into a time_t value to allow time functions to be
-/// performed on this object.  Loses the microsecond precision.
-/// Date and time must be from midnight (00:00:00), January 1, 1970
-/// to 19:14:07 January 18, 2038, UTC.
-/// </summary>
-///----------------------------------------------------------------------------
-
-time_t MgDateTime::ToTimeValue()
-{
-    // Perform the conversion.
-    struct tm timeInfo;
-
-    GetDateTimeInfo(timeInfo);
-
-    time_t timeValue = ACE_OS::mktime(&timeInfo);
-
-    if (timeValue < 0)
-    {
-        throw new MgOutOfRangeException(L"MgDateTime.ToTimeValue",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    return timeValue;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns a unique number representing this Date, Time or DateTime.
-/// The algorithm for determining this number is described in DateTime.h.
-/// </summary>
-///----------------------------------------------------------------------------
-double MgDateTime::ToNumber()
-{
-    double val;
-    if (IsDate())
-    {
-        INT64 gdn = GregorianDay(m_day, m_month, m_year, 'G');
-        val = (double)gdn + DATE_ZERO;
-    }
-    else if (IsTime())
-    {
-        INT64 milliSeconds = (INT64)m_hour   * 60 * 60 * 1000 +
-                             (INT64)m_minute * 60 * 1000 +
-                             (INT64)m_second * 1000 +
-                             (INT64)m_microsecond / 1000;
-        val = (double)milliSeconds + TIME_ZERO;
-    }
-    else // if (IsDateTime())
-    {
-        val = (double)ToMilliSeconds();
-    }
-    return val;
-}
-
-// Converts this DateTime to the number of milliseconds
-// before or after the beginning of the Gregorian calendar.
-double MgDateTime::ToMilliSeconds()
-{
-    INT64 day = GregorianDay(m_day, m_month, m_year, 'G');
-    INT64 milliSeconds = (INT64)m_hour   * 60 * 60 * 1000 +
-                         (INT64)m_minute * 60 * 1000 +
-                         (INT64)m_second * 1000 +
-                         (INT64)m_microsecond / 1000;
-    if (day < 0)
-        milliSeconds *= -1;
-
-    return (day * 24.0 * 60.0 * 60.0 * 1000.0 + milliSeconds);
-}
-
-int MgDateTime::IsLeapYear(long year, char calendar) const
-{
-    calendar = (char)toupper((int)calendar);
-
-    if ( !calendar )
-    {
-        calendar = 'G';
-    }
-
-    if ( year%4 != 0L )  // not evenly divisible by 4
-    {
-        return 0;
-    }
-    else
-    {
-        if ( calendar == 'J' )
-        {
-            return 1;
-        }
-        else  // either divisible by 400 or not divisible by 100
-        {
-            return ( (year%100 != 0L || year%400 == 0L) ? 1 : 0 );
-        }
-    }
-
-} // end: IsLeapYear()
-
-
-long MgDateTime::lfloor(long a, long b)   //  assumes b positive
-{
-    return ( a >= 0L ? a/b : ( a%b == 0L ) - 1 - labs(a)/b );
-}
-
-
-long MgDateTime::GregorianDay(int day, int month, long year, char calendar)
-{
-    long gdn;
-    int month_length[14] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0};
-
-    calendar = (char)toupper((int)calendar);
-    if ( !calendar )
-        calendar = 'G';
-
-    month_length[2] = 28 + IsLeapYear(year, calendar);
-
-    if ( month < 1  || month > 12 || day < 1  || day > month_length[month] )
-        return 0;
-
-    // calculate the number of days before or after
-    // October 15, 1582 (Gregorian)
-
-    gdn = (year-1)*365 + lfloor(year-1,4L);
-    if ( calendar == 'G' )
-        gdn += lfloor(year-1,400L) - lfloor(year-1,100L);
-
-    while (--month)
-        gdn += month_length[month];
-    gdn += day - 577736L - 2*(calendar=='J');
-
-    month_length[2] = 28;
-    return gdn;
-}
-
-///----------------------------------------------------------------------------
-///
-/// CalendarDate - inverse of the above method.
-///
-///----------------------------------------------------------------------------
-
-void MgDateTime::CalendarDate(long gdn, char calendar)
-{
-    int month_length[14] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0};
-    int month, i, exception;
-    long year, y4, y100, y400;
-
-    calendar = (char)toupper((int)calendar);
-    if ( !calendar )
-        calendar = 'G';
-
-    gdn += 577735L + 2*(calendar=='J');
-
-    y400 = 146100L - 3*(calendar=='G');
-    y100 =  36525L -   (calendar=='G');
-    y4   =   1461L;
-
-    exception = false;
-    year = 400*lfloor(gdn,y400);        //  400-year periods
-    gdn -= y400*lfloor(gdn,y400);
-    if ( gdn > 0L )
-    {
-        year += 100*lfloor(gdn,y100);   //  100-year periods
-        gdn -= y100*lfloor(gdn,y100);
-        exception = ( gdn == 0L && calendar == 'G' );
-        if ( gdn > 0L )
-        {
-            year += 4*lfloor(gdn,y4);   //  4-year periods
-            gdn -= y4*lfloor(gdn,y4);
-            if ( gdn > 0L )
-            {
-                i = 0;
-                while ( gdn > 365 && ++i < 4 )
-                {
-                    year++;
-                    gdn -= 365L;
-                }
-            }
-        }
-    }
-
-    if ( exception )
-        gdn = 366L;
-        //  occurs once every hundred years with Gregorian calendar
-    else
-    {
-        year++;
-        gdn++;
-    }
-
-    month_length[2] = 28 + IsLeapYear(year, calendar);
-    month = 1;
-    while ( month < 13 && gdn > month_length[month] )
-        gdn -= month_length[month++];
-
-    if ( month == 13 )
-    {
-        month = 1;
-        year++;
-    }
-
-    month_length[2] = 28;
-
-    m_year = (INT16)year;
-    m_month = (INT8)month;
-    m_day = (INT8)gdn;
-}
-
-// populates the hours, minutes, seconds and microseconds members
-// of this MgDateTime using the provided number of milliseconds from
-// the beginning of this day.
-void MgDateTime::AssignTime(INT64 milliSeconds)
-{
-    INT64 hours = milliSeconds / (60 * 60 * 1000);
-    milliSeconds = milliSeconds - hours * (60 * 60 * 1000);
-    INT64 minutes = milliSeconds / (60 * 1000);
-    milliSeconds = milliSeconds - minutes * (60 * 1000);
-    INT64 seconds = milliSeconds / 1000;
-    milliSeconds = milliSeconds - seconds * 1000;
-    INT64 microseconds = milliSeconds * 1000;
-
-    m_hour = (INT8)hours;
-    m_minute = (INT8)minutes;
-    m_second = (INT8)seconds;
-    m_microsecond = (INT32)microseconds;
-}
-
-void MgDateTime::Initialize()
-{
-    m_year        = -1;
-    m_month       = -1;
-    m_day         = -1;
-    m_hour        = -1;
-    m_minute      = -1;
-    m_second      = -1;
-    m_microsecond = -1;
-}
-
-void MgDateTime::GetDateTimeInfo(struct tm& timeInfo) const
-{
-    timeInfo.tm_year  = m_year - 1900;
-    timeInfo.tm_mon   = m_month - 1;
-    timeInfo.tm_mday  = m_day;
-    timeInfo.tm_hour  = m_hour;
-    timeInfo.tm_min   = m_minute;
-    timeInfo.tm_sec   = m_second;
-    timeInfo.tm_wday  = -1;
-    timeInfo.tm_yday  = -1;
-    timeInfo.tm_isdst = -1;
-}
-
-void MgDateTime::SetDateTimeInfo(const struct tm& timeInfo)
-{
-    m_year        = timeInfo.tm_year + 1900;
-    m_month       = timeInfo.tm_mon + 1;
-    m_day         = timeInfo.tm_mday;
-    m_hour        = timeInfo.tm_hour;
-    m_minute      = timeInfo.tm_min;
-    m_second      = timeInfo.tm_sec;
-    m_microsecond = 0;
-}
-
-void MgDateTime::SplitSeconds(float seconds)
-{
-    float intPart = 0.0, fractPart = 0.0;
-    fractPart = ::modff(seconds, &intPart);
-
-    m_second = (INT8)intPart;
-    m_microsecond = (INT32)((fractPart * MG_MICRO_VALUE) + 0.5);
-
-    if (m_microsecond > 999999)
-    {
-        m_microsecond = 999999;
-    }
-}
-
-void MgDateTime::ValidateDateTime()
-{
-    ValidateDate();
-    ValidateTime();
-}
-
-void MgDateTime::ValidateDate()
-{
-    if (m_year < 1 || m_year > 9999)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_year, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidYear", NULL);
-    }
-
-    if (m_month < 1 || m_month > 12)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_month, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"2");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMonth", NULL);
-    }
-
-    int month_length[14] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0};
-
-    month_length[2] = 28 + IsLeapYear(m_year, 'G');
-
-    if (m_day < 1 || m_day > month_length[m_month])
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_day, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"3");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateDate",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidDay", NULL);
-    }
-}
-
-void MgDateTime::ValidateTime()
-{
-    if (m_hour < 0 || m_hour > 23)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_hour, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidHour", NULL);
-    }
-
-    if (m_minute < 0 || m_minute > 59)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_minute, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"2");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMinute", NULL);
-    }
-
-    if (m_second < 0 || m_second > 59)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_second, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"3");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidSecond", NULL);
-    }
-
-    if (m_microsecond < 0 || m_microsecond > 999999)
-    {
-        STRING buffer;
-        MgUtil::Int32ToString(m_microsecond, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"4");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgDateTime.ValidateTime",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidMicroSecond", NULL);
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// <summary>
-/// Validates the date time value.  This method should be called
-/// after the date time value has been fully specified by Set methods.
-/// </summary>
-void MgDateTime::Validate()
-{
-    if (IsDateTime())
-    {
-        ValidateDateTime();
-    }
-    else if (IsDate())
-    {
-        ValidateDate();
-    }
-    else if (IsTime())
-    {
-        ValidateTime();
-    }
-    else
-    {
-        throw new MgDateTimeException(L"MgDateTime.Validate",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-}
-
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/Data/DateTime.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/DateTime.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/DateTime.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,643 +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 MGDATETIME_H_
-#define MGDATETIME_H_
-
-#if WANT_ACE
-
-/// \defgroup MgDateTime MgDateTime
-/// \ingroup Common_Module
-/// \{
-
-class MgDateTime;
-template class MG_FOUNDATION_API Ptr<MgDateTime>;
-
-/////////////////////////////////////////////////////////////////
-/// \brief
-/// MgDateTime is used to store dates, times, or both.
-///
-/// \remarks
-/// The date and/or time can be modified using the various getters or setters that this class provides.
-/// MgDateTime represent date and time ranging from midnight (00:00:00), January 1, 1970 through 19:14:07 January 18, 2038, UTC.
-/// \param year
-/// Year in the range of 1 to 9999
-/// \param month
-/// Month in the range of 1 to 12 inclusive (January = 1)
-/// \param day
-/// Day of the month in the range of 1 to 31 inclusive
-/// \param hour
-/// Hour since midnight in the range of 0 to 23
-/// \param minute
-/// Minutes after hour in the range of 0 to 59
-/// \param second
-/// Seconds after minute in the range of 0 to 59
-/// \param microsecond
-/// Microseconds after second in the range of 0 to 999999
-///
-class MG_FOUNDATION_API  MgDateTime : public MgSerializable
-{
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgDateTime)
-
-PUBLISHED_API:
-    /// \brief
-    /// Construct a date time value initialized to the
-    /// current date and time
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns nothing.
-    ///
-    MgDateTime();
-
-    /// \brief
-    /// Construct a date value
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgDateTime(short year, short month, short day);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgDateTime(short year, short month, short day);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgDateTime(int year, int month, int day);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param year (short/int)
-    /// Input year
-    /// \param month (short/int)
-    /// Input month
-    /// \param day (short/int)
-    /// Input day of month
-    ///
-    /// \return
-    /// Returns nothing.
-    ///
-    MgDateTime(INT16 year, INT8 month, INT8 day);
-
-    /// \brief
-    /// Construct a time value
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgDateTime(short hour, short minute, short second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgDateTime(short hour, short minute, short second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgDateTime(int hour, int minute, int second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param hour (short/int)
-    /// Input hour
-    /// \param minute (short/int)
-    /// Input minute
-    /// \param second (short/int)
-    /// Input second
-    /// \param microsecond (int)
-    /// Input microsecond
-    ///
-    /// \return
-    /// Returns nothing.
-    ///
-    MgDateTime(INT8 hour, INT8 minute, INT8 second, INT32 microsecond);
-
-    /// \brief
-    /// Construct a date time value
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// MgDateTime(short year, short month, short day, short hour, short minute, short second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// MgDateTime(short year, short month, short day, short hour, short minute, short second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// MgDateTime(int year, int month, int day, int hour, int minute, int second, int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param year (short/int)
-    /// Input year
-    /// \param month (short/int)
-    /// Input month
-    /// \param day (short/int)
-    /// Input day of month
-    /// \param hour (short/int)
-    /// Input hour
-    /// \param minute (short/int)
-    /// Input minute
-    /// \param second (short/int)
-    /// Input second
-    /// \param microsecond (int)
-    /// Input microsecond
-    ///
-    /// \return
-    /// Returns nothing.
-    ///
-    MgDateTime(INT16 year, INT8 month, INT8 day, INT8 hour, INT8 minute, INT8 second, INT32 microsecond);
-
-    /// \brief
-    /// Gets the day component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetDay();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetDay();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetDay();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the day component of this object.
-    ///
-    INT8 GetDay();  /// __get, __set
-
-    /// \brief
-    /// Gets the month component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetMonth();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetMonth();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetMonth();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the month component of this object.
-    ///
-    INT8 GetMonth();  /// __get, __set
-
-    /// \brief
-    /// Gets the year component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetYear();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetYear();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetYear();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the year component of this object.
-    ///
-    INT16 GetYear();  /// __get, __set
-
-    /// \brief
-    /// Gets the hour component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetHour();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetHour();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetHour();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the hour component of this object.
-    ///
-    INT8 GetHour();  /// __get, __set
-
-    /// \brief
-    /// Gets the minute component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetMinute();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetMinute();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetMinute();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the minute component of this object.
-    ///
-    INT8 GetMinute();  /// __get, __set
-
-    /// \brief
-    /// Gets the second component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// short GetSecond();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// short GetSecond();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetSecond();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the second component of this object.
-    ///
-    INT8 GetSecond();  /// __get, __set
-
-    /// \brief
-    /// Gets the microsecond component of this object
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// int GetMicrosecond();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// int GetMicrosecond();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// int GetMicrosecond();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the microsecond component of this object.
-    ///
-    INT32 GetMicrosecond();  /// __get, __set
-
-    /// \brief
-    /// Sets the day component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetDay(short day);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetDay(short day);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetDay(int day);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param day (short/int)
-    /// Day of the month in the range of 1 to 31 inclusive
-    ///
-    void SetDay(INT8 day);
-
-    /// \brief
-    /// Sets the month component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetMonth(short month);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetMonth(short month);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetMonth(int month);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param month (short/int)
-    /// Month in the range of 1 to 12 inclusive (January = 1)
-    ///
-    void SetMonth(INT8 month);
-
-    /// \brief
-    /// Sets the year component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetYear(short year);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetYear(short year);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetYear(int year);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param year (short/int)
-    /// Year in the range of 1 to 9999
-    ///
-    void SetYear(INT16 year);
-
-    /// \brief
-    /// Sets the hour component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetHour(short hour);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetHour(short hour);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetHour(int hour);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param hour (short/int)
-    /// Hour since midnight in the range of 0 to 23
-    ///
-    void SetHour(INT8 hour);
-
-    /// \brief
-    /// Sets the minute component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetMinute(short minute);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetMinute(short minute);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetMinute(int minute);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param minute (short/int)
-    /// Minutes after hour in the range of 0 to 59
-    ///
-    void SetMinute(INT8 minute);
-
-    /// \brief
-    /// Sets the second component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetSecond(short second);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetSecond(short second);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetSecond(int second);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param second (short/int)
-    /// Seconds after minute in the range of 0 to 59
-    ///
-    void SetSecond(INT8 second);
-
-    /// \brief
-    /// Sets the microsecond component of this object
-    /// The Validate method should be called after the date time value has been
-    /// fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetMicrosecond(int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetMicrosecond(int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetMicrosecond(int microsecond);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param microsecond (int)
-    /// Microseconds after second in the range of 0 to 999999
-    ///
-    void SetMicrosecond(INT32 microsecond);
-
-    ////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Validates the date time value.  This method should be called
-    /// after the date time value has been fully specified by Set methods.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// virtual void Validate();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// virtual void Validate();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// virtual void Validate();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns nothing.
-    ///
-    void Validate();
-
-    /// \brief
-    /// Determines if this object only represents a date value.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// bool IsDate();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// boolean IsDate();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// bool IsDate();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns true if only the date is valid; otherwise returns false.
-    ///
-    bool IsDate();
-
-    /// \brief
-    /// Determines if this object only represents a time value.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// bool IsTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// boolean IsTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// bool IsTime();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns true if only the time is valid; otherwise returns false.
-    ///
-    bool IsTime();
-
-    /// \brief
-    /// Determines if this object represents both date and time values.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// bool IsDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// boolean IsDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// bool IsDateTime();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns true if both the date and time are valid; otherwise returns false.
-    ///
-    bool IsDateTime();
-
-EXTERNAL_API:
-
-    /// \brief
-    /// Returns date time object as a string
-    ///
-    STRING ToString();
-
-INTERNAL_API:
-
-    MgDateTime(INT16 year, INT8 month, INT8 day, INT8 hour, INT8 minute, float seconds);
-    explicit MgDateTime(CREFSTRING fdoDateTime);
-    explicit MgDateTime(const string& xmlDateTime);
-    explicit MgDateTime(time_t timeValue);
-    explicit MgDateTime(double number);
-    MgDateTime(const MgDateTime& dt);
-
-    MgDateTime& operator=(const MgDateTime& dt);
-    bool operator<(const MgDateTime& dt) const;
-    bool operator<=(const MgDateTime& dt) const;
-    bool operator>(const MgDateTime& dt) const;
-    bool operator>=(const MgDateTime& dt) const;
-    bool operator==(const MgDateTime& dt) const;
-    bool operator!=(const MgDateTime& dt) const;
-
-    void Serialize(MgStream* stream);
-    void Deserialize(MgStream* stream);
-
-    STRING ToXmlString(bool utc = true);
-    string ToXmlStringUtf8(bool utc = true);
-    time_t ToTimeValue();
-    double ToNumber();
-    double ToMilliSeconds();
-
-protected:
-
-    /////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the class Id
-    ///
-    /// \return
-    /// The integer value
-    ///
-    virtual INT32 GetClassId();
-
-    virtual void Dispose();
-
-private:
-
-    int IsLeapYear(long year, char calendar) const;
-    long lfloor(long a, long b);   //  assumes b positive
-    long GregorianDay(int day, int month, long year, char calendar);
-    void CalendarDate(long gdn, char calendar);
-    void AssignTime(INT64 microSeconds);
-
-    void Initialize();
-
-    void GetDateTimeInfo(struct tm& timeInfo) const;
-    void SetDateTimeInfo(const struct tm& timeInfo);
-
-    void SplitSeconds(float seconds);
-
-    void ValidateDateTime();
-    void ValidateDate();
-    void ValidateTime();
-
-    // To perform the SelectAggregates operations on DateTime data, each data value
-    // must be turned into an integer before the operation and restored to a DateTime
-    // value after the operation.  Since there are three types of values (Dates,
-    // Times and DateTimes), three ranges of integers are used to represent the
-    // converted data values.  Integers are stored as double precision values.
-    //
-    // Note that FDO's DateTime data only operates with millisecond precision.
-    // The methods related to performing SelectAggregates therefore only use
-    // millisecond precision, depsite the ability of MgDateTime to store microsecond
-    // values.  Using these methods on MgDateTime objects that were created from
-    // sources other than FDO strings will result in a loss of data.
-    //
-    // The largest range of values represent DateTimes, which have millisecond
-    // precision and range from January 1 in the year 1 to December 31 of 9999.
-    // Each DateTime maps to an integer representing the number of milliseconds
-    // before or since the beginning of the Gregorian Calendar (October 12, 1582),
-    // which maps to zero.
-    //
-    // Because doubles provide only 14 digits of precision, this mapping may result
-    // in a loss of data for DateTimes beginning in 3170.  This data loss would
-    // occur in the millisecond portion of the DateTime.  DateTimes before the
-    // beginning of the Gregorian Calendar are reprsented as negative integers
-    // that range down almost to -50 trillion.
-    //
-    // Each Time values maps to an integer representing the number of milliseconds
-    // since 12:00AM of the hypothetical day.  This results in 86.4 million values,
-    // which range up from -60 trillion.  Time values have no data loss issues.
-    //
-    // Each Date value is mapped to an integer representing the number of days
-    // before or after the beginning of the Gregorian Calendar.  These 3.65 million
-    // values range up from -70 trillion, and also have no data loss issues.
-
-    static const INT64 MIN_DATETIME = -50000000000000LL;
-    static const INT64 TIME_ZERO    = -60000000000000LL;
-    static const INT64 DATE_ZERO    = -70000000000000LL;
-
-private:
-
-    INT16   m_year;
-    INT8    m_month;
-    INT8    m_day;
-    INT8    m_hour;
-    INT8    m_minute;
-    INT8    m_second;
-    INT32   m_microsecond;
-
-CLASS_ID:
-
-    static const INT32 m_cls_id = Foundation_Data_DateTime;
-};
-/// \}
-
-#endif //WANT_ACE
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/Data/FeaturePropertyType.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/FeaturePropertyType.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/FeaturePropertyType.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -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_FEATURE_PROPERTY_TYPE_H_
-#define _MG_FEATURE_PROPERTY_TYPE_H_
-
-/// \defgroup MgFeaturePropertyType MgFeaturePropertyType
-/// \ingroup Feature_Properties_Module
-/// \{
-
-///////////////////////////////////////////////////////////
-/// \brief
-/// Defines names for the different types of property
-/// definitions. See MgPropertyDefinition::GetPropertyType.
-///
-class MgFeaturePropertyType
-{
-PUBLISHED_API:
-
-    /////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a data property definition. See
-    /// MgDataPropertyDefinition.
-    static const int DataProperty           =  100;
-
-    ////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for an object property definition. See
-    /// MgObjectPropertyDefinition.
-    static const int ObjectProperty         =  101;
-
-    //////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a geometric property definition. See
-    /// MgGeometricPropertyDefinition.
-    static const int GeometricProperty      =  102;
-
-    ///////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for an association property definition.
-    ///
-    /// \remarks
-    /// Currently there is no class for an association property
-    /// definition.
-    static const int AssociationProperty    =  103;
-
-    ///////////////////////////////////////////////////
-    /// Type name for a raster property definition. See
-    /// MgRasterPropertyDefinition.
-    static const int RasterProperty         =  104;
-};
-/// \}
-
-#endif

Modified: sandbox/adsk/vik/Common/Foundation/Data/NamedCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/NamedCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/NamedCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -49,7 +49,6 @@
 /// is no longer in the right position in the collection's name map.
 class MG_FOUNDATION_API MgNamedCollection : public MgCollection
 {
-    DECLARE_CLASSNAME(MgNamedCollection)
 
 INTERNAL_API:
     //////////////////////////////////////////////////////////

Deleted: sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -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
-//
-
-#include "stdafx.h"
-#include "Foundation.h"
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Constructor.  Initializes an empty property
-/// </summary>
-MgNullableProperty::MgNullableProperty()
-{
-    m_bIsNull = false;
-}
-
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Destructor.  Deletes property and any contained information
-/// </summary>
-MgNullableProperty::~MgNullableProperty()
-{
-}
-
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Set whether this property has no value. In other words, it contains
-/// NULL value.
-/// </summary>
-/// <param name="bIsNull">
-/// Specify TRUE or FALSE whether this property value is NULL
-/// </param>
-void MgNullableProperty::SetNull(bool bIsNull)
-{
-    m_bIsNull = bIsNull;
-}
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Determines whether property has null value
-/// </summary>
-/// <returns>
-/// TRUE - if property is null
-/// FALSE - if property has a value
-/// </returns>
-bool MgNullableProperty::IsNull()
-{
-    return m_bIsNull;
-}
-
-void MgNullableProperty::CheckNull()
-{
-    if (IsNull())
-    {
-        throw new MgException(L"NullPropertyValue: " + GetName());
-    }
-}
-

Deleted: sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/NullableProperty.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,102 +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_NULLABLE_PROPERTY_H
-#define _MG_NULLABLE_PROPERTY_H
-
-/// \defgroup MgNullableProperty MgNullableProperty
-/// \ingroup Feature_Properties_Module
-/// \{
-
-/////////////////////////////////////////////////////////////////
-/// \brief
-/// This is the base class for all properties which can have NULL
-/// values. If a property value is NULL, there is no value, and a
-/// call to the GetValue() method throws an exception.
-///
-
-class MG_FOUNDATION_API MgNullableProperty : public MgProperty
-{
-    DECLARE_CLASSNAME(MgNullableProperty)
-
-PUBLISHED_API:
-    //////////////////////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// If set to true, disables the getting and setting of the
-    /// property's value. It does not remove any existing value.
-    /// Attempting to get or set the value causes an
-    /// MgNullPropertyValueException. If set to false, reenables the
-    /// getting and setting of the property's values.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// void SetNull(bool bIsNull);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// void SetNull(boolean bIsNull);
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// void SetNull(bool bIsNull);
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \param bIsNull (boolean/bool)
-    /// Set to true to disable the getting and setting of
-    /// the property value. Set to false to reenable the
-    /// getting and setting of the property value.
-    ///
-    void SetNull(bool bIsNull);
-
-    ////////////////////////////////////////////////////////////
-    /// \brief
-    /// Determines whether the GetValue and SetValue methods are
-    /// enabled.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// bool IsNull();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// boolean IsNull();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// bool IsNull();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns true if the GetValue and SetValue methods are
-    /// enabled; otherwise returns false.
-    ///
-    bool IsNull();
-
-protected:
-
-    /// Constructor
-    MgNullableProperty();
-    /// Destructor
-    virtual ~MgNullableProperty();
-
-    /// Throws exception if property is null
-    void CheckNull();
-
-private :
-
-    /// Stores whether a value
-    bool m_bIsNull;
-};
-/// \}
-
-#endif

Modified: sandbox/adsk/vik/Common/Foundation/Data/Property.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/Property.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/Property.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -24,8 +24,6 @@
 
 #include <map>
 
-#include "PropertyType.h"
-
 class MgPropertyCollection;
 
 ////////////////////////////////////////////////////////////////
@@ -42,25 +40,6 @@
 class MG_FOUNDATION_API MgProperty : public MgNamedSerializable
 {
 PUBLISHED_API:
-    ///////////////////////////////////////////////////
-    /// \brief
-    /// Gets the property type.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// virtual short GetPropertyType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// virtual short GetPropertyType();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// virtual int GetPropertyType();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Returns the property type. See MgPropertyType.
-    ///
-    virtual INT16 GetPropertyType() = 0;  /// __get
 
     //////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,8 +18,6 @@
 #include "stdafx.h"
 #include "Foundation.h"
 
-MG_IMPL_DYNCREATE(MgPropertyCollection);
-
 //////////////////////////////////////////////////////////////////
 /// <summary>
 /// Constructs an MgPropertyCollection.  Collection is initially empty.

Modified: sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/PropertyCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -41,9 +41,6 @@
 ///
 class MG_FOUNDATION_API MgPropertyCollection : public MgCollection
 {
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgPropertyCollection)
-
 PUBLISHED_API:
     //////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,12 +18,9 @@
 #include "stdafx.h"
 #include "Foundation.h"
 
-MG_IMPL_DYNCREATE(MgPropertyDefinition);
-
 static std::map<INT16, std::string> sm_PropertyType;
 static std::map<INT16, std::string> sm_DataType;
 
-bool MgPropertyDefinition::smb_initialize = MgPropertyDefinition::Initialize();
 
 /////////////////////////////////////////////////////////////////
 /// <summary>
@@ -65,7 +62,6 @@
 /// </summary>
 MgPropertyDefinition::MgPropertyDefinition()
 {
-    m_propertyType = MgPropertyType::Byte;
     m_isDeleted = false;
 }
 
@@ -165,39 +161,7 @@
     return m_isDeleted;
 }
 
-/////////////////////////////////////////////////////////////////
-/// <summary>
-/// Static Initializer
-/// </summary>
-bool MgPropertyDefinition::Initialize()
-{
-    // Property Type for Features
-    sm_PropertyType[MgFeaturePropertyType::AssociationProperty]     =          "AssociationProperty";
-    sm_PropertyType[MgFeaturePropertyType::DataProperty]            =          "DataProperty";
-    sm_PropertyType[MgFeaturePropertyType::GeometricProperty]       =          "GeometricProperty";
-    sm_PropertyType[MgFeaturePropertyType::ObjectProperty]          =          "ObjectProperty";
-    sm_PropertyType[MgFeaturePropertyType::RasterProperty]          =          "RasterProperty";
 
-    // Data types for Column definition
-    sm_DataType[MgPropertyType::Null]     =             "null";      /// Null property (undefined)
-    sm_DataType[MgPropertyType::Boolean]  =          "boolean";      /// Boolean true/false value
-    sm_DataType[MgPropertyType::Byte]     =             "byte";      /// Unsigned 8 bit value
-    sm_DataType[MgPropertyType::DateTime] =         "datetime";      /// DateTime object
-    sm_DataType[MgPropertyType::Single]   =           "single";      /// Single precision floating point value
-    sm_DataType[MgPropertyType::Double]   =           "double";      /// Double precision floating point value
-    sm_DataType[MgPropertyType::Int16]    =            "int16";      /// 16 bit signed integer value
-    sm_DataType[MgPropertyType::Int32]    =            "int32";      /// 32 bit signed integer value
-    sm_DataType[MgPropertyType::Int64]    =            "int64";      /// 64 bit signed integer value
-    sm_DataType[MgPropertyType::String]   =           "string";      /// String MgProperty
-    sm_DataType[MgPropertyType::Blob]     =             "blob";      /// binary BLOB
-    sm_DataType[MgPropertyType::Clob]     =             "clob";      /// binary CLOB
-    sm_DataType[MgPropertyType::Feature]  =          "feature";      /// Feature object
-    sm_DataType[MgPropertyType::Geometry] =         "geometry";      /// Geometry object
-    sm_DataType[MgPropertyType::Raster]   =           "raster";      /// Raster object
-
-    return true;
-}
-
 /////////////////////////////////////////////////////////////////
 /// <summary>
 /// Sets the description of this property.

Modified: sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/PropertyDefinition.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -35,9 +35,6 @@
 ///
 class MG_FOUNDATION_API  MgPropertyDefinition : public MgProperty
 {
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgPropertyDefinition)
-
 PUBLISHED_API:
     //////////////////////////////////////////////////////////////////////
     /// \brief
@@ -253,8 +250,6 @@
     virtual void Dispose();
 
 private:
-    static bool Initialize();
-    static bool smb_initialize;
 
     STRING          m_qualifiedName;
     STRING          m_description;

Deleted: sandbox/adsk/vik/Common/Foundation/Data/PropertyType.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/PropertyType.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/PropertyType.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,129 +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
-//
-
-/// \defgroup MgPropertyType MgPropertyType
-/// \ingroup Feature_Properties_Module
-/// \{
-
-#ifndef _MG_PROPERTY_TYPE_H_
-#define _MG_PROPERTY_TYPE_H_
-
-////////////////////////////////////////////////////////////
-/// \brief
-/// Defines the names for the various property types.
-///
-/// \remarks
-/// All of the property types are data property types except
-/// Feature, Geometry, Null, and Raster.
-///
-class MgPropertyType
-{
-PUBLISHED_API:
-    ///////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a null property.
-    ///
-    /// \remarks
-    /// This property type name is not currently used.
-    static const int Null     =  0;
-
-    /////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a boolean property (MgBooleanProperty).
-    static const int Boolean  =  1;
-
-    ////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a byte (unsigned 8 bit value) property
-    /// (MgByteProperty).
-    static const int Byte     =  2;
-
-    //////////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for an MgDateTime property (MgDateTimeProperty).
-    static const int DateTime =  3;
-
-    /////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a single precision floating point value
-    /// property (MgSingleProperty).
-    static const int Single   =  4;
-
-    /////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a double precision floating point value
-    /// property (MgDoubleProperty).
-    static const int Double   =  5;
-
-    ////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a 16 bit signed integer value property
-    /// (MgInt16Property).
-    static const int Int16    =  6;
-
-    ////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a 32 bit signed integer value property
-    /// (MgInt32Property).
-    static const int Int32    =  7;
-
-    ////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a 64 bit signed integer value property
-    /// (MgInt64Property).
-    static const int Int64    =  8;
-
-    ///////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a string property (MgStringProperty).
-    static const int String   =  9;
-
-    ////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a Binary Large OBject property
-    /// (MgBlobProperty).
-    static const int Blob     = 10;
-
-    ///////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a Character Large OBject property
-    /// (MgClobProperty).
-    static const int Clob     = 11;
-
-    /////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a feature property (MgFeatureProperty).
-    static const int Feature  = 12;
-
-    ///////////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a geometry property (MgGeometryProperty).
-    static const int Geometry = 13;
-
-    ///////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a raster property (MgRasterProperty).
-    static const int Raster   = 14;
-
-    ///////////////////////////////////////////////////////
-    /// \brief
-    /// Type name for a decimal property.
-    static const int Decimal  = 15;
-};
-/// \}
-
-#endif

Modified: sandbox/adsk/vik/Common/Foundation/Data/StringCollection.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/StringCollection.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/StringCollection.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 #include "stdafx.h"
 #include "Foundation.h"
 
-MG_IMPL_DYNCREATE(MgStringCollection);
-
 //////////////////////////////////////////////////////////////////
 /// <summary>
 /// Constructs an MgStringCollection.  Collection is initially empty.

Modified: sandbox/adsk/vik/Common/Foundation/Data/StringCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/StringCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/StringCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -33,9 +33,6 @@
 /// Collections are <i>not</i> thread safe and ordered in the sequence of add operation.
 class MG_FOUNDATION_API MgStringCollection : public MgCollection
 {
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgStringCollection)
-
 PUBLISHED_API:
     //////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Foundation/Data/StringProperty.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/StringProperty.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/StringProperty.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,8 +18,6 @@
 #include "stdafx.h"
 #include "Foundation.h"
 
-MG_IMPL_DYNCREATE(MgStringProperty);
-
 /////////////////////////////////////////////////////////////////
 /// <summary>
 /// Constructor.
@@ -48,18 +46,6 @@
 
 /////////////////////////////////////////////////////////////////
 /// <summary>
-/// Returns the property type
-/// </summary>
-/// <returns>
-/// The property type
-/// </returns>
-INT16 MgStringProperty::GetPropertyType()
-{
-    return MgPropertyType::String;
-}
-
-/////////////////////////////////////////////////////////////////
-/// <summary>
 /// Returns the property value
 /// </summary>
 /// <returns>
@@ -67,7 +53,6 @@
 /// </returns>
 STRING MgStringProperty::GetValue()
 {
-    CheckNull();
     return m_value;
 }
 
@@ -81,7 +66,6 @@
 /// </returns>
 void MgStringProperty::SetValue(CREFSTRING value)
 {
-    CheckNull();
     m_value = value;
 }
 
@@ -120,12 +104,9 @@
             str += "<Type>string</Type>";
         }
 
-        if (!this->IsNull())
-        {
-            str += "<Value>";
-            str += MgUtil::WideCharToMultiByte(MgUtil::ReplaceEscapeCharInXml(this->GetValue()));
-            str += "</Value>";
-        }
+        str += "<Value>";
+        str += MgUtil::WideCharToMultiByte(MgUtil::ReplaceEscapeCharInXml(this->GetValue()));
+        str += "</Value>";
 
         str += "</" + rootElmName + ">";
     }

Modified: sandbox/adsk/vik/Common/Foundation/Data/StringProperty.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Data/StringProperty.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Data/StringProperty.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -34,11 +34,8 @@
 /// MgPropertyCollection object. Use the key name to retrieve the
 /// instance from the property collection.
 ///
-class MG_FOUNDATION_API MgStringProperty : public MgNullableProperty
+class MG_FOUNDATION_API MgStringProperty : public MgProperty
 {
-    MG_DECL_DYNCREATE();
-    DECLARE_CLASSNAME(MgStringProperty)
-
 PUBLISHED_API:
     ////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Foundation/Exception/Exception.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Exception/Exception.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Exception/Exception.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -19,19 +19,17 @@
 #include "Foundation.h"
 
 
-MgException::LocaleCallbackFunc MgException::sm_localeCallbackFunc = NULL;
-
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
 /// Construct a MgException.
 ///
 MgException::MgException(CREFSTRING whyMessageId) throw() :
-    m_whyMessageId(whyMessageId)
+    m_message(whyMessageId)
 {
 }
 
     MgException::MgException(const wchar_t* whyMessageId) throw() :
-    m_whyMessageId(whyMessageId)
+    m_message(whyMessageId)
 {
 }
 
@@ -54,378 +52,14 @@
 
 ///////////////////////////////////////////////////////////////////////////////
 /// \brief
-/// Return currently defined locale for user, or default locale.
-///
-STRING MgException::GetLocale() throw()
-{
-    STRING locale;
-
-    MG_TRY()
-
-    if (NULL != sm_localeCallbackFunc)
-    {
-        locale = (*sm_localeCallbackFunc)();
-    }
-
-    MG_CATCH_AND_RELEASE()
-
-    if (locale.empty())
-    {
-        locale = MgResources::DefaultMessageLocale;
-    }
-
-    return locale;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add the specified method name to the collection.
-///
-void MgException::AddMethodName(CREFSTRING methodName) throw()
-{
-    m_methodNames.Add(MgUtil::EncodeXss(methodName));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add the specified method params to the collection.
-///
-void MgException::AddMethodParams(CREFSTRING methodParams) throw()
-{
-    m_methodParams.Add(MgUtil::EncodeXss(methodParams));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add the specified line number to the collection.
-///
-void MgException::AddLineNumber(INT32 lineNumber) throw()
-{
-    STRING str;
-
-    MgUtil::Int32ToString(lineNumber, str);
-
-    m_lineNumbers.Add(str);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add the specified file name to the collection.
-///
-void MgException::AddFileName(CREFSTRING fileName) throw()
-{
-    m_fileNames.Add(MgUtil::EncodeXss(fileName));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add updated stack information to the exception.
-///
-void MgException::AddStackTraceInfo(CREFSTRING methodName, INT32 lineNumber,
-    CREFSTRING fileName) throw()
-{
-    AddStackTraceInfo(methodName, L"", lineNumber, fileName);
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Add updated stack information to the exception.
-///
-void MgException::AddStackTraceInfo(CREFSTRING methodName, CREFSTRING methodParams, INT32 lineNumber,
-    CREFSTRING fileName) throw()
-{
-    // Do not add to the stack if the same method name is already currently
-    // on the stack.
-
-    INT32 stackSize = m_methodNames.GetCount();
-
-    if (stackSize > 0)
-    {
-        if (methodName != m_methodNames.GetItem(stackSize - 1))
-        {
-            AddMethodName(methodName);
-            AddMethodParams(methodParams);
-            AddLineNumber(lineNumber);
-            AddFileName(fileName);
-        }
-    }
-    else
-    {
-        AddMethodName(methodName);
-        AddMethodParams(methodParams);
-        AddLineNumber(lineNumber);
-        AddFileName(fileName);
-    }
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Format a message with the specified arguments.
-/// This method should be called for critical errors when the configuration
-/// or resource file has not been loaded.
-///
-STRING MgException::FormatMessage(CREFSTRING resourceStr,
-    MgStringCollection* arguments) throw()
-{
-    assert(NULL != arguments);
-    STRING message;
-    return message;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Format a message using the specified locale.
-///
-STRING MgException::FormatMessage(CREFSTRING locale, CREFSTRING section,
-    CREFSTRING resourceId, MgStringCollection* arguments) throw()
-{
-    STRING message;
-    MgResources* resources = NULL;
-
-    return message;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Format the stack trace using the specified locale.
-///
-STRING MgException::FormatStackTrace(CREFSTRING locale) throw()
-{
-    STRING stackTrace;
-    const INT32 stackSize = m_methodNames.GetCount();
-    assert(stackSize > 0);
-    assert(m_methodParams.GetCount() == stackSize);
-    assert(m_lineNumbers.GetCount() == stackSize);
-    assert(m_fileNames.GetCount() == stackSize);
-
-    if (stackSize > 0)
-    {
-        const INT32 startIndex = stackSize - 1;
-
-        if (stackTrace.empty())
-        {
-            STRING methodStr = MgResources::FormatExceptionLocationMethods;
-            STRING lineStr = MgResources::FormatExceptionLocationLines;
-            STRING fileStr = MgResources::FormatExceptionLocationFiles;
-
-            for (INT32 i = startIndex; i >= 0; --i)
-            {
-                stackTrace += methodStr;
-                stackTrace += m_methodNames.GetItem(i);
-                stackTrace += lineStr;
-                stackTrace += m_lineNumbers.GetItem(i);
-                stackTrace += fileStr;
-                stackTrace += m_fileNames.GetItem(i);
-                stackTrace += L"\n";
-            }
-        }
-    }
-
-    return stackTrace;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Format the details using the specified locale.
-///
-STRING MgException::FormatDetails(CREFSTRING locale) throw()
-{
-    STRING stackTrace;
-    const INT32 stackSize = m_methodNames.GetCount();
-    assert(stackSize > 0);
-    assert(m_methodParams.GetCount() == stackSize);
-
-    if (stackSize > 0)
-    {
-        const INT32 startIndex = stackSize - 1;
-    }
-
-    return stackTrace;
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception message for the specified resource string.
-/// This method should be called for critical errors when the configuration
-/// or resource file has not been loaded.
-///
-STRING MgException::GetExceptionMessage(CREFSTRING locale, CREFSTRING resourceStr) 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()
-
-    if (m_message.empty())
-    {
-        m_message = FormatMessage(resourceStr, &m_whatArguments);
-
-        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;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
 /// Retrieve the formatted exception message for the specified locale.
 ///
-STRING MgException::GetExceptionMessage(CREFSTRING locale) throw()
+STRING MgException::GetExceptionMessage() 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()
-
-    if (m_message.empty())
-    {
-        m_message = FormatMessage(locale, MgResources::Resource_Exception_Section,
-            GetClassName(), &m_whatArguments);
-
-        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;
 }
 
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception details for the specified locale.
-///
-STRING MgException::GetDetails(CREFSTRING locale) throw()
-{
-    //
-    // Format:
-    //
-    //  { Description on WHAT the exception is }
-    //  [ Reason on WHY the exception occurs ]
-    //  { Location of WHERE the exception is caught }
-    //
-    // Example:
-    //
-    //  Invalid argument(s):
-    //      [1] = 2005-12-08T15:30
-    //  The XML date time is invalid because not all of the fields were found.
-    //  Exception occurred in method MgDateTime.MgDateTime at line 88 in file MgDateTime.cpp
-    //
 
-    MG_TRY()
-
-    if (m_details.empty())
-    {
-        m_details = GetExceptionMessage(locale);
-        m_details += L"\n";
-        m_details += FormatDetails(locale);
-    }
-
-    MG_CATCH_AND_RELEASE()
-
-    return m_details;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception stack trace for the specified locale.
-///
-STRING MgException::GetStackTrace(CREFSTRING locale) throw()
-{
-    //
-    // Format:
-    //
-    //  { Locations of WHERE the exceptions are caught }
-    //
-    // Example:
-    //
-    //  - MgServerResourceService.GetResourceContent line 719 file ServerResourceService.cpp
-    //  - MgApplicationRepositoryManager.GetResourceContent line 350 file ApplicationRepositoryManager.cpp
-    //  - MgResourceDefinitionManager.GetResource line 624 file ResourceDefinitionManager.cpp
-    //
-
-    MG_TRY()
-
-    if (m_stackTrace.empty())
-    {
-        m_stackTrace = FormatStackTrace(locale);
-    }
-
-    MG_CATCH_AND_RELEASE()
-
-    return m_stackTrace;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception message for the specified locale.
-///
-STRING MgException::GetExceptionMessage() throw()
-{
-    return GetExceptionMessage(GetLocale());
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted exception details for the specified locale.
-///
-STRING MgException::GetDetails() throw()
-{
-    return GetDetails(GetLocale());
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieve the formatted stack trace for the specified locale.
-///
-STRING MgException::GetStackTrace() throw()
-{
-    return GetStackTrace(GetLocale());
-}
-
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Registers an application specific callback function to retrieve the
-/// current user locale.
-///
-void MgException::RegisterLocaleCallback(LocaleCallbackFunc func)
-{
-    sm_localeCallbackFunc = func;
-}
-
 //MgObject Defaults
 MgException::MgException() throw() {} 
 MgObject* MgException::CreateObject() { return new MgException(); } 

Modified: sandbox/adsk/vik/Common/Foundation/Exception/Exception.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Exception/Exception.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Exception/Exception.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -27,9 +27,8 @@
 /// \brief
 /// Base class for exceptions.
 ///
-class MG_FOUNDATION_API MgException : public MgSerializable
+class MG_FOUNDATION_API MgException : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgException)
 
 PUBLISHED_API:
 
@@ -90,103 +89,12 @@
     ///
     STRING GetDetails() throw();
 
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception stack trace.  This includes file and line
-    /// numbers, method names, and method parameters.  This string is useful for
-    /// debugging !MapGuide.
-    ///
-    /// <!-- Syntax in .Net, Java, and PHP -->
-    /// \htmlinclude DotNetSyntaxTop.html
-    /// string GetStackTrace() throw();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude JavaSyntaxTop.html
-    /// String GetStackTrace() throw();
-    /// \htmlinclude SyntaxBottom.html
-    /// \htmlinclude PHPSyntaxTop.html
-    /// string GetStackTrace() throw();
-    /// \htmlinclude SyntaxBottom.html
-    ///
-    /// \return
-    /// Call stack trace with method parameters
-    ///
-    STRING GetStackTrace() throw();
 
 EXTERNAL_API:
 
-    ///////////////////////////////////////////////////////////////////////////
-    /// \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();
 
     ///////////////////////////////////////////////////////////////////////////
     /// \brief
-    /// Retrieve the formatted exception details 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 details
-    ///
-    STRING GetDetails(CREFSTRING locale) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception stack trace 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 stack trace
-    ///
-    STRING GetStackTrace(CREFSTRING locale) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add updated stack information to the exception.
-    ///
-    /// \param methodName
-    /// Unqualified method name to add to call stack
-    /// \param lineNumber
-    /// Line number to add to call stack
-    /// \param fileName
-    /// File name to add to call stack
-    ///
-    void AddStackTraceInfo(CREFSTRING methodName, INT32 lineNumber, CREFSTRING fileName) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add updated stack information to the exception.
-    ///
-    /// \param methodName
-    /// Unqualified method name to add to call stack
-    /// \param methodParams
-    /// String of method parameters to add to call stack
-    /// \param lineNumber
-    /// Line number to add to call stack
-    /// \param fileName
-    /// File name to add to call stack
-    ///
-    void AddStackTraceInfo(CREFSTRING methodName, CREFSTRING methodParams, INT32 lineNumber, CREFSTRING fileName) throw();
-
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
     /// Destruct the object.
     ///
     /// \return
@@ -205,138 +113,19 @@
     ///
     virtual void Dispose() throw();
 
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Format a message with the specified arguments.
-    /// This method should be called for critical errors when the configuration
-    /// or resource file has not been loaded.
-    ///
-    STRING FormatMessage(CREFSTRING resourceStr,
-        MgStringCollection* arguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Format a message using the specified locale.
-    ///
-    STRING FormatMessage(CREFSTRING locale, CREFSTRING section,
-        CREFSTRING resourceId, MgStringCollection* arguments) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Format the details using the specified locale.
-    ///
-    STRING FormatDetails(CREFSTRING locale) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Format the stack trace using the specified locale.
-    ///
-    STRING FormatStackTrace(CREFSTRING locale) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Retrieve the formatted exception message for the specified resource string.
-    /// This method should be called for critical errors when the configuration
-    /// or resource file has not been loaded.
-    ///
-    STRING GetExceptionMessage(CREFSTRING locale, CREFSTRING resourceStr) throw();
-
-private:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Return currently defined locale for user, or default locale.
-    ///
-    STRING GetLocale() throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add the specified method name to the collection.
-    ///
-    /// \param methodName
-    /// Qualified method name where the exception occurred
-    ///
-    void AddMethodName(CREFSTRING methodName) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add the specified method params to the collection.
-    ///
-    /// \param methodParams
-    /// Method params where the exception occurred
-    ///
-    void AddMethodParams(CREFSTRING methodParams) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add the specified line number to the collection.
-    ///
-    /// \param lineNumber
-    /// Line number where the exception occurred
-    ///
-    void AddLineNumber(INT32 lineNumber) throw();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Add the specified file name to the collection.
-    ///
-    /// \param fileName
-    /// File name where the exception occurred
-    ///
-    void AddFileName(CREFSTRING fileName) throw();
-
 protected:
-
-    /// Collection of method names which trace the stack leading up to the exception.
-    MgStringCollection m_methodNames;
-
-    /// Collection of method parameters which trace the stack leading up to the exception.
-    MgStringCollection m_methodParams;
-
-    /// Collection of line numbers which trace the stack leading up to the exception.
-    MgStringCollection m_lineNumbers;
-
-    /// Collection of file names which trace the stack leading up to the exception.
-    MgStringCollection m_fileNames;
-
-    /// Collection of arguments used to format the message that describes what the exception is.
-    MgStringCollection m_whatArguments;
-
-    /// ID of the message that describes why the exception occurs.
-    STRING m_whyMessageId;
-
-    /// Collection of arguments used to format the message that describes why the exception occurs.
-    MgStringCollection m_whyArguments;
-
     /// The localized message.
     STRING m_message;
 
-    /// The localized details.
-    STRING m_details;
 
-    /// The localized stack trace.
-    STRING m_stackTrace;
-
 INTERNAL_API:
 
-    typedef STRING (*LocaleCallbackFunc)();
-
-    ///////////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Registers an application specific callback function to retrieve the
-    /// current user locale.
-    ///
-    static void RegisterLocaleCallback(LocaleCallbackFunc func);
-
     //MgObject defaults
     static MgObject* CreateObject(); 
     virtual void Raise(); 
     protected: 
     MgException() throw();
 
-private:
-
-    static LocaleCallbackFunc sm_localeCallbackFunc;
 };
 
 #endif

Modified: sandbox/adsk/vik/Common/Foundation/Foundation.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Foundation.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Foundation.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -35,32 +35,21 @@
 #include "System/Ptr.h"
 #include "System/Disposable.h"
 #include "System/GuardDisposable.h"
-#include "System/Serializable.h"
 #include "System/NamedSerializable.h"
 
-#include "Data/ByteReader.h"
-
 #include "System/FoundationUnicodeString.h"
 #include "Data/Collection.h"
 #include "System/DisposableCollection.h"
 #include "Data/StringCollection.h"
 #include "Data/NamedCollection.h"
-#include "Data/DateTime.h"
 #include "Data/Property.h"
-#include "Data/FeaturePropertyType.h"
 #include "Data/PropertyDefinition.h"
 #include "Data/PropertyCollection.h"
-#include "Data/NullableProperty.h"
 #include "Data/StringProperty.h"
 #include "Data/BatchPropertyCollection.h"
-#include "System/FoundationConfigProperties.h"
 #include "System/FileUtil.h"
 #include "System/Util.h"
 
-#include "System/ConfigurationSection.h"
-#include "System/Configuration.h"
-#include "System/Resources.h"
-
 // Base exception classes and defines
 #include "Exception/ExceptionDefs.h"
 #include "Exception/Exception.h"

Modified: sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj	2012-03-31 19:37:59 UTC (rev 6565)
@@ -207,7 +207,6 @@
     <ClCompile Include="Data\BatchPropertyCollection.cpp" />
     <ClCompile Include="Data\Collection.cpp" />
     <ClCompile Include="Data\NamedCollection.cpp" />
-    <ClCompile Include="Data\NullableProperty.cpp" />
     <ClCompile Include="Data\Property.cpp" />
     <ClCompile Include="Data\PropertyCollection.cpp" />
     <ClCompile Include="Data\PropertyDefinition.cpp" />
@@ -219,7 +218,6 @@
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
     </ClCompile>
-    <ClCompile Include="System\ConfigurationSection.cpp" />
     <ClCompile Include="System\ConvertUTF.c">
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
@@ -233,9 +231,6 @@
     <ClCompile Include="System\GuardDisposable.cpp" />
     <ClCompile Include="System\NamedSerializable.cpp" />
     <ClCompile Include="System\Object.cpp" />
-    <ClCompile Include="System\Resources.cpp" />
-    <ClCompile Include="System\Serializable.cpp" />
-    <ClCompile Include="System\SetLocale.cpp" />
     <ClCompile Include="System\Util.cpp" />
   </ItemGroup>
   <ItemGroup>
@@ -245,17 +240,12 @@
     <ClInclude Include="Data\Collection.h" />
     <ClInclude Include="Data\FeaturePropertyType.h" />
     <ClInclude Include="Data\NamedCollection.h" />
-    <ClInclude Include="Data\NullableProperty.h" />
     <ClInclude Include="Data\Property.h" />
     <ClInclude Include="Data\PropertyCollection.h" />
     <ClInclude Include="Data\PropertyDefinition.h" />
-    <ClInclude Include="Data\PropertyType.h" />
     <ClInclude Include="Data\StringCollection.h" />
     <ClInclude Include="Data\StringProperty.h" />
     <ClInclude Include="stdafx.h" />
-    <ClInclude Include="System\BinaryStreamArgumentPacket.h" />
-    <ClInclude Include="System\CollectionPacket.h" />
-    <ClInclude Include="System\ConfigurationSection.h" />
     <ClInclude Include="System\ConvertUTF.h" />
     <ClInclude Include="System\FoundationUnicodeString.h" />
     <ClInclude Include="System\Mutex.h" />
@@ -263,13 +253,9 @@
     <ClInclude Include="System\DisposableCollection.h" />
     <ClInclude Include="System\FileUtil.h" />
     <ClInclude Include="System\GuardDisposable.h" />
-    <ClInclude Include="System\LinuxMemoryStatus.h" />
     <ClInclude Include="System\NamedSerializable.h" />
     <ClInclude Include="System\Object.h" />
     <ClInclude Include="System\Ptr.h" />
-    <ClInclude Include="System\Resources.h" />
-    <ClInclude Include="System\Serializable.h" />
-    <ClInclude Include="System\SetLocale.h" />
     <ClInclude Include="System\Util.h" />
     <ClInclude Include="Foundation.h" />
     <ClInclude Include="FoundationDefs.h" />

Modified: sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj.filters
===================================================================
--- sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj.filters	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/Foundation.vcxproj.filters	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,9 +18,6 @@
     <ClCompile Include="Data\NamedCollection.cpp">
       <Filter>Data</Filter>
     </ClCompile>
-    <ClCompile Include="Data\NullableProperty.cpp">
-      <Filter>Data</Filter>
-    </ClCompile>
     <ClCompile Include="Data\Property.cpp">
       <Filter>Data</Filter>
     </ClCompile>
@@ -36,9 +33,6 @@
     <ClCompile Include="Data\StringProperty.cpp">
       <Filter>Data</Filter>
     </ClCompile>
-    <ClCompile Include="System\ConfigurationSection.cpp">
-      <Filter>System</Filter>
-    </ClCompile>
     <ClCompile Include="System\Disposable.cpp">
       <Filter>System</Filter>
     </ClCompile>
@@ -51,21 +45,9 @@
     <ClCompile Include="System\GuardDisposable.cpp">
       <Filter>System</Filter>
     </ClCompile>
-    <ClCompile Include="System\NamedSerializable.cpp">
-      <Filter>System</Filter>
-    </ClCompile>
     <ClCompile Include="System\Object.cpp">
       <Filter>System</Filter>
     </ClCompile>
-    <ClCompile Include="System\Resources.cpp">
-      <Filter>System</Filter>
-    </ClCompile>
-    <ClCompile Include="System\Serializable.cpp">
-      <Filter>System</Filter>
-    </ClCompile>
-    <ClCompile Include="System\SetLocale.cpp">
-      <Filter>System</Filter>
-    </ClCompile>
     <ClCompile Include="System\Util.cpp">
       <Filter>System</Filter>
     </ClCompile>
@@ -77,6 +59,9 @@
     </ClCompile>
     <ClCompile Include="stdafx.cpp" />
     <ClCompile Include="Exception\Exception.cpp" />
+    <ClCompile Include="System\NamedSerializable.cpp">
+      <Filter>System</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include="Data\BatchPropertyCollection.h">
@@ -91,9 +76,6 @@
     <ClInclude Include="Data\NamedCollection.h">
       <Filter>Data</Filter>
     </ClInclude>
-    <ClInclude Include="Data\NullableProperty.h">
-      <Filter>Data</Filter>
-    </ClInclude>
     <ClInclude Include="Data\Property.h">
       <Filter>Data</Filter>
     </ClInclude>
@@ -103,24 +85,12 @@
     <ClInclude Include="Data\PropertyDefinition.h">
       <Filter>Data</Filter>
     </ClInclude>
-    <ClInclude Include="Data\PropertyType.h">
-      <Filter>Data</Filter>
-    </ClInclude>
     <ClInclude Include="Data\StringCollection.h">
       <Filter>Data</Filter>
     </ClInclude>
     <ClInclude Include="Data\StringProperty.h">
       <Filter>Data</Filter>
     </ClInclude>
-    <ClInclude Include="System\BinaryStreamArgumentPacket.h">
-      <Filter>System</Filter>
-    </ClInclude>
-    <ClInclude Include="System\CollectionPacket.h">
-      <Filter>System</Filter>
-    </ClInclude>
-    <ClInclude Include="System\ConfigurationSection.h">
-      <Filter>System</Filter>
-    </ClInclude>
     <ClInclude Include="System\Disposable.h">
       <Filter>System</Filter>
     </ClInclude>
@@ -133,27 +103,12 @@
     <ClInclude Include="System\GuardDisposable.h">
       <Filter>System</Filter>
     </ClInclude>
-    <ClInclude Include="System\LinuxMemoryStatus.h">
-      <Filter>System</Filter>
-    </ClInclude>
-    <ClInclude Include="System\NamedSerializable.h">
-      <Filter>System</Filter>
-    </ClInclude>
     <ClInclude Include="System\Object.h">
       <Filter>System</Filter>
     </ClInclude>
     <ClInclude Include="System\Ptr.h">
       <Filter>System</Filter>
     </ClInclude>
-    <ClInclude Include="System\Resources.h">
-      <Filter>System</Filter>
-    </ClInclude>
-    <ClInclude Include="System\Serializable.h">
-      <Filter>System</Filter>
-    </ClInclude>
-    <ClInclude Include="System\SetLocale.h">
-      <Filter>System</Filter>
-    </ClInclude>
     <ClInclude Include="System\Util.h">
       <Filter>System</Filter>
     </ClInclude>
@@ -171,6 +126,9 @@
     <ClInclude Include="stdafx.h" />
     <ClInclude Include="Exception\Exception.h" />
     <ClInclude Include="Exception\ExceptionDefs.h" />
+    <ClInclude Include="System\NamedSerializable.h">
+      <Filter>System</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="Foundation.rc" />

Modified: sandbox/adsk/vik/Common/Foundation/FoundationDefs.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/FoundationDefs.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/FoundationDefs.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -67,14 +67,6 @@
 #define APICALL
 #endif
 
-#define MG_DECL_DYNCREATE() \
-public: \
-    static MgObject* CreateObject();
-
-#define MG_IMPL_DYNCREATE(class_name) \
-    MgObject* class_name::CreateObject() \
-        { return new class_name(); }
-
 // Wide character version of __FILE__ macro
 #define WIDEN2(x) L ## x
 #define WIDEN(x) WIDEN2(x)
@@ -86,11 +78,6 @@
     #endif
 #endif
 
-#define DECLARE_CLASSNAME(className) \
-public: \
-    virtual STRING GetClassName() { return WIDEN(#className) ; } \
-    virtual char* GetMultiByteClassName() { return #className ; } \
-
 #ifndef _WIN32
 //////////////////////////////////////////////////////////////////////////////
 /// \brief

Deleted: sandbox/adsk/vik/Common/Foundation/System/BinaryStreamArgumentPacket.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/BinaryStreamArgumentPacket.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/BinaryStreamArgumentPacket.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,38 +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 MGBINARYSTREAMARGUMENTPACKET_H_MG
-#define MGBINARYSTREAMARGUMENTPACKET_H_MG
-
-#include "ArgumentPacket.h"
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////
-//  Binary Stream Argument Packet Wrapper Structure
-struct MgBinaryStreamArgumentPacket : public MgArgumentPacket
-{
-    MgBinaryStreamArgumentPacket()
-    :
-    m_Version(0)
-    {
-    }
-
-    UINT32      m_Version;
-};
-/// \endcond
-
-#endif  //  MGBINARYSTREAMARGUMENTPACKET_H_MG

Deleted: sandbox/adsk/vik/Common/Foundation/System/CollectionPacket.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/CollectionPacket.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/CollectionPacket.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,38 +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 MGCOLLECTIONPACKET_H_MG
-#define MGCOLLECTIONPACKET_H_MG
-
-#include "ArgumentPacket.h"
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////
-//  Collection Packet Wrapper Structure
-struct MgCollectionPacket : public MgArgumentPacket
-{
-    MgCollectionPacket()
-    :
-     m_NumElements(0)
-    {
-    }
-
-    UINT32  m_NumElements;
-};
-/// \endcond
-
-#endif  //  MGCOLLECTIONPACKET_H_MG

Deleted: sandbox/adsk/vik/Common/Foundation/System/Configuration.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Configuration.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Configuration.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,851 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_ACE
-
-// Process-wide MgConfiguration
-Ptr<MgConfiguration> MgConfiguration::sm_configuration = (MgConfiguration*)NULL;
-
-const STRING MgConfiguration::sm_reservedCharacters = L"<>&[]="; // including MgUtil::sm_xssReservedCharacters
-
-/// <summary>
-/// Constructor
-/// </summary>
-MgConfiguration::MgConfiguration()
-{
-    m_fileLoaded = false;
-    m_config = new MgConfigurationHeap;
-}
-
-/// <summary>
-/// Destructor
-/// </summary>
-MgConfiguration::~MgConfiguration()
-{
-    delete m_config;
-}
-
-/// <summary>
-/// Self Destructor
-/// </summary>
-void MgConfiguration::Dispose()
-{
-    delete this;
-}
-
-/// <summary>
-/// Get pointer to a process-wide MgConfiguration.
-/// </summary>
-MgConfiguration* MgConfiguration::GetInstance()
-{
-    MG_CONFIGURATION_TRY()
-
-    ACE_TRACE ("MgConfiguration::GetInstance");
-
-    if (MgConfiguration::sm_configuration == NULL)
-    {
-        // Perform Double-Checked Locking Optimization.
-        ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance (), 0));
-        if (MgConfiguration::sm_configuration == NULL)
-        {
-            MgConfiguration::sm_configuration = new MgConfiguration;
-        }
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetInstance")
-
-    // To avoid overheads and maintain thread safety,
-    // do not assign this returned static singleton to a Ptr object.
-    return MgConfiguration::sm_configuration;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Loads the configuration file specified
-/// </summary>
-///
-/// <param name="fileName">
-/// name of file to load
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///----------------------------------------------------------------------------
-
-void MgConfiguration::LoadConfiguration(CREFSTRING fileName)
-{
-    ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex));
-
-    MG_CONFIGURATION_TRY()
-
-    // We need to ensure that the configuration file is loaded only once from this configuration object
-    // ACE returns an EBUSY error if the Open() method of ACE_Configuration_Heap is called more than once.
-    if(!m_fileLoaded)
-    {
-        m_fileName = fileName;
-
-        if(m_config.Open())
-        {
-            if(m_config.ImportConfig(fileName))
-            {
-                m_fileLoaded = true;
-            }
-            else
-            {
-                MgStringCollection arguments;
-                arguments.Add(fileName);
-
-                throw new MgConfigurationLoadFailedException(
-                    L"MgConfiguration.LoadConfiguration",
-                    __LINE__, __WFILE__, &arguments, L"", NULL);
-            }
-        }
-        else
-        {
-            ACE_ERROR((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("MgConfiguration::LoadConfiguration()")));
-        }
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.LoadConfiguration")
-}
-
-void MgConfiguration::AppendValidationInfo(CREFSTRING section, MgConfigValidationInfo* validationInfo)
-{
-    ValidationEntry valEntry;
-    valEntry.section = section;
-    valEntry.validationInfo = validationInfo;
-    m_validationInfo.push_back(valEntry);
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Saves the configuration data to file specified
-/// </summary>
-///
-/// <param name="fileName">
-/// name of file to save
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///----------------------------------------------------------------------------
-
-void MgConfiguration::SaveConfiguration(CREFSTRING fileName)
-{
-    MG_CONFIGURATION_TRY()
-
-    // the MgConfigurationHeap is thread-safe
-    if(!m_config.ExportConfig(fileName))
-    {
-        MgStringCollection arguments;
-        arguments.Add(fileName);
-
-        throw new MgConfigurationSaveFailedException(
-            L"MgConfiguration.SaveConfiguration",
-            __LINE__, __WFILE__, &arguments, L"", NULL);
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.SaveConfiguration")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Get Integer value from a section
-/// </summary>
-///
-/// <param name="section">
-/// Section in config file
-/// </param>
-/// <param name="property">
-/// Property in the section
-/// </param>
-/// <param name="value">
-/// Out parameter for value to store
-/// </param>
-/// <param name="defaultValue">
-/// Default value in case property is missing
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///
-/// EXCEPTIONS:
-/// MgInvalidPropertyValueException ???
-///----------------------------------------------------------------------------
-
-void MgConfiguration::GetIntValue(CREFSTRING section, CREFSTRING property, INT32& value, INT32 defaultValue)
-{
-    MG_CONFIGURATION_TRY()
-
-    STRING tempValue;
-
-    if (GetValue(section, property, tempValue))
-    {
-        value = ACE_OS::atoi(tempValue.c_str());
-    }
-    else
-    {
-        value = defaultValue;
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetIntValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Get bool value from a section
-/// </summary>
-///
-/// <param name="section">
-/// Section in config file
-/// </param>
-/// <param name="property">
-/// Property in the section
-/// </param>
-/// <param name="value">
-/// Out parameter for value to store
-/// </param>
-/// <param name="defaultValue">
-/// Default value in case property is missing
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///
-/// EXCEPTIONS:
-/// MgInvalidPropertyValueException ???
-///----------------------------------------------------------------------------
-
-void MgConfiguration::GetBoolValue(CREFSTRING section, CREFSTRING property, bool& value, bool defaultValue)
-{
-    MG_CONFIGURATION_TRY()
-
-    STRING tempValue;
-
-    if (GetValue(section, property, tempValue))
-    {
-        value = (ACE_OS::atoi(tempValue.c_str()) != 0);
-    }
-    else
-    {
-        value = defaultValue;
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetBoolValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Get Double value from a section
-/// </summary>
-///
-/// <param name="section">
-/// Section in config file
-/// </param>
-/// <param name="property">
-/// Property in the section
-/// </param>
-/// <param name="value">
-/// Out parameter for value to store
-/// </param>
-/// <param name="defaultValue">
-/// Default value in case property is missing
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///
-/// EXCEPTIONS:
-/// MgInvalidPropertyValueException ???
-///----------------------------------------------------------------------------
-
-void MgConfiguration::GetDoubleValue(CREFSTRING section, CREFSTRING property, double& value, double defaultValue)
-{
-    MG_CONFIGURATION_TRY()
-
-    STRING tempValue;
-
-    if (GetValue(section, property, tempValue))
-    {
-        // Assume all the settings specified in the configuration file are in
-        // the C locale.
-        value = ACE_OS::strtod(tempValue.c_str(), NULL);
-    }
-    else
-    {
-        value = defaultValue;
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetDoubleValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Get Integer value from a section
-/// </summary>
-///
-/// <param name="section">
-/// Section in config file
-/// </param>
-/// <param name="property">
-/// Property in the section
-/// </param>
-/// <param name="value">
-/// Out parameter for value to store
-/// </param>
-/// <param name="defaultValue">
-/// Default value in case property is missing
-/// </param>
-///
-/// <returns>
-/// true  - Property found
-/// false - Default value
-/// </returns>
-///----------------------------------------------------------------------------
-
-void MgConfiguration::GetStringValue(CREFSTRING section, CREFSTRING property, REFSTRING value, CREFSTRING defaultValue)
-{
-    MG_CONFIGURATION_TRY()
-
-    if (!GetValue(section, property, value))
-    {
-        value = defaultValue;
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetStringValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets the generic value in string.
-/// </summary>
-///
-/// <param name="section">
-/// Section in config file.
-/// </param>
-/// <param name="property">
-/// Property in the section.
-/// </param>
-/// <param name="value">
-/// Out parameter for value to store.
-/// </param>
-///
-/// <returns>
-/// true if successful (i.e. the property is found and its value is retrieved),
-/// false otherwise.
-/// </returns>
-///----------------------------------------------------------------------------
-
-bool MgConfiguration::GetValue(CREFSTRING section, CREFSTRING property, REFSTRING value)
-{
-    MG_CONFIGURATION_TRY()
-
-    value.clear();
-    ACE_Configuration_Section_Key sectionKey;
-
-    // the MgConfigurationHeap is thread-safe
-    if (m_config.OpenSection(section, 0, sectionKey))
-    {
-        ACE_TString temp;
-
-        if (m_config.GetStringValue(sectionKey, MG_WCHAR_TO_TCHAR(property), temp))
-        {
-            value = MG_TCHAR_TO_WCHAR(temp.c_str());
-            ValidateValue(section, property, value);
-        }
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetValue")
-
-    return !value.empty();
-}
-
-
-STRING MgConfiguration::GetFileName()
-{
-    ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, m_mutex, L""));
-    return m_fileName;
-}
-
-
-bool MgConfiguration::IsFileLoaded()
-{
-    return m_fileLoaded;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets the properties for the specified section.
-/// </summary>
-///
-/// <param name="section">
-/// Name of the Section in the config file.
-/// </param>
-///
-/// <returns>
-/// MgPropertyCollection representing the properties for the specified section.
-/// </returns>
-///----------------------------------------------------------------------------
-
-MgPropertyCollection* MgConfiguration::GetProperties(CREFSTRING section)
-{
-    Ptr<MgPropertyCollection> pProperties;
-
-    MG_CONFIGURATION_TRY()
-
-    if (section.empty())
-    {
-        throw new MgNullArgumentException(
-            L"MgConfiguration.GetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    // If the section does not exist, then an empty property collection will be
-    // returned.
-
-    // the MgConfigurationHeap is thread-safe
-    ACE_Configuration_Section_Key sectionKey;
-    if (m_config.OpenSection(section, 0, sectionKey))
-    {
-        pProperties = new MgPropertyCollection();
-
-        int nIndex = 0;
-        ACE_TString propertyName;
-        ACE_Configuration::VALUETYPE propertyType;
-
-        while (m_config.EnumerateValues(sectionKey, nIndex, propertyName, propertyType))
-        {
-            Ptr<MgProperty> pProperty;
-            STRING name = MG_TCHAR_TO_WCHAR(propertyName.c_str());
-
-            if (ACE_Configuration::STRING == propertyType)
-            {
-                STRING value;
-
-                GetStringValue(section, name, value, L"");
-                pProperty = new MgStringProperty(name, value);
-            }
-            else
-            {
-                // Everything in the ini file is treated as a string so we should not be here
-                throw new MgInvalidPropertyTypeException(
-                    L"MgConfiguration::GetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-            }
-
-            // Add this property to the collection
-            pProperties->Add(pProperty.p);
-            nIndex++;
-        }
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.GetProperties")
-
-    return pProperties.Detach();
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Sets the properties for the specified section.
-/// If the section does not exist, then it will be created.
-/// </summary>
-///
-/// <param name="section">
-/// Name of the Section in the config file.
-/// </param>
-/// <param name="properties">
-/// The MgPropertyCollection object representing the properties for the
-/// specified section.
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///----------------------------------------------------------------------------
-
-void MgConfiguration::SetProperties(CREFSTRING section,
-    MgPropertyCollection* properties)
-{
-    MG_CONFIGURATION_TRY()
-
-    if (section.empty())
-    {
-        throw new MgNullArgumentException(
-            L"MgConfiguration.SetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    if (NULL == properties)
-    {
-        throw new MgNullReferenceException(
-            L"MgConfiguration.SetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-    else if (properties->GetCount() <= 0)
-    {
-        // Do nothing if the property collection is empty.
-        return;
-    }
-
-    // the MgConfigurationHeap is thread-safe
-    ACE_Configuration_Section_Key sectionKey;
-    bool success = m_config.OpenSection(section, 1, sectionKey);
-
-    if (success)
-    {
-        for (INT32 i = 0; i < properties->GetCount(); ++i)
-        {
-            Ptr<MgProperty> pBaseProperty = properties->GetItem(i);
-
-            if (MgPropertyType::String == pBaseProperty->GetPropertyType())
-            {
-                MgStringProperty* pProperty =
-                    static_cast<MgStringProperty*>(pBaseProperty.p);
-                STRING name = pProperty->GetName();
-                STRING value = pProperty->GetValue();
-
-                ValidateValue(section, name, value);
-                success = m_config.SetStringValue(sectionKey,
-                    MG_WCHAR_TO_TCHAR(name), MG_WCHAR_TO_TCHAR(value));
-
-                if (!success)
-                {
-                    break;
-                }
-            }
-            else
-            {
-                // Everything in the ini file is treated as a string so we should not be here
-                throw new MgInvalidPropertyTypeException(
-                    L"MgConfiguration.SetProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-            }
-        }
-    }
-
-    if (!success)
-    {
-        MgStringCollection arguments;
-        arguments.Add(section);
-
-        throw new MgConfigurationException(L"MgConfiguration.SetProperties",
-            __LINE__, __WFILE__, &arguments, L"", NULL);
-    }
-
-    // The properties have been updated so we need to save the changes.
-    SaveConfiguration(GetFileName());
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.SetProperties")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Removes the properties from the specified section.
-/// If the properties are not specified, then the entire section will be removed.
-/// </summary>
-///
-/// <param name="section">
-/// Name of the Section in the config file.
-/// </param>
-/// <param name="properties">
-/// The MgPropertyCollection object representing the properties for the specified section.
-/// </param>
-///
-/// <returns>
-/// Nothing
-/// </returns>
-///----------------------------------------------------------------------------
-
-void MgConfiguration::RemoveProperties(CREFSTRING section,
-    MgPropertyCollection* properties)
-{
-    MG_CONFIGURATION_TRY()
-
-    if (section.empty())
-    {
-        throw new MgNullArgumentException(
-            L"MgConfiguration.RemoveProperties", __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    bool success = true;
-
-    if (NULL == properties)
-    {
-        success = m_config.RemoveSection(section, 1);
-    }
-    else if (properties->GetCount() > 0)
-    {
-        ACE_Configuration_Section_Key sectionKey;
-
-        success = m_config.OpenSection(section, 0, sectionKey);
-
-        if (success)
-        {
-            for (INT32 i = 0; i < properties->GetCount(); ++i)
-            {
-                Ptr<MgProperty> pProperty = properties->GetItem(i);
-
-                success = m_config.RemoveValue(sectionKey,
-                    MG_WCHAR_TO_TCHAR(pProperty->GetName()));
-
-                if (!success)
-                {
-                    break;
-                }
-            }
-        }
-    }
-    else
-    {
-        // Do nothing if the property collection is empty.
-        return;
-    }
-
-    if (!success)
-    {
-        MgStringCollection arguments;
-        arguments.Add(section);
-
-        throw new MgConfigurationException(L"MgConfiguration.RemoveProperties",
-            __LINE__, __WFILE__, &arguments, L"", NULL);
-    }
-
-    // The properties have been updated so we need to save the changes.
-    SaveConfiguration(GetFileName());
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.RemoveProperties")
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Gets the configuration validation information on the specified property.
-///
-const MgConfigValidationInfo* MgConfiguration::GetConfigValidationInfo(
-    const MgConfigValidationInfo* validationInfoList, CREFSTRING property) const
-{
-    const MgConfigValidationInfo* validationInfo = NULL;
-
-    if (NULL != validationInfoList)
-    {
-        while (!validationInfoList->m_propertyName.empty())
-        {
-            if (validationInfoList->m_propertyName == property)
-            {
-                validationInfo = validationInfoList;
-                break;
-            }
-            validationInfoList++;
-        }
-    }
-
-    return validationInfo;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Gets the configuration validation information on the specified property.
-///
-const MgConfigValidationInfo* MgConfiguration::GetConfigValidationInfo(
-    CREFSTRING section, CREFSTRING propName) const
-{
-    const MgConfigValidationInfo* validationInfo = NULL;
-
-    for (ValidationList::const_iterator iter = m_validationInfo.begin();
-            iter != m_validationInfo.end(); ++iter)
-    {
-        if (iter->section == section)
-        {
-            validationInfo = GetConfigValidationInfo(iter->validationInfo, propName);
-            if (NULL != validationInfo)
-            {
-                break;
-            }
-        }
-    }
-
-    return validationInfo;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Validates the specified property value.
-///
-void MgConfiguration::ValidateValue(CREFSTRING section, CREFSTRING property,
-    CREFSTRING value)
-{
-    MG_CONFIGURATION_TRY()
-
-    // Check for reserved characters, including those used in MgUtil::CheckXss.
-    MgUtil::CheckReservedCharacters(value, sm_reservedCharacters);
-    MgUtil::CheckSpacesAtBeginEnd(property);
-    MgUtil::CheckReservedCharacters(property, sm_reservedCharacters);
-    MgUtil::CheckSpacesAtBeginEnd(section);
-    MgUtil::CheckReservedCharacters(section, sm_reservedCharacters);
-
-    const MgConfigValidationInfo* validationInfo = GetConfigValidationInfo(
-        section, property);
-
-    if (NULL == validationInfo)
-    {
-        return;
-    }
-
-    if (MgPropertyType::String == validationInfo->m_propertyType)
-    {
-        double strLength = static_cast<double>(value.length());
-
-        if (strLength < validationInfo->m_minimumValue ||
-            strLength > validationInfo->m_maximumValue)
-        {
-            MgStringCollection whatArguments;
-            whatArguments.Add(GetFileName());
-
-            MgStringCollection whyArguments;
-            whyArguments.Add(property);
-            whyArguments.Add(section);
-
-            if (0.0 == strLength)
-            {
-                throw new MgConfigurationException(
-                    L"MgConfiguration.ValidateValue",
-                    __LINE__, __WFILE__, &whatArguments,
-                    L"MgConfigurationPropertyValueIsNotSpecified", &whyArguments);
-            }
-            else
-            {
-                STRING minimumValue = validationInfo->GetMinimumValue();
-                STRING maximumValue = validationInfo->GetMaximumValue();
-
-                whyArguments.Add(value);
-                whyArguments.Add(minimumValue);
-
-                if (minimumValue == maximumValue)
-                {
-                    throw new MgConfigurationException(
-                        L"MgConfiguration.ValidateValue",
-                        __LINE__, __WFILE__, &whatArguments,
-                        L"MgConfigurationPropertyLengthIsInvalid", &whyArguments);
-                }
-                else
-                {
-                    whyArguments.Add(maximumValue);
-
-                    throw new MgConfigurationException(
-                        L"MgConfiguration.ValidateValue",
-                        __LINE__, __WFILE__, &whatArguments,
-                        L"MgConfigurationPropertyLengthIsOutOfRange", &whyArguments);
-                }
-            }
-        }
-
-        if (!validationInfo->m_reservedCharacters.empty() &&
-            STRING::npos != value.find_first_of(validationInfo->m_reservedCharacters))
-        {
-            MgStringCollection whatArguments;
-            whatArguments.Add(GetFileName());
-
-            MgStringCollection whyArguments;
-            whyArguments.Add(property);
-            whyArguments.Add(section);
-            whyArguments.Add(value);
-            whyArguments.Add(validationInfo->m_reservedCharacters);
-
-            throw new MgConfigurationException(
-                L"MgConfiguration.ValidateValue",
-                __LINE__, __WFILE__, &whatArguments,
-                L"MgConfigurationPropertyValueContainsReservedCharacters", &whyArguments);
-        }
-    }
-    else
-    {
-        double numericValue = MgUtil::StringToDouble(value);
-
-        if (numericValue < validationInfo->m_minimumValue ||
-            numericValue > validationInfo->m_maximumValue)
-        {
-            MgStringCollection whatArguments;
-            whatArguments.Add(GetFileName());
-
-            MgStringCollection whyArguments;
-            whyArguments.Add(property);
-            whyArguments.Add(section);
-            whyArguments.Add(value);
-            whyArguments.Add(validationInfo->GetMinimumValue());
-            whyArguments.Add(validationInfo->GetMaximumValue());
-
-            throw new MgConfigurationException(
-                L"MgConfiguration.ValidateValue",
-                __LINE__, __WFILE__, &whatArguments,
-                L"MgConfigurationPropertyValueIsOutOfRange", &whyArguments);
-        }
-    }
-
-    MG_CONFIGURATION_CATCH_AND_THROW(L"MgConfiguration.ValidateValue")
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Returns the minimum value of the numeric property or the minimum value of
-/// the length of the string property.
-///
-STRING MgConfigValidationInfo::GetMinimumValue() const
-{
-    STRING value;
-
-    if (MgPropertyType::Boolean == m_propertyType
-     || MgPropertyType::Byte    == m_propertyType
-     || MgPropertyType::Int16   == m_propertyType
-     || MgPropertyType::Int32   == m_propertyType)
-    {
-        MgUtil::Int32ToString(static_cast<INT32>(m_minimumValue), value);
-    }
-    else
-    {
-        MgUtil::DoubleToString(m_minimumValue, value);
-    }
-
-    return value;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Returns the maximum value of the numeric property or the maximum value of
-/// the length of the string property.
-///
-STRING MgConfigValidationInfo::GetMaximumValue() const
-{
-    STRING value;
-
-    if (MgPropertyType::Boolean == m_propertyType
-     || MgPropertyType::Byte    == m_propertyType
-     || MgPropertyType::Int16   == m_propertyType
-     || MgPropertyType::Int32   == m_propertyType)
-    {
-        MgUtil::Int32ToString(static_cast<INT32>(m_maximumValue), value);
-    }
-    else
-    {
-        MgUtil::DoubleToString(m_maximumValue, value);
-    }
-
-    return value;
-}
-
-#endif //WANT_ACE

Deleted: sandbox/adsk/vik/Common/Foundation/System/Configuration.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Configuration.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Configuration.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,306 +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_H_
-#define MG_CONFIGURATION_H_
-
-#if WANT_ACE
-
-#include <list>
-
-///////////////////////////////////////////////////////////////////////////////
-/// MapGuide Configuration try/catch/throw macros.
-///
-#define MG_CONFIGURATION_TRY()                                                \
-    MG_TRY()                                                                  \
-
-#define MG_CONFIGURATION_CATCH(methodName)                                    \
-    MG_CATCH(methodName)                                                      \
-
-#define MG_CONFIGURATION_THROW()                                              \
-    MG_THROW()                                                                \
-
-#define MG_CONFIGURATION_CATCH_AND_THROW(methodName)                          \
-    MG_CATCH_AND_THROW(methodName)                                            \
-
-/// \cond INTERNAL
-//////////////////////////////////////////////////////////////////
-/// Validation information on configuration properties.
-///
-struct MgConfigValidationInfo
-{
-    STRING m_propertyName; // Name of the configuration property
-    INT32 m_propertyType;  // Type of the configuration property
-    double m_minimumValue; // Minimum value of the numeric property or minimum value of the length of the string property
-    double m_maximumValue; // Maximum value of the numeric property or maximum value of the length of the string property
-    STRING m_reservedCharacters; // Reserved characters for the property value.
-
-    STRING GetMinimumValue() const;
-    STRING GetMaximumValue() const;
-};
-/// \endcond
-
-/// \cond INTERNAL
-class MG_FOUNDATION_API MgConfiguration : public MgGuardDisposable
-{
-    DECLARE_CLASSNAME(MgConfiguration)
-
-INTERNAL_API:
-    /// \brief
-    /// Constructor
-    ///
-
-    MgConfiguration();
-
-    /// \brief
-    /// Destructor
-    ///
-
-    virtual ~MgConfiguration();
-
-    /// \brief
-    /// Self Destructor
-    ///
-
-    virtual void Dispose();
-
-    /// \brief
-    /// Get pointer to a process-wide MgConfiguration.
-    ///
-
-    static MgConfiguration* GetInstance();
-
-    /// \brief
-    /// Loads the configuration file specified
-    ///
-    /// \param fileName
-    /// name of file to load
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void LoadConfiguration(CREFSTRING fileName);
-
-    /// \brief
-    /// Saves the configuration data to file specified
-    ///
-    /// \param fileName
-    /// name of file to save
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void SaveConfiguration(CREFSTRING fileName);
-
-    /// \brief
-    /// Appends validation information to the internal validation map.
-    ///
-    /// \param section
-    /// Section in config file
-    /// \param validationInfo
-    /// Validation information structure to append
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void AppendValidationInfo(CREFSTRING section, MgConfigValidationInfo* validationInfo);
-
-    /// \brief
-    /// Get Integer value from a section
-    ///
-    /// \param section
-    /// Section in config file
-    /// \param property
-    /// Property in the section
-    /// \param value
-    /// Out parameter for value to store
-    /// \param defaultValue
-    /// Default value in case property is missing
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void GetIntValue(CREFSTRING section, CREFSTRING property, INT32& value, INT32 defaultValue);
-
-    /// \brief
-    /// Get bool value from a section
-    ///
-    /// \param section
-    /// Section in config file
-    /// \param property
-    /// Property in the section
-    /// \param value
-    /// Out parameter for value to store
-    /// \param defaultValue
-    /// Default value in case property is missing
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void GetBoolValue(CREFSTRING section, CREFSTRING property, bool& value, bool defaultValue);
-
-    /// \brief
-    /// Get Double value from a section
-    ///
-    /// \param section
-    /// Section in config file
-    /// \param property
-    /// Property in the section
-    /// \param value
-    /// Out parameter for value to store
-    /// \param defaultValue
-    /// Default value in case property is missing
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void GetDoubleValue(CREFSTRING section, CREFSTRING property, double& value, double defaultValue);
-
-    /// \brief
-    /// Get Integer value from a section
-    ///
-    /// \param section
-    /// Section in config file
-    /// \param property
-    /// Property in the section
-    /// \param value
-    /// Out parameter for value to store
-    /// \param defaultValue
-    /// Default value in case property is missing
-    ///
-    /// \return
-    /// Nothing
-    ///
-
-    void GetStringValue(CREFSTRING section, CREFSTRING property, REFSTRING value, CREFSTRING defaultValue);
-
-    /// \brief
-    /// Determines whether file was loaded successfully
-    ///
-    /// \return
-    /// true  - file was loaded
-    /// false - file was not loaded
-    ///
-
-    bool IsFileLoaded();
-
-    /// \brief
-    /// Get the file name which is loaded by this instance
-    ///
-    /// \return
-    /// Name of file
-    ///
-
-    STRING GetFileName();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Gets the properties for the specified section.
-    ///
-    /// \param section
-    /// Name of the Section in the config file.
-    ///
-    /// \return
-    /// MgPropertyCollection representing the properties for the specified section.
-    ///
-    ///
-
-    MgPropertyCollection* GetProperties(CREFSTRING section);
-
-    /// \brief
-    /// Sets the properties for the specified section.
-    ///
-    /// \param section
-    /// Name of the Section in the config file.
-    /// \param properties
-    /// The MgPropertyCollection object representing the properties for the specified section.
-    ///
-    /// \return
-    /// Nothing
-    ///
-    ///
-
-    void SetProperties(CREFSTRING section, MgPropertyCollection* properties);
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Removes the properties from the specified section.
-    /// If the properties are not specified, then the entire section will be removed.
-    ///
-    /// \param section
-    /// Name of the Section in the config file.
-    /// \param properties
-    /// The MgPropertyCollection object representing the properties for the specified section.
-    ///
-    /// \return
-    /// Nothing
-    ///
-    ///
-
-    void RemoveProperties(CREFSTRING section, MgPropertyCollection* properties);
-
-private:
-
-    /// Get the generic value in string
-    bool GetValue(CREFSTRING section, CREFSTRING property, REFSTRING value);
-
-    const MgConfigValidationInfo* GetConfigValidationInfo(
-        const MgConfigValidationInfo* validationInfoList,
-        CREFSTRING property) const;
-    const MgConfigValidationInfo* GetConfigValidationInfo(CREFSTRING section,
-        CREFSTRING property) const;
-    void ValidateValue(CREFSTRING section, CREFSTRING property,
-        CREFSTRING value);
-
-private:
-
-    /// Pointer to a process-wide singleton.
-    static Ptr<MgConfiguration> sm_configuration;
-
-    static const STRING sm_reservedCharacters;
-
-    /// Needed for thread-safety
-    CustomThreadMutex m_mutex;
-
-    /// Ace member
-    MgConfigurationHeap m_config;
-
-    /// Store the file name loaded
-    STRING m_fileName;
-    bool m_fileLoaded;
-
-    struct ValidationEntry
-    {
-        wstring section;
-        MgConfigValidationInfo* validationInfo;
-    };
-
-    /// Structure for storing validation info
-    typedef std::list<ValidationEntry> ValidationList;
-    ValidationList m_validationInfo;
-};
-/// \endcond
-
-#endif //WANT_ACE
-
-#endif // MG_CONFIGURATION_H_

Deleted: sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,60 +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 "stdafx.h"
-#include "Foundation.h"
-
-MgConfigurationSection::MgConfigurationSection()
-{
-    m_sectionPath = L"";
-    m_sectionComment = new MgStringCollection();
-}
-
-MgConfigurationSection::MgConfigurationSection(STRING sectionName)
-{
-    m_sectionPath = sectionName;
-    m_sectionComment = new MgStringCollection();
-}
-
-MgConfigurationSection::~MgConfigurationSection()
-{
-}
-
-void MgConfigurationSection::Dispose()
-{
-    delete this;
-}
-
-STRING MgConfigurationSection::GetSectionPath()
-{
-    return m_sectionPath;
-}
-
-void MgConfigurationSection::AddComment(CREFSTRING line)
-{
-    m_sectionComment->Add(line);
-}
-
-INT32 MgConfigurationSection::GetCommentCount()
-{
-    return m_sectionComment->GetCount();
-}
-
-STRING MgConfigurationSection::GetComment(INT32 commentNum)
-{
-    return m_sectionComment->GetItem(commentNum);
-}

Deleted: sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/ConfigurationSection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,115 +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_SECTION_H
-#define _MG_CONFIGURATION_SECTION_H
-
-/// \cond INTERNAL
-class MgConfigurationSection : public MgGuardDisposable
-{
-    DECLARE_CLASSNAME(MgConfigurationSection)
-
-INTERNAL_API:
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Creates a new object setting the key to the one given
-    ///
-    /// \param sectionName
-    /// Name of the section
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    MgConfigurationSection();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Creates a new object with the name and key given
-    ///
-    /// \param sectionName
-    /// Name of the section
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    MgConfigurationSection(STRING sectionName);
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Destructs the object
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    virtual ~MgConfigurationSection();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Gets the name of the section
-    ///
-    /// \return
-    /// The name of the section
-    ///
-    STRING GetSectionPath();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Adds a comment to the section object
-    ///
-    /// \param line
-    /// The comment line to add
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    void AddComment(CREFSTRING line);
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Returns the number of comment lines in the section
-    ///
-    /// \return
-    /// Returns the number of comment lines in the section
-    ///
-    INT32 GetCommentCount();
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Returns the comment line associated with the line number given
-    ///
-    /// \param lineNum
-    /// The comment line to be retrieved
-    ///
-    /// \return
-    /// Returns the comment line associated with the line number given
-    ///
-    STRING GetComment(INT32 lineNum);
-
-protected:
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Disposes the object.
-    ///
-    void Dispose();
-
-private:
-    STRING m_sectionPath;
-    Ptr<MgStringCollection> m_sectionComment;
-};
-/// \endcond
-
-#endif // _MG_CONFIGURATION_SECTION_H

Modified: sandbox/adsk/vik/Common/Foundation/System/DisposableCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/DisposableCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/DisposableCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,9 +29,6 @@
 /// are owned and managed by the collection.
 class MG_FOUNDATION_API MgDisposableCollection : public MgCollection
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgDisposableCollection)
-
 PUBLISHED_API:
     //////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Foundation/System/FileUtil.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/FileUtil.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/FileUtil.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -710,176 +710,4 @@
     return tempPathname;
 }
 
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieves the time that the specified file was created.
-///
-INT64 MgFileUtil::GetFileCreationTime(CREFSTRING pathname)
-{
-    struct _stat statInfo;
 
-    if (GetFileStatus(pathname, statInfo, true))
-    {
-        return statInfo.st_ctime;
-    }
-
-    return 0;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieves the time that the specified file was last modified.
-///
-INT64 MgFileUtil::GetFileModificationTime(CREFSTRING pathname)
-{
-    struct _stat statInfo;
-
-    if (GetFileStatus(pathname, statInfo, true))
-    {
-        return statInfo.st_mtime;
-    }
-
-    return 0;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-/// \brief
-/// Retrieves the size (in bytes) of the specified file.
-///
-INT64 MgFileUtil::GetFileSize(CREFSTRING pathname)
-{
-    struct _stat statInfo;
-
-    if (GetFileStatus(pathname, statInfo, true))
-    {
-        return (INT64)statInfo.st_size;
-    }
-
-    return 0;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Determines if the specified file is in use.
-/// </summary>
-///
-/// <param name="pathname">
-/// Full path name of the file to check.
-/// </param>
-///
-/// <returns>
-/// true if the specified file is in use, false otherwise.
-/// </returns>
-///----------------------------------------------------------------------------
-
-bool MgFileUtil::IsFileInUse(CREFSTRING pathname)
-{
-    bool bResult = false;
-
-    if (pathname.empty())
-    {
-        throw new MgException(L"NullArgument");
-    }
-
-    MgLock lock(sm_mutex);
-
-    FILE* file = NULL;
-
-#ifdef _WIN32
-    file = _wfsopen(pathname.c_str(), L"r+", _SH_DENYRW);
-#else
-    file = ::fopen(MG_WCHAR_TO_TCHAR(pathname), ACE_TEXT("r+"));
-#endif
-
-    if (file)
-    {
-#ifndef _WIN32
-        // Try to lock the file
-        int fd = fileno(file);
-        int nResult = flock(fd, LOCK_EX|LOCK_NB);
-        if(0 != nResult)
-        {
-            bResult = true;
-        }
-#endif
-        // Close the file
-        fclose(file);
-    }
-    else
-    {
-        // If the file doesn't exist then it is not an error
-        int errCode = errno; // This is not thread safe - requires guard
-        if(ENOENT != errCode)
-        {
-            bResult = true;
-        }
-    }
-
-    return bResult;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Locks the specified file.
-/// On Windows, always returns true.
-/// On Linux, returns true if the file now has an advisory by the calling
-/// process, false otherwise.
-// </summary>
-///----------------------------------------------------------------------------
-
-bool MgFileUtil::LockFile(CREFSTRING pathname)
-{
-    bool bResult = true;
-
-#ifndef _WIN32
-    ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, sm_mutex, false));
-
-    FILE* file = ACE_OS::fopen(MG_WCHAR_TO_TCHAR(pathname), ACE_TEXT("r+"));
-    if (file)
-    {
-        // Try to lock the file
-        int fd = fileno(file);
-        int nResult = flock(fd, LOCK_EX|LOCK_NB);
-        if(0 != nResult)
-        {
-            bResult = false;
-        }
-    }
-#endif
-
-    return bResult;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Verifies if the specified file can be safely opened.
-/// </summary>
-///
-/// <param name="pathname">
-/// Full path name of the file to verify.
-/// </param>
-///
-/// <returns>
-/// true if the specified file can be safely opened, false otherwise.
-/// </returns>
-///----------------------------------------------------------------------------
-
-bool MgFileUtil::VerifySafeFileAccess(CREFSTRING pathname)
-{
-    bool safe = true;
-
-    if (IsFileInUse(pathname))
-    {
-        safe = false;
-    }
-#ifndef _WIN32
-    else if (!MgFileUtil::LockFile(pathname))
-    {
-        safe = false;
-    }
-#endif
-
-    return safe;
-}
-
-

Modified: sandbox/adsk/vik/Common/Foundation/System/FileUtil.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/FileUtil.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/FileUtil.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -38,7 +38,6 @@
 /// \cond INTERNAL
 class MG_FOUNDATION_API MgFileUtil
 {
-    DECLARE_CLASSNAME(MgFileUtil)
 
     /// Constructors/Destructor
 
@@ -96,14 +95,6 @@
     static STRING GenerateTempFileName(bool useMgTempPath = true,
         CREFSTRING prefix = L"", CREFSTRING extension = L"");
 
-    static INT64 GetFileCreationTime(CREFSTRING pathname);
-    static INT64 GetFileModificationTime(CREFSTRING pathname);
-    static INT64 GetFileSize(CREFSTRING pathname);
-
-    static bool IsFileInUse(CREFSTRING pathname);
-    static bool LockFile(CREFSTRING pathname);
-    static bool VerifySafeFileAccess(CREFSTRING pathname);
-
 /// helper methods
 
     private:

Deleted: sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,89 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_ACE
-
-///////////////////////////////////////////////////////////////////////////////
-/// Length ranges of string properties
-///
-#define MG_CONFIG_MIN_FILE_NAME_LENGTH                  1
-#define MG_CONFIG_MAX_FILE_NAME_LENGTH                  128
-#define MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS         L"\\/:*?\"<>|"
-
-#define MG_CONFIG_MIN_FOLDER_NAME_LENGTH                1
-#define MG_CONFIG_MAX_FOLDER_NAME_LENGTH                128
-#define MG_CONFIG_FOLDER_NAME_RESERVED_CHARACTERS       MG_CONFIG_FILE_NAME_RESERVED_CHARACTERS
-
-#define MG_CONFIG_MIN_LOCALE_LENGTH                     2
-#define MG_CONFIG_MAX_LOCALE_LENGTH                     5
-
-#define MG_CONFIG_MIN_OPTIONAL_STRING_LENGTH            0
-#define MG_CONFIG_MAX_OPTIONAL_STRING_LENGTH            255
-
-#define MG_CONFIG_MIN_PATH_LENGTH                       1
-#define MG_CONFIG_MAX_PATH_LENGTH                       255
-#define MG_CONFIG_PATH_RESERVED_CHARACTERS              L"*?\"<>|"
-
-
-// Configuration file section/property names and default values
-
-// ******************************************************************
-// General Properties
-// ******************************************************************
-const STRING MgFoundationConfigProperties::GeneralPropertiesSection                                   = L"GeneralProperties";
-const STRING MgFoundationConfigProperties::GeneralPropertyLocale                                      = L"Locale";
-const STRING MgFoundationConfigProperties::DefaultGeneralPropertyLocale                               = L"";
-const STRING MgFoundationConfigProperties::GeneralPropertyDefaultMessageLocale                        = L"DefaultMessageLocale";
-const STRING MgFoundationConfigProperties::DefaultGeneralPropertyDefaultMessageLocale                 = L"en";      // ISO 639-1 name
-const STRING MgFoundationConfigProperties::GeneralPropertyResourcesPath                               = L"ResourcesPath";
-const STRING MgFoundationConfigProperties::DefaultGeneralPropertyResourcesPath                        = L"Resources/";
-const STRING MgFoundationConfigProperties::GeneralPropertyTempPath                                    = L"TempPath";
-const STRING MgFoundationConfigProperties::DefaultGeneralPropertyTempPath                             = L"Temp/";
-const STRING MgFoundationConfigProperties::GeneralPropertyTcpIpMtu                                    = L"TcpIpMtu";
-const INT32  MgFoundationConfigProperties::DefaultGeneralPropertyTcpIpMtu                             = 1460;
-
-///////////////////////////////////////////////////////////////////////////////
-/// Common Configuration Validation Information Maps
-///
-const MgConfigValidationInfo MgFoundationConfigProperties::sm_cviGeneralProperties[] =
-{
-    { MgFoundationConfigProperties::GeneralPropertyLocale           , MgPropertyType::String    , MG_CONFIG_MIN_OPTIONAL_STRING_LENGTH  , MG_CONFIG_MAX_OPTIONAL_STRING_LENGTH  , L""                                       },
-    { MgFoundationConfigProperties::GeneralPropertyDefaultMessageLocale, MgPropertyType::String , MG_CONFIG_MIN_LOCALE_LENGTH           , MG_CONFIG_MAX_LOCALE_LENGTH           , L""                                       },
-    { MgFoundationConfigProperties::GeneralPropertyResourcesPath    , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgFoundationConfigProperties::GeneralPropertyTempPath         , MgPropertyType::String    , MG_CONFIG_MIN_PATH_LENGTH             , MG_CONFIG_MAX_PATH_LENGTH             , MG_CONFIG_PATH_RESERVED_CHARACTERS        },
-    { MgFoundationConfigProperties::GeneralPropertyTcpIpMtu         , MgPropertyType::Int32     , 1                                     , 65535                                 , L""                                       },
-    { L""                                                           , 0                         , 0.0                                   , 0.0                                   , L""                                       }
-};
-
-bool InitializeFoundationConfig()
-{
-    MgConfiguration* mgConfig = MgConfiguration::GetInstance();
-    if (NULL != mgConfig)
-    {
-        mgConfig->AppendValidationInfo(MgFoundationConfigProperties::GeneralPropertiesSection,
-            (MgConfigValidationInfo*) MgFoundationConfigProperties::sm_cviGeneralProperties);
-        return true;
-    }
-    return false;
-}
-
-static bool bFoundationConfigInit = InitializeFoundationConfig();
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/FoundationConfigProperties.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,80 +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 MGFOUNDATIONCONFIGPROPERTIES_H_
-#define MGFOUNDATIONCONFIGPROPERTIES_H_
-
-#if WANT_ACE
-
-struct MgConfigValidationInfo;
-
-/// \cond INTERNAL
-//////////////////////////////////////////////////////////////////
-/// \brief
-/// Properties stored in an MgConfiguration object.  Note that the properties are
-/// organized into Property Sections.  These sections may be used in the API to
-/// set/get groups of configuration properties.
-/// INTERNAL_ONLY:
-class MG_FOUNDATION_API MgFoundationConfigProperties
-{
-    DECLARE_CLASSNAME(MgFoundationConfigProperties)
-
-EXTERNAL_API:
-
-    ///////////////////////////////////////////////////////////////////////////
-    /// Common Configuration Validation Information Maps
-    ///
-
-    /// GENERAL PROPERTIES SECTION ---------------------------------------------------------------------------------------
-
-    /// General application properties
-    static const STRING GeneralPropertiesSection;                       /// value("GeneralProperties")
-
-    /// Application's locale
-    static const STRING GeneralPropertyLocale;                          /// value("Locale")
-    static const STRING DefaultGeneralPropertyLocale;                   /// value("")
-
-    /// Application's default message locale
-    static const STRING GeneralPropertyDefaultMessageLocale;            /// value("DefaultMessageLocale")
-    static const STRING DefaultGeneralPropertyDefaultMessageLocale;     /// value("en")
-
-    /// Root folder for application's localization resources
-    static const STRING GeneralPropertyResourcesPath;                   /// value("ResourcesPath")
-    static const STRING DefaultGeneralPropertyResourcesPath;            /// value("Resources/")
-
-    /// Sets the time duration (in seconds) between service registrations
-    static const STRING GeneralPropertyServiceRegistrationTimerInterval;        /// value("ServiceRegistrationTimerInterval")
-    static const INT32 DefaultGeneralPropertyServiceRegistrationTimerInterval;  /// value(60)
-
-    /// Temporary file path
-    static const STRING GeneralPropertyTempPath;                        /// value("TempPath")
-    static const STRING DefaultGeneralPropertyTempPath;                 /// value("Temp/")
-
-    /// TCP/IP Maximum Transmission Unit
-    static const STRING GeneralPropertyTcpIpMtu;                        /// value("TcpIpMtu")
-    static const INT32 DefaultGeneralPropertyTcpIpMtu;                  /// value(1460)
-
-public:
-
-    // Common Configuration Validation Information Maps
-    static const MgConfigValidationInfo sm_cviGeneralProperties[];
-};
-/// \endcond
-
-#endif //WANT_ACE
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/System/LinuxMemoryStatus.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/LinuxMemoryStatus.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/LinuxMemoryStatus.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -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
-//
-
-#ifndef _MG_LINUXMEMORYSTATUS_H_
-#define _MG_LINUXMEMORYSTATUS_H_
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////
-/// \brief
-/// A structure to store Linux memory status
-struct MgLinuxMemoryStatus
-{
-    INT64 m_memTotal;
-    INT64 m_memUsed;
-    INT64 m_memFree;
-    INT64 m_memShared;
-    INT64 m_memBuffers;
-    INT64 m_memCached;
-
-    INT64 m_swapTotal;
-    INT64 m_swapUsed;
-    INT64 m_swapFree;
-};
-/// \endcond
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,430 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_ACE
-#include "MemoryStreamHelper.h"
-#include "Base64.h"
-
-INT32 MgMemoryStreamHelper::m_blockSize = 4096;
-
-//-------------------------------------------------------------------------
-//  Constructors/Destructors
-//-------------------------------------------------------------------------
-
-MgMemoryStreamHelper::MgMemoryStreamHelper() : MgStreamHelper()
-{
-    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);
-
-    m_endBuffer = m_buffer + m_blockSize;
-    m_blockCount = 1;
-    m_ownMemory = true;
-}
-
-MgMemoryStreamHelper::MgMemoryStreamHelper(INT8* buffer, INT32 length, bool ownMemory)
-{
-    m_curPtrRead = m_buffer = buffer;
-    m_curPtrWrite = m_endBuffer = buffer + length;
-    m_ownMemory = ownMemory;
-}
-
-///////////////////////////////////////////////////////////////////////////
-//  <summary>
-//  The destructor for a MgMemoryStreamHelper object.
-//  </summary>
-MgMemoryStreamHelper::~MgMemoryStreamHelper()
-{
-    if(m_ownMemory)
-        delete [] m_buffer;
-};
-
-//-------------------------------------------------------------------------
-//  Public Methods
-//-------------------------------------------------------------------------
-
-///////////////////////////////////////////////////////////////////////////
-//  <summary>
-//  This method reads data from the stream into the given buffer.  The
-//  parameters control whether or not the read blocks, whether or not,
-//  the caller wants to peek at the data, and if the caller wants to
-//  know how many bytes had been read.
-//  </summary>
-//
-//  <param name = "buffer">
-//  The buffer that will receive the data read from the stream.
-//  </param>
-//
-//  <param name = "size">
-//  The size of the buffer in bytes of the buffer.
-//  </param>
-//
-//  <param name = "blocking">
-//  True if the read request should block;  false otherwise.
-//  Ignored. A memory stream never blocks.
-//  </param>
-//
-//  <param name = "peeking">
-//  True if the read request should not consume the data;  false
-//  otherwise.
-//  </param>
-//
-//  <returns>
-//  Returns a MgStreamStatus value indicating the status of the operation.
-//  </returns>
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetData(void* buffer, size_t size,
-    bool blocking, bool peeking)
-{
-    ACE_ASSERT( size > 0 );
-
-    MgStreamHelper::MgStreamStatus stat = MgStreamHelper::mssError;
-
-    size_t available = m_endBuffer - m_curPtrRead;
-    if(available < size)
-        stat = MgStreamHelper::mssError;
-    else
-    {
-        stat = MgStreamHelper::mssDone;
-        memcpy(buffer, m_curPtrRead, size);
-        if(!peeking)
-            m_curPtrRead += size;
-    }
-
-    return stat;
-};
-
-///////////////////////////////////////////////////////////////////////////
-//  <summary>
-//  Reads a UINT8 from the stream.
-//  </summary>
-//
-//  <param name = "data">
-//  An out parameter that holds the UINT8 read from the stream.
-//  </param>
-//
-//  <param name = "blocking">
-//  True if the read request should block;  false otherwise.
-//  Ignored. A memory stream never blocks.
-//  </param>
-//
-//  <param name = "peeking">
-//  True if the read request should not consume the data;  false
-//  otherwise.
-//  </param>
-//
-//  <returns>
-//  Returns a MgStreamStatus value indicating the status of the operation.
-//  </returns>
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetUINT8(UINT8& data, bool blocking, bool peeking)
-{
-    return GetData(&data, sizeof(INT8), blocking, peeking);
-};
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetUINT16(UINT16& data, bool blocking, bool peeking)
-{
-    INT16 nValue = 0;
-
-    MgStreamHelper::MgStreamStatus stat = GetData(&nValue, sizeof(INT16), blocking, peeking);
-    data = MG_NTOHS(nValue);
-
-    return stat;
-}
-
-///////////////////////////////////////////////////////////////////////////
-//  <summary>
-//  Reads a UINT32 from the stream.
-//  </summary>
-//
-//  <param name = "data">
-//  An out parameters that holds the UINT32 read from the stream.
-//  </param>
-//
-//  <param name = "blocking">
-//  True if the read request should block;  false otherwise.
-//  Ignored. A memory stream never blocks.
-//  </param>
-//
-//  <param name = "peeking">
-//  True if the read request should not consume the data;  false
-//  otherwise.
-//  </param>
-//
-//  <returns>
-//  Returns a MgStreamStatus value indicating the status of the operation.
-//  </returns>
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetUINT32(UINT32& data, bool blocking, bool peeking)
-{
-    UINT32 intData = 0;
-
-    MgStreamHelper::MgStreamStatus stat = GetData(&intData, sizeof(intData), blocking, peeking);
-    data = MG_NTOHL(intData);
-
-    return stat;
-};
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetINT64(INT64& data, bool blocking, bool peeking)
-{
-    UINT32 lowWord;
-    UINT32 hiWord;
-
-    MgStreamHelper::MgStreamStatus stat = GetUINT32(lowWord, blocking, peeking);
-    if(stat == MgStreamHelper::mssDone)
-        if((stat = GetUINT32(hiWord, blocking, peeking)) == MgStreamHelper::mssDone)
-            data = ((UINT64)hiWord << 32) | lowWord;
-
-    return stat;
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetNullTermString( REFSTRING data, bool blocking, bool peeking)
-{
-    char buf[1024];
-    int len = 1024;
-    if (GetLength() < len)
-    {
-        len = GetLength();
-    }
-
-    MgStreamHelper::MgStreamStatus stat = GetData(buf, len, true, true);
-    if(stat == MgStreamHelper::mssDone)
-    {
-        char* endBuf = strchr(buf, '\0');
-        if (endBuf != buf)
-        {
-            string mbBuf = buf;
-            data = MgUtil::MultiByteToWideChar(mbBuf);
-            stat = GetData(buf, endBuf-buf+1, true, peeking);
-        }
-    }
-
-    return stat;
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetSingle(float& data, bool blocking, bool peeking)
-{
-    float fData = 0.0;
-
-    MgStreamHelper::MgStreamStatus stat = GetData(&fData, sizeof(fData), blocking, peeking);
-    data = (float)MG_NTOHL(fData);
-
-    return stat;
-};
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::GetDouble(double& data, bool blocking, bool peeking)
-{
-    INT64 intData = 0;
-
-    MgStreamHelper::MgStreamStatus stat = GetINT64(intData, blocking, peeking);
-    memcpy((void*)&data, (void*)&intData, sizeof(double));
-
-    return stat;
-};
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Write to the memory buffer, making it grow if necessary.
-///</summary>
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteBytes(const unsigned char* buf, int nBytes)
-{
-    MgStreamHelper::MgStreamStatus stat = MgStreamHelper::mssDone;
-
-    //check if the data to be written fits in the existing buffer
-    size_t available = m_endBuffer - m_curPtrWrite;
-    if(available < (size_t)nBytes)
-    {
-        //need to make the buffer grow.
-        //calculate how much growth is needed
-        size_t neededBytes = (m_curPtrWrite + nBytes) - m_endBuffer;
-        size_t neededBlocks = neededBytes / m_blockSize;
-        neededBlocks += (neededBytes % m_blockSize != 0)? 1: 0;
-        int newBlockCount = m_blockCount + (int)neededBlocks;
-
-        //allocate the new block
-        INT8* newBlock = new INT8[newBlockCount * m_blockSize];
-        if(!newBlock)
-            throw new MgOutOfMemoryException(L"MgMemoryStreamHelper.WriteBytes", __LINE__, __WFILE__, NULL, L"", NULL);
-
-        //initialize new block with current stream content
-        size_t writePos = m_curPtrWrite - m_buffer;
-        memcpy(newBlock, m_buffer, writePos);
-
-        //remember the position of the read ptr in the old buffer
-        size_t readPos = m_curPtrRead - m_buffer;
-
-        if (m_ownMemory)
-            delete [] m_buffer;
-
-        //new block becomes this stream's memory
-        m_curPtrWrite = (m_buffer = newBlock) + writePos;
-        m_curPtrRead = m_buffer + readPos;
-        m_endBuffer = m_buffer + newBlockCount * m_blockSize;
-        m_blockCount = newBlockCount;
-    }
-
-    //copy bytes into stream
-    memcpy(m_curPtrWrite, buf, nBytes);
-    m_curPtrWrite += nBytes;
-
-    return stat;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Flushes internal memory buffer to stream helper.
-/// This his not applicable to a memory stream
-///</summary>
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::Flush()
-{
-    return MgStreamHelper::mssDone;
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteUINT8( UINT8 value )
-{
-    return WriteBytes((unsigned char*)&value, sizeof(UINT8));
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteUINT32( UINT32 value )
-{
-    UINT32 tcpValue = MG_HTONL(value);
-    return WriteBytes((unsigned char*)&tcpValue, sizeof(UINT32));
-}
-
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteUINT16( UINT16 value )
-{
-    UINT16 tcpValue = MG_HTONS(value);
-    return WriteBytes((unsigned char*)&tcpValue, sizeof(UINT16));
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteINT64( INT64 value )
-{
-    UINT32 word = (UINT32) (value & 0xFFFFFFFF);
-    MgStreamHelper::MgStreamStatus stat = WriteUINT32(word);
-
-    word = (UINT32)((value >> 32) & 0xFFFFFFFF);
-    if (MgStreamHelper::mssDone == stat) stat = WriteUINT32(word);
-
-    return stat;
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteSingle( float value )
-{
-    UINT32 word = 0;
-    memcpy((void*)&word, (void*)&value, sizeof(float));
-    UINT32 tcpValue = MG_HTONL(word);
-    return WriteBytes((unsigned char*)&tcpValue, sizeof(UINT32));
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteDouble( double value )
-{
-    INT64 intValue;
-    memcpy((void*)&intValue, (void*)&value, sizeof(double));
-    return WriteINT64(intValue);
-}
-
-MgStreamHelper::MgStreamStatus MgMemoryStreamHelper::WriteNullTermString( CREFSTRING data )
-{
-    string mbStr = MgUtil::WideCharToMultiByte(data);
-    MgStreamHelper::MgStreamStatus stat =
-        WriteBytes((const unsigned char*)mbStr.c_str(),(int)mbStr.length()+1);
-    return stat;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Get a pointer to the data in this memory stream
-///</summary>
-const INT8* MgMemoryStreamHelper::GetBuffer()
-{
-    return m_buffer;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Get the length of the data in this stream
-///</summary>
-INT32 MgMemoryStreamHelper::GetLength()
-{
-    return (INT32)(m_curPtrWrite - m_buffer);
-}
-
-void MgMemoryStreamHelper::Dispose()
-{
-    delete this;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Encode stream as Base64
-///</summary>
-string MgMemoryStreamHelper::ToBase64()
-{
-    unsigned long len = Base64::GetEncodedLength(GetLength());
-    string b64;
-    b64.resize(len, '\0');
-    Base64::Encode((char*)b64.c_str(), (const unsigned char*)m_buffer, GetLength());
-    return b64;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Decode stream from Base64
-///</summary>
-void MgMemoryStreamHelper::FromBase64(CREFSTRING uniString)
-{
-    string b64string;
-    UnicodeString::WideCharToMultiByte(uniString.c_str(), b64string);
-
-    Clear();
-    unsigned long origLen = (unsigned long) b64string.length();
-    unsigned long len = Base64::GetDecodedLength(origLen);
-    if (len < 512)
-    {
-        unsigned char buf[512];
-        Base64::Decode(buf, b64string.c_str(), origLen);
-        WriteBytes(buf, len);
-    }
-    else
-    {
-        unsigned char* buf = new unsigned char[len];
-        Base64::Decode(buf, b64string.c_str(), origLen);
-        WriteBytes(buf, len);
-        delete [] buf;
-    }
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Clears internal buffer
-///</summary>
-void MgMemoryStreamHelper::Clear()
-{
-    m_curPtrWrite = m_curPtrRead = m_buffer;
-}
-
-//////////////////////////////////////////////////////////////////
-///<summary>
-/// Rewind to start of buffer
-///</summary>
-void MgMemoryStreamHelper::Rewind()
-{
-    m_curPtrRead = m_buffer;
-}
-
-#endif //WANT_ACE
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/MemoryStreamHelper.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,209 +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 MGMEMORYSTREAMHELPER_H_MG
-#define MGMEMORYSTREAMHELPER_H_MG
-
-#if WANT_ACE
-
-#include "StreamHelper.h"
-
-class MgMemoryStreamHelper;
-template class MG_FOUNDATION_API Ptr<MgMemoryStreamHelper>;
-
-/// \cond INTERNAL
-///////////////////////////////////////////////////////////////////////////
-//  The MgMemoryStreamHelper class provides an interface to read and write data
-//  from an underlying memory data stream.
-class MG_FOUNDATION_API MgMemoryStreamHelper : public MgStreamHelper
-{
-    DECLARE_CLASSNAME(MgMemoryStreamHelper)
-
-    ///////////////////////////////////////////////////////////////////////
-    ///  Constructors/Destructors
-    public:
-    MgMemoryStreamHelper();
-    MgMemoryStreamHelper(INT8* buffer, INT32 length, bool ownMemory = false);
-    virtual ~MgMemoryStreamHelper();
-
-    ///////////////////////////////////////////////////////////////////////
-    ///  Methods
-    public:
-
-    ////////////////////////////////////
-    ////////////////////////////////////
-    /// Buffered Reader Methods
-    MgStreamStatus GetData( void* buffer, size_t size, bool blocking = true, bool peeking = false );
-
-    MgStreamStatus GetUINT8( UINT8& data, bool blocking = true, bool peeking = false );
-
-    MgStreamStatus GetUINT16( UINT16& data, bool blocking = true, bool peeking = false );
-
-    MgStreamStatus GetUINT32( UINT32& data, bool blocking = true, bool peeking = false );
-
-    MgStreamStatus GetINT64( INT64& data, bool blocking = true, bool peeking = false );
-
-    /// Warning:  only works for strings up to 1k in size
-    MgStreamStatus GetNullTermString( REFSTRING data, bool blocking = true, bool peeking = false );
-
-    MgStreamStatus GetSingle(float& data, bool blocking = true, bool peeking = false);
-
-    MgStreamStatus GetDouble(double& data, bool blocking = true, bool peeking = false);
-
-    ////////////////////////////////////
-    ////////////////////////////////////
-    /// Cached Writing Methods
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a byte.
-    ///
-    /// \param value
-    /// 8 bit byte to write
-    ///
-    MgStreamStatus WriteUINT8( UINT8 value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a TCP/IP 16 bit integer.  This routine should make our
-    /// data transfer platform independent
-    ///
-    /// \param value
-    /// 16 bit integer to write
-    ///
-    MgStreamStatus WriteUINT16( UINT16 value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a TCP/IP 32 bit integer.  This routine should make our
-    /// data transfer platform independent
-    ///
-    /// \param value
-    /// 32 bit integer to write
-    ///
-    MgStreamStatus WriteUINT32( UINT32 value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a TCP/IP 64 bit integer.  This routine should make our
-    /// data transfer platform independent
-    ///
-    /// \param value
-    /// 64 bit integer to write
-    ///
-    MgStreamStatus WriteINT64( INT64 value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a double using the INT64 method above.  This routine should
-    /// be platform independant
-    ///
-    /// \param value
-    /// double to write
-    ///
-    MgStreamStatus WriteDouble( double value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a single. This routine should be platform independant
-    ///
-    /// \param value
-    /// single to write
-    ///
-    MgStreamStatus WriteSingle( float value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Writes a null terminated string.  Only works for strings up to
-    /// 1k in size.
-    ///
-    /// \param value
-    /// String to write
-    ///
-    MgStreamStatus WriteNullTermString( CREFSTRING value );
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Recursive routine to write an arbitrarily large input buffer to the stream
-    /// If the input fits in our internal buffer, just use the internal buffer.
-    ///
-    MgStreamStatus WriteBytes(const unsigned char* buf, int nBytes);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Flushes internal memory buffer to stream helper.  This method
-    /// should be called once an entire packet has been assembled.
-    ///
-    MgStreamStatus Flush();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get a pointer to the data in this memory stream
-    ///
-    const INT8* GetBuffer();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the length of the data in this stream
-    ///
-    INT32 GetLength();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Encode stream as Base64
-    ///
-    string ToBase64();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Decode stream from Base64
-    ///
-    void FromBase64(CREFSTRING b64string);
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Clears internal buffer
-    ///
-    void Clear();
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Resets reading to start of buffer
-    ///
-    void Rewind();
-
-    protected:
-
-    void Dispose();
-
-    private:
-
-    INT8*   m_buffer;
-    INT8*   m_endBuffer;
-    INT8*   m_curPtrWrite;
-    INT8*   m_curPtrRead;
-    INT32   m_blockCount;
-    bool    m_ownMemory;
-
-    /// minimum size of a memory bloc
-    static INT32 m_blockSize;
-};
-/// \endcond
-
-#endif //WANT_ACE
-
-#endif  //  MGMEMORYSTREAMHELPER_H_MG

Modified: sandbox/adsk/vik/Common/Foundation/System/NamedSerializable.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/NamedSerializable.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/NamedSerializable.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -25,7 +25,7 @@
 class MgNamedSerializable;
 template class MG_FOUNDATION_API Ptr<MgNamedSerializable>;
 
-class MG_FOUNDATION_API MgNamedSerializable : public MgSerializable
+class MG_FOUNDATION_API MgNamedSerializable : public MgGuardDisposable
 {
 EXTERNAL_API:
 

Deleted: sandbox/adsk/vik/Common/Foundation/System/Resources.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Resources.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Resources.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,163 +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 "stdafx.h"
-#include "Foundation.h"
-
-const STRING MgResources::DefaultMessageLocale       = L"en";           // Do not translate (ISO 639-1)
-const STRING MgResources::ResourceFilenameExtension  = L".res";         // Do not translate
-const STRING MgResources::ResourceFilenameUnderscore = L"_";            // Do not translate
-const STRING MgResources::ResourceComponent          = L"mapguide";     // Do not translate
-
-// The following resouce messages are not in the resource file because there may be the case where the resource file failed to load.
-const STRING MgResources::FailedToLoadResourcesFile     = L"Failed to load the resource file \"%1\" for locale \"%2\".";
-const STRING MgResources::FailedToLoadStartupFile       = L"Startup file %1 cannot be found or cannot be opened.";
-const STRING MgResources::FailedToLoadConfigurationFile = L"Configuration file \"%1\" cannot be found or cannot be opened.";
-const STRING MgResources::FailedToRetrieveMessage       = L"Failed to retrieve message for \"%1\".";
-const STRING MgResources::FormatExceptionLocationMethods = L"- ";
-const STRING MgResources::FormatExceptionLocationLines  = L" line ";
-const STRING MgResources::FormatExceptionLocationFiles  = L" file ";
-const STRING MgResources::MentorDictionaryPath          = L"%1 (using path: %2)";
-const STRING MgResources::ServerStarting                = L"Server starting...";
-const STRING MgResources::ServerShuttingDown            = L"Server shutting down...";
-const STRING MgResources::ServerStarted                 = L"Server started.";
-const STRING MgResources::ServerStopped                 = L"Server stopped.";
-const STRING MgResources::ServerServiceName             = L"MapGuideServer2.3"; // Do not translate
-const STRING MgResources::ServerServiceDisplayName      = L"MapGuide Server v2.3"; // Do not translate
-const STRING MgResources::ServerServiceDescription      = L"The MapGuide Server process.";
-const STRING MgResources::UsingDefaultResourceFile      = L"Defaulting to the \"en\" resource file.";
-const STRING MgResources::RegisteredLicenseDetected     = L"Registered license detected...";
-const STRING MgResources::EvaluationLicenseDetected     = L"Evaluation license detected.  Evaluation will expire in: %1 day(s).";
-const STRING MgResources::AlphaReleaseDetected          = L"Alpha release detected.  Alpha version will expire in: %1 day(s).";
-const STRING MgResources::BetaReleaseDetected           = L"Beta release detected.  Beta version will expire in: %1 day(s).";
-const STRING MgResources::PreviewReleaseDetected        = L"Preview release detected.  Preview version will expire in: %1 day(s).";
-const STRING MgResources::InvalidLicense                = L"You have an invalid license.";
-const STRING MgResources::LicenseAlreadyExists          = L"Cannot create a new license, one already exists.";
-const STRING MgResources::LicenseCheckoutCancel         = L"The license checkout was canceled by the user.";
-const STRING MgResources::LicenseInvalidSerialNumber    = L"Invalid serial number.";
-const STRING MgResources::LicenseCheckoutError          = L"Generic license checkout error.";
-const STRING MgResources::LicenseNotFound               = L"The license was not found.";
-const STRING MgResources::PreCacheMapsStart             = L"Precaching the following Maps:";
-
-
-
-// The following resource strings are for the commandline options for the server. These are not in the resources file because
-// the server has not even started at this point.
-const STRING MgResources::ServerCmdDaemon               = L"daemon"; // Do not translate
-const STRING MgResources::ServerCmdDaemonInfo           = L"Running the server as a daemon (service). \n\n";
-const STRING MgResources::ServerCmdDaemonDescription    = L"  daemon\n"\
-                                                          L"      Runs the server in the background as a daemon. \n\n";
-const STRING MgResources::ServerCmdHelp                 = L"help"; // Do not translate
-const STRING MgResources::ServerCmdHelpInfo1            = L"\n%s %s\n\n"\
-                                                          L"The following is a list of supported command line options:\n\n";
-const STRING MgResources::ServerCmdHelpInfo2            = L"\nNote: Only 1 command line option can be used at a time.\n\n";
-const STRING MgResources::ServerCmdHelpDescription      = L"  ? or help\n"\
-                                                          L"      Displays this information.\n\n";
-
-const STRING MgResources::ServerCmdInstall              = L"install"; // Do not translate
-const STRING MgResources::ServerCmdInstallInfo          = L"Installing server service \"%s\".\nServer service display name \"%s\".\nService will be automatically started if installed successfully.\n";
-const STRING MgResources::ServerCmdInstallDescription   = L"  install <Name>\n"\
-                                                          L"      Installs the server as a service. Automatically starts the service.\n\n"\
-                                                          L"      Default service display name installed:\n"\
-                                                          L"      \"%s\"\n\n"\
-                                                          L"      You can use a different display name for the service if you specify an\n"\
-                                                          L"      optional \"Name\".\n\n";
-
-const STRING MgResources::ServerCmdUninstall            = L"uninstall"; // Do not translate
-const STRING MgResources::ServerCmdUninstallInfo        = L"Uninstalling server service \"%s\".\n";
-const STRING MgResources::ServerCmdUninstallDescription = L"  uninstall\n"\
-                                                          L"      Uninstalls an installed server service. Automatically stops the service\n"\
-                                                          L"      before uninstalling.\n\n";
-
-const STRING MgResources::ServerCmdTestFdo              = L"testfdo"; // Do not translate
-const STRING MgResources::ServerCmdTestFdoInfo          = L"Running the FDO unit tests.\n\n";
-const STRING MgResources::ServerCmdTestFdoDescription   = L"  testfdo <Filename>\n"\
-                                                          L"      Runs the FDO unit tests.\n\n"\
-                                                          L"      Default output of the FDO unit tests will be the console unless you\n"\
-                                                          L"      specify an optional \"Filename\". The output to the \"Filename\" will be\n"\
-                                                          L"      in XML.\n\n";
-
-const STRING MgResources::ServerCmdTestMode             = L"testmode"; // Do not translate
-const STRING MgResources::ServerCmdTest                 = L"test"; // Do not translate
-const STRING MgResources::ServerCmdTestInfo             = L"Running the server unit tests.\n\n";
-const STRING MgResources::ServerCmdTestDescription      = L"  test <Test> <Filename>\n"\
-                                                          L"      Runs the server unit test(s).\n\n"\
-                                                          L"      By default all of the unit tests will be run unless you specify an\n"\
-                                                          L"      optional \"Test\" to run. If you specify \"List\" as the test to run you\n"\
-                                                          L"      will get a list of the available unit tests.\n\n"\
-                                                          L"      Default output of the unit tests will be the console unless you specify\n"\
-                                                          L"      an optional \"Filename\". The output to the \"Filename\" will be in XML.\n\n";
-
-const STRING MgResources::ServerCmdTestDefaultFileName  = L"results.xml";
-const STRING MgResources::ServerCmdTestDefaultTests     = L"all"; // Do not translate
-const STRING MgResources::ServerCmdTestListTests        = L"list"; // Do not translate
-
-
-const STRING MgResources::ServerCmdInteractive          = L"interactive"; // Do not translate
-const STRING MgResources::ServerCmdRun                  = L"run"; // Do not translate
-const STRING MgResources::ServerCmdRunInfo              = L"Running the server interactively as an application instead of as a service.\n\n";
-const STRING MgResources::ServerCmdRunDescription       = L"  run\n"\
-                                                            L"      Runs the server interactively as an application instead of a service.\n\n";
-
-const STRING MgResources::ServerCmdStart                = L"start"; // Do not translate
-const STRING MgResources::ServerCmdStartInfo            = L"Starting the server service.\n\n";
-const STRING MgResources::ServerCmdStartDescription     = L"  start\n"\
-                                                          L"      Starts the server service. Note: The service must be installed.\n\n";
-
-const STRING MgResources::ServerCmdStop                 = L"stop"; // Do not translate
-const STRING MgResources::ServerCmdStopInfo             = L"Stopping the server service.\n\n";
-const STRING MgResources::ServerCmdStopDescription      = L"  stop\n"\
-                                                          L"      Stops the server service. Note: The service must be installed.\n\n";
-
-const STRING MgResources::ServerCmdUnrecognizedInfo     = L"Unrecognized option: \"%s\".\n";
-
-const STRING MgResources::ServerCmdInstallFailed        = L"Failed to install the server service: \"%s\".\nError: %s";
-const STRING MgResources::ServerCmdUninstallFailed      = L"Failed to uninstall the server service: \"%s\".\nError: %s";
-const STRING MgResources::ServerErrorCodeMessage        = L"Error code %d.\n";
-const STRING MgResources::ServerServiceError            = L"Error: %s.\n";
-const STRING MgResources::ServerServiceStartFailure     = L"Service failed to start: %d\nError: %s\nYou cannot run the server from the command line unless you specify the\n\"%s\" command line option.\n\n";
-
-
-const STRING MgResources::Resource_Exception_Section    = L"Exceptions"; // Do not translate
-
-const STRING MgResources::Unknown                       = L"Unknown";
-const STRING MgResources::Success                       = L"Success";
-const STRING MgResources::Failure                       = L"Failure";
-const STRING MgResources::UnauthorizedAccess            = L"Unauthorized Access";
-const STRING MgResources::PermissionDenied              = L"Permission Denied";
-const STRING MgResources::Error                         = L"Error"; // Do not translate
-const STRING MgResources::Warnings                      = L"Warning"; // Do not translate
-const STRING MgResources::StackTrace                    = L"StackTrace"; // Do not translate
-const STRING MgResources::ErrorDescription              = L"ErrorDescription"; // Do not translate
-const STRING MgResources::BlankArgument                 = L" ";
-
-// Services
-const STRING MgResources::DrawingService                = L"DrawingService"; // Do not translate
-const STRING MgResources::FeatureService                = L"FeatureService"; // Do not translate
-const STRING MgResources::MappingService                = L"MappingService"; // Do not translate
-const STRING MgResources::RenderingService              = L"RenderingService"; // Do not translate
-const STRING MgResources::ResourceService               = L"ResourceService"; // Do not translate
-const STRING MgResources::ServerAdminService            = L"ServerAdminService"; // Do not translate
-const STRING MgResources::SiteService                   = L"SiteService"; // Do not translate
-const STRING MgResources::TileService                   = L"TileService"; // Do not translate
-const STRING MgResources::KmlService                    = L"KmlService"; // Do not translate
-const STRING MgResources::ProfilingService              = L"ProfilingService"; // Do not translate
-
-// Other
-const STRING MgResources::Stylization                   = L"Stylization"; // Do not translate
-const STRING MgResources::WhiteSpace                    = L"\n\r\t ";
-

Deleted: sandbox/adsk/vik/Common/Foundation/System/Resources.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Resources.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Resources.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,163 +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_H_
-#define MG_RESOURCES_H_
-
-#include <map>
-
-
-class ACE_Configuration_Heap;
-
-typedef std::map<STRING, STRING> ResourceSection;
-typedef std::map<STRING, ResourceSection*> ResourceFile;
-typedef std::map<STRING, ResourceFile*> ResourceCache;
-
-///////////////////////////////////////////////////////////////////////////////
-/// MapGuide Resources try/catch/throw macros.
-///
-#define MG_RESOURCES_TRY()                                                    \
-    MG_TRY()                                                                  \
-
-#define MG_RESOURCES_CATCH(methodName)                                        \
-    MG_CATCH(methodName)                                                      \
-
-#define MG_RESOURCES_THROW()                                                  \
-    MG_THROW()                                                                \
-
-/// \cond INTERNAL
-class MG_FOUNDATION_API MgResources : public MgGuardDisposable
-{
-    DECLARE_CLASSNAME(MgResources)
-
-INTERNAL_API:
-
-    /// Resource Components
-    static const STRING ResourceComponent;
-
-    /// Default locale
-    static const STRING DefaultMessageLocale;
-
-    static const STRING ServerServiceName;
-    static const STRING ServerServiceDisplayName;
-    static const STRING ServerServiceDescription;
-
-    static const STRING FailedToLoadResourcesFile;
-    static const STRING FailedToLoadStartupFile;
-    static const STRING FailedToLoadConfigurationFile;
-    static const STRING FailedToRetrieveMessage;
-    static const STRING FormatExceptionLocationMethods;
-    static const STRING FormatExceptionLocationLines;
-    static const STRING FormatExceptionLocationFiles;
-    static const STRING MentorDictionaryPath;
-    static const STRING ServerStarting;
-    static const STRING ServerShuttingDown;
-    static const STRING ServerStarted;
-    static const STRING ServerStopped;
-    static const STRING ServerCmdDaemon;
-    static const STRING ServerCmdDaemonInfo;
-    static const STRING ServerCmdDaemonDescription;
-    static const STRING ServerCmdHelp;
-    static const STRING ServerCmdHelpInfo1;
-    static const STRING ServerCmdHelpInfo2;
-    static const STRING ServerCmdHelpDescription;
-    static const STRING ServerCmdInstall;
-    static const STRING ServerCmdInstallInfo;
-    static const STRING ServerCmdInstallDescription;
-    static const STRING ServerCmdInteractive; // Backwards compatibility
-    static const STRING ServerCmdRun;
-    static const STRING ServerCmdRunInfo;
-    static const STRING ServerCmdRunDescription;
-    static const STRING ServerCmdStart;
-    static const STRING ServerCmdStartInfo;
-    static const STRING ServerCmdStartDescription;
-    static const STRING ServerCmdStop;
-    static const STRING ServerCmdStopInfo;
-    static const STRING ServerCmdStopDescription;
-    static const STRING ServerCmdTestFdo;
-    static const STRING ServerCmdTestFdoInfo;
-    static const STRING ServerCmdTestFdoDescription;
-    static const STRING ServerCmdTest;
-    static const STRING ServerCmdTestInfo;
-    static const STRING ServerCmdTestDescription;
-    static const STRING ServerCmdTestDefaultFileName;
-    static const STRING ServerCmdTestDefaultTests;
-    static const STRING ServerCmdTestListTests;
-    static const STRING ServerCmdTestMode; // Backwards compatibility
-    static const STRING ServerCmdUninstall;
-    static const STRING ServerCmdUninstallInfo;
-    static const STRING ServerCmdUninstallDescription;
-    static const STRING ServerCmdUnrecognizedInfo;
-    static const STRING ServerCmdInstallFailed;
-    static const STRING ServerCmdUninstallFailed;
-    static const STRING ServerErrorCodeMessage;
-    static const STRING ServerServiceError;
-    static const STRING ServerServiceStartFailure;
-    static const STRING RegisteredLicenseDetected;
-    static const STRING EvaluationLicenseDetected;
-    static const STRING AlphaReleaseDetected;
-    static const STRING BetaReleaseDetected;
-    static const STRING PreviewReleaseDetected;
-    static const STRING InvalidLicense;
-    static const STRING LicenseAlreadyExists;
-    static const STRING LicenseNotFound;
-    static const STRING LicenseCheckoutCancel;
-    static const STRING LicenseCheckoutError;
-    static const STRING LicenseInvalidSerialNumber;
-    static const STRING PreCacheMapsStart;
-
-
-    static const STRING UsingDefaultResourceFile;
-
-    static const STRING Resource_Exception_Section;
-
-    static const STRING Unknown;
-    static const STRING Success;
-    static const STRING Failure;
-    static const STRING UnauthorizedAccess;
-    static const STRING PermissionDenied;
-    static const STRING Error;
-    static const STRING Warnings;   // Intentionally suffix the constant here with 's' to resolve a build conflict
-    static const STRING StackTrace;
-    static const STRING ErrorDescription;
-    static const STRING BlankArgument;
-
-    // Services
-    static const STRING DrawingService;
-    static const STRING FeatureService;
-    static const STRING MappingService;
-    static const STRING RenderingService;
-    static const STRING ResourceService;
-    static const STRING ServerAdminService;
-    static const STRING SiteService;
-    static const STRING TileService;
-    static const STRING KmlService;
-    static const STRING ProfilingService;
-
-    // Other
-    static const STRING Stylization;
-
-private:
-    static const STRING ResourceFilenameExtension;
-    static const STRING ResourceFilenameUnderscore;
-    static const STRING WhiteSpace;
-
-};
-/// \endcond
-
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/System/Serializable.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Serializable.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Serializable.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,28 +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 "stdafx.h"
-#include "Foundation.h"
-
-MgSerializable::~MgSerializable()
-{
-}
-
-STRING MgSerializable::GetLogString()
-{
-    return L"";
-}

Deleted: sandbox/adsk/vik/Common/Foundation/System/Serializable.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Serializable.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Serializable.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,55 +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_SERIALIZABLE_H
-#define _MG_SERIALIZABLE_H
-
-class MgDisposable;
-class MgStream;
-
-/// \cond INTERNAL
-/////////////////////////////////////////////////////////////////
-/// \brief
-/// Root class of all serializable objects.
-class MG_FOUNDATION_API MgSerializable : public MgGuardDisposable
-{
-EXTERNAL_API:
-
-    //////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Default destructor for this class.
-    ///
-    /// \return
-    /// Returns nothing
-    ///
-    virtual ~MgSerializable();
-
-INTERNAL_API:
-
-    //////////////////////////////////////////////////////////
-    /// \brief
-    /// Builds a log friendly string representation
-    ///
-    /// \return
-    /// String suitable for logs
-    ///
-    virtual STRING GetLogString();
-
-};
-/// \endcond
-
-#endif

Deleted: sandbox/adsk/vik/Common/Foundation/System/SetLocale.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/SetLocale.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/SetLocale.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,38 +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 "stdafx.h"
-#include "Foundation.h"
-#include <locale.h>
-#include "SetLocale.h"
-
-
-MgSetLocale::MgSetLocale(int category, const char * locale) :
-    m_category(category)
-{
-    m_strOldLocale = ::setlocale(m_category, NULL);
-    m_strNewLocale = locale;
-    if (m_strOldLocale != locale)
-        ::setlocale(m_category, locale);
-}
-
-
-MgSetLocale::~MgSetLocale()
-{
-    if (m_strOldLocale != m_strNewLocale)
-        ::setlocale(m_category, m_strOldLocale.c_str());
-}

Deleted: sandbox/adsk/vik/Common/Foundation/System/SetLocale.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/SetLocale.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/SetLocale.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -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
-//
-
-#ifndef MGSETLOCALE_H_
-#define MGSETLOCALE_H_
-
-/// \cond INTERNAL
-// This class should be used instead of ::setlocale(int category, const char * locale)
-// in order to temporarily set the locale for an operation.  The reason being:
-// this class will automatically reset the locale back to what it was before
-// this object was created whether an exception occurs in the block of code where
-// it is active or not.
-//
-// Usage:
-//    {
-//        MgSetLocale mgSetLocale(LC_NUMERIC, "");  // create a stack instance
-//        ...code that works in the new locale...
-//    }
-//    <-- at the point where execution resumes after the block, the old locale
-//        is restored whether an exception had occurred in the above code or not.
-class MgSetLocale {
-
-public:
-
-    MgSetLocale(int category, const char * locale);
-    ~MgSetLocale();
-
-protected:
-    std::string m_strOldLocale;
-    std::string m_strNewLocale;
-    int m_category;
-};
-/// \endcond
-
-#endif

Modified: sandbox/adsk/vik/Common/Foundation/System/Util.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Util.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Util.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,7 +17,6 @@
 
 #include "stdafx.h"
 #include "Foundation.h"
-#include "SetLocale.h"
 #include <math.h>
 
 #include <algorithm>
@@ -632,85 +631,6 @@
     return str;
 }
 
-bool MgUtil::GetLinuxMemoryStatus(MgLinuxMemoryStatus* pMemoryStatus)
-{
-    bool bSuccess = false;
-
-    #ifdef _WIN32
-
-        return false;
-
-    #else
-
-        assert(pMemoryStatus != 0);
-
-        FILE* meminfo;
-        char line[80];
-
-        meminfo = fopen( ( MgUtil::WideCharToMultiByte(MgUtil::LinuxFilesystemMeminfo) ).c_str(), "r" );  //NOXLATE
-        if (NULL == meminfo)
-        {
-            MgStringCollection arguments;
-            arguments.Add(MgUtil::LinuxFilesystemMeminfo);
-            throw new MgFileNotFoundException(L"MgUtil.GetLinuxMemoryStatus", __LINE__, __WFILE__, &arguments, L"", NULL);
-        }
-
-        // Move file pointer to next line
-        fgets(line, 80, meminfo);
-
-        // Read physical memory info
-        double total;
-        double used;
-        double free;
-        double shared;
-        double buffers;
-        double cached;
-        fgets(line, 80, meminfo);
-        sscanf(line, "%*4s %lf %lf %lf %lf %lf %lf",
-            &total, &used, &free, &shared, &buffers, &cached);
-
-        pMemoryStatus->m_memTotal = (INT64)total;
-        pMemoryStatus->m_memUsed = (INT64)used;
-        pMemoryStatus->m_memFree = (INT64)free;
-        pMemoryStatus->m_memShared = (INT64)shared;
-        pMemoryStatus->m_memBuffers = (INT64)buffers;
-        pMemoryStatus->m_memCached = (INT64)cached;
-
-        // Read swap memory info
-        double swapTotal;
-        double swapUsed;
-        double swapFree;
-        fgets(line, 80, meminfo);
-        sscanf(line, "%*5s %lf %lf %lf",
-            &swapTotal, &swapUsed, &swapFree);
-
-        pMemoryStatus->m_swapTotal = (INT64)swapTotal;
-        pMemoryStatus->m_swapUsed = (INT64)swapUsed;
-        pMemoryStatus->m_swapFree = (INT64)swapFree;
-
-        fclose(meminfo);
-
-        bSuccess = true;
-
-    #endif // _WIN32
-
-    return bSuccess;
-}
-
-void MgUtil::Int32ToLocaleSpecificString(INT32 val, string& str)
-{
-    stringstream s;
-
-    s << std::setprecision(0) << std::fixed;
-
-    MgSetLocale mgSetLocale(LC_NUMERIC, ""); // set the locale to the default obtained from the OS
-    locale loc( setlocale(LC_NUMERIC, NULL) );  // create an instance of locale from querying the current locale
-    s.imbue(loc);  // set the locale for the stream
-
-    s << val;
-    str = s.str();
-}
-
 void MgUtil::Int32ToString(INT32 val, string& str)
 {
     char buf[32] = { 0 };

Modified: sandbox/adsk/vik/Common/Foundation/System/Util.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/Util.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/Util.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -19,8 +19,6 @@
 #define MGUTIL_H_
 
 
-#include "LinuxMemoryStatus.h"
-
 // Math-related macros
 
 #define DoubleMaxValue  DBL_MAX
@@ -61,7 +59,6 @@
 /// code
 class MG_FOUNDATION_API MgUtil
 {
-    DECLARE_CLASSNAME(MgUtil)
 
 INTERNAL_API:
 
@@ -466,24 +463,6 @@
 
     static STRING GetResourceMessage(CREFSTRING section, CREFSTRING messageId);
 
-    ///////////////////////////////////////////////////////////////////////////
-    /// \brief
-    /// Get the memory status on Linux OS.
-    ///
-    /// \param pMemoryStatus
-    /// pMemoryStatus - Pointer to MgLinuxMemoryStatus structure
-    ///
-    /// \return
-    /// true on success, false otherwise
-    ///
-    /// \exception MgFileNotFoundException
-    /// \exception MgPlatformNotSupportedException
-    ///
-    ///
-    static bool GetLinuxMemoryStatus(MgLinuxMemoryStatus* pMemoryStatus);
-
-    static void Int32ToLocaleSpecificString(INT32 val, string& str);
-
     static void Int32ToString(INT32 val, string& str);
     static void Int32ToString(INT32 val, STRING& str);
     static void UInt32ToString(UINT32 val, string& str);

Deleted: sandbox/adsk/vik/Common/Foundation/System/XmlDefs.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/XmlDefs.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/XmlDefs.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,109 +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
-//
-
-/// \cond INTERNAL
-
-#ifndef MG_XML_DEFS_H_
-#define MG_XML_DEFS_H_
-
-#include "Foundation.h"
-
-#if WANT_XERCES
-// disable C4244 of XSerializeEngine about __w64 int assigned to unsigned long
-#pragma warning(push)
-#pragma warning(disable: 4244)
-
-#include <xercesc/util/PlatformUtils.hpp>
-#include <xercesc/util/XMLString.hpp>
-#include <xercesc/dom/DOM.hpp>
-
-#include <xercesc/dom/DOMImplementation.hpp>
-#include <xercesc/dom/DOMImplementationLS.hpp>
-
-#include <xercesc/framework/StdOutFormatTarget.hpp>
-#include <xercesc/framework/MemBufFormatTarget.hpp>
-#include <xercesc/parsers/XercesDOMParser.hpp>
-#include <xercesc/util/XMLUni.hpp>
-#include <xercesc/framework/MemBufInputSource.hpp>
-#include <xercesc/dom/DOMLSSerializer.hpp>
-#include <xercesc/dom/DOMConfiguration.hpp>
-#include <xercesc/dom/DOMLSOutput.hpp>
-#include <xercesc/framework/XMLFormatter.hpp>
-
-#pragma warning(pop)
-
-#if defined(XERCES_NEW_IOSTREAMS)
-#include <iostream>
-#else
-#include <iostream.h>
-#endif
-
-//static char*                    gXmlFile               = 0;
-//static bool                     gDoNamespaces          = false;
-//static bool                     gDoSchema              = false;
-//static bool                     gSchemaFullChecking    = false;
-//static bool                     gDoCreate              = false;
-//
-//static char*                    goutputfile            = 0;
-//// options for DOMWriter's features
-//static XMLCh*                   gOutputEncoding        = 0;
-//
-static bool                     gSplitCdataSections    = true;
-static bool                     gDiscardDefaultContent = true;
-// static bool                     gUseFilter             = false;
-static bool                     gFormatPrettyPrint     = false;
-static bool                     gWriteBOM              = false;
-//
-//// static XercesDOMParser::ValSchemes    gValScheme       = XercesDOMParser::Val_Auto;
-
-XERCES_CPP_NAMESPACE_USE
-
-///////////////////////////////////////////////////////////////////////////////
-/// MapGuide XML try/catch/throw macros.
-///
-#define MG_XML_TRY()                                                          \
-    MG_TRY()                                                                  \
-
-#define MG_XML_CATCH(methodName)                                              \
-    }                                                                         \
-    catch (const XMLException& e)                                             \
-    {                                                                         \
-        MgStringCollection arguments;                                         \
-        arguments.Add(X2W(e.getMessage()));                                   \
-        mgException = new 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); \
-                                                                              \
-    MG_CATCH(methodName)                                                      \
-
-#define MG_XML_THROW()                                                        \
-    MG_THROW()                                                                \
-
-#define MG_XML_CATCH_AND_THROW(methodName)                                    \
-    MG_XML_CATCH(methodName)                                                  \
-                                                                              \
-    MG_XML_THROW()                                                            \
-
-#endif
-
-#endif //WANT_XERCES
-
-/// \endcond

Deleted: sandbox/adsk/vik/Common/Foundation/System/XmlUtil.cpp
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/XmlUtil.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/XmlUtil.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,820 +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 "stdafx.h"
-#include "Foundation.h"
-
-#if WANT_XERCES
-
-#include "XmlDefs.h"
-#include "XmlUtil.h"
-#include "UnicodeString.h"
-
-#include <assert.h>
-
-static const char* sgBufId = "MgXmlUtil.Class";
-
-
-// Dummy class used to automate initialization/uninitialization of Xerces.
-class CInitXerces
-{
-public:
-    CInitXerces()
-    {
-        XMLPlatformUtils::Initialize();
-    }
-    ~CInitXerces()
-    {
-        XMLPlatformUtils::Terminate();
-    }
-};
-
-static CInitXerces s_InitXerces;
-
-
-MgXmlUtil::MgXmlUtil() :
-    m_parser(NULL),
-    m_bis(NULL),
-    m_doc(NULL),
-    m_ownDomDoc(false)
-{
-}
-
-MgXmlUtil::MgXmlUtil(DOMDocument* document, bool ownDomDoc) :
-    m_parser(NULL),
-    m_bis(NULL),
-    m_doc(document),
-    m_ownDomDoc(ownDomDoc)
-{
-    CHECKNULL(m_doc, L"MgXmlUtil.MgXmlUtil");
-}
-
-MgXmlUtil::MgXmlUtil(const string& xmlContent) :
-    m_parser(NULL),
-    m_bis(NULL),
-    m_doc(NULL),
-    m_ownDomDoc(false)
-{
-    ParseString(xmlContent.c_str());
-}
-
-MgXmlUtil::MgXmlUtil(const char* rootElementName) :
-    m_parser(NULL),
-    m_bis(NULL),
-    m_doc(NULL),
-    m_ownDomDoc(true)
-{
-    CHECKNULL(rootElementName, L"MgXmlUtil.MgXmlUtil");
-
-    DOMImplementation* impl =
-        DOMImplementationRegistry::getDOMImplementation(X("Core"));
-
-    if (NULL != impl)
-    {
-        m_doc = impl->createDocument(0, X(rootElementName), 0);
-    }
-}
-
-MgXmlUtil::~MgXmlUtil()
-{
-    delete m_parser;
-    m_parser = NULL;
-
-    delete m_bis;
-    m_bis = NULL;
-
-    if (NULL != m_doc)
-    {
-        if (m_ownDomDoc)
-            m_doc->release();
-
-        m_doc = NULL;
-    }
-
-    m_ownDomDoc = false;
-}
-
-void MgXmlUtil::ParseString(const char* xmlContent)
-{
-    CHECKNULL(xmlContent, L"MgXmlUtil.MgXmlUtil");
-    assert(NULL == m_parser && NULL == m_bis);
-    assert(NULL == m_doc && !m_ownDomDoc);
-
-    MG_XML_TRY()
-
-    xstring xStr;
-    UnicodeString::UTF8toUTF16(xmlContent, xStr);
-    size_t nChars = xStr.length();
-    m_parser = new XercesDOMParser();
-    m_bis = new MemBufInputSource((const XMLByte*)xStr.c_str(),
-        (unsigned int)nChars*sizeof(XMLCh), sgBufId, false);
-    m_bis->setEncoding(X("UTF-16"));
-    m_parser->parse(*m_bis);
-    m_doc = m_parser->getDocument();
-    m_ownDomDoc = false;
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.ParseString")
-}
-
-DOMElement* MgXmlUtil::AddChildNode(DOMElement* parentNode, const char* elementName)
-{
-    CHECKNULL(m_doc,       L"MgXmlUtil.AddChildNode");
-    CHECKNULL(parentNode,  L"MgXmlUtil.AddChildNode");
-    CHECKNULL(elementName, L"MgXmlUtil.AddChildNode");
-
-    // Add Feature Provider element
-    DOMElement* childNode = m_doc->createElement(X(elementName));
-    if (NULL != childNode)
-        parentNode->appendChild(childNode);
-
-    return childNode;
-}
-
-void MgXmlUtil::AddTextNode(DOMElement* parentNode, const char* elementName, bool value)
-{
-    if (value) // true
-        AddTextNode(parentNode,elementName, "true");
-    else
-        AddTextNode(parentNode,elementName, "false");
-}
-
-
-void MgXmlUtil::AddTextNode(DOMElement* parentNode, const char* elementName, const char* elementText)
-{
-    CHECKNULL(m_doc,       L"MgXmlUtil.AddTextNode");
-    CHECKNULL(parentNode,  L"MgXmlUtil.AddTextNode");
-    CHECKNULL(elementName, L"MgXmlUtil.AddTextNode");
-
-    if (NULL != elementText)
-    {
-        DOMElement* elemName = m_doc->createElement(X(elementName));
-        if (NULL != elemName)
-            parentNode->appendChild(elemName);
-
-        DOMText* textNode = m_doc->createTextNode(X(elementText));
-        if (NULL != textNode)
-            elemName->appendChild(textNode);
-    }
-}
-
-void MgXmlUtil::AddTextNode(DOMElement* parentNode, const char* elementName, const wchar_t* elementText)
-{
-    CHECKNULL(m_doc,       L"MgXmlUtil.AddTextNode");
-    CHECKNULL(parentNode,  L"MgXmlUtil.AddTextNode");
-    CHECKNULL(elementName, L"MgXmlUtil.AddTextNode");
-    CHECKNULL(elementText, L"MgXmlUtil.AddTextNode");
-
-    DOMElement* elemName = m_doc->createElement(X(elementName));
-    if (NULL != elemName)
-        parentNode->appendChild(elemName);
-
-    char* mbStr = MgUtil::WideCharToMultiByte(elementText);
-    CHECKNULL(mbStr,  L"MgXmlUtil.AddTextNode");
-
-    DOMText* textNode = m_doc->createTextNode(X(mbStr));
-    if (NULL != textNode)
-        elemName->appendChild(textNode);
-
-    delete[] mbStr;
-}
-
-void MgXmlUtil::UpdateTextNode(DOMNode* parentNode, const char* elementText)
-{
-    CHECKNULL(m_doc,       L"MgXmlUtil.UpdateTextNode");
-    CHECKNULL(parentNode,  L"MgXmlUtil.UpdateTextNode");
-    CHECKNULL(elementText, L"MgXmlUtil.UpdateTextNode");
-
-    DOMNode* child = parentNode->getFirstChild();
-
-    if (NULL == child)
-    {
-        DOMText* textNode = m_doc->createTextNode(X(elementText));
-        parentNode->appendChild(textNode);
-    }
-    else
-    {
-        short type = child->getNodeType();
-
-        if ( DOMNode::TEXT_NODE == type )
-        {
-            DOMText* textNode = m_doc->createTextNode(X(elementText));
-            parentNode->replaceChild(textNode, child);
-        }
-    }
-}
-
-void MgXmlUtil::UpdateTextNode(DOMNode* parentNode, const wchar_t* elementText)
-{
-    CHECKNULL(m_doc,       L"MgXmlUtil.UpdateTextNode");
-    CHECKNULL(parentNode,  L"MgXmlUtil.UpdateTextNode");
-    CHECKNULL(elementText, L"MgXmlUtil.UpdateTextNode");
-
-    DOMNode* child = parentNode->getFirstChild();
-
-    if (NULL == child)
-    {
-        DOMText* textNode = m_doc->createTextNode(W2X(elementText));
-        parentNode->appendChild(textNode);
-    }
-    else
-    {
-        short type = child->getNodeType();
-
-        if ( DOMNode::TEXT_NODE == type )
-        {
-            DOMText* textNode = m_doc->createTextNode(W2X(elementText));
-            parentNode->replaceChild(textNode, child);
-        }
-    }
-}
-
-DOMNode* MgXmlUtil::GetNodeWithTextData(DOMDocument* doc, const char* elementName,
-    const wchar_t* elementText)
-{
-    CHECKNULL( doc,             L"MgXmlUtil::GetNodeWithTextData" );
-    CHECKNULL( elementName,     L"MgXmlUtil::GetNodeWithTextData" );
-
-    DOMNode* ret = NULL;
-
-    DOMNodeList* list = doc->getElementsByTagName( X(elementName) );
-
-    XMLSize_t len = list->getLength();
-
-    for (XMLSize_t i = 0; i < len; i++)
-    {
-        DOMNode* node = list->item(i);
-        DOMNode* child = node->getFirstChild(); //  we expect the text is the first node
-
-        if ( DOMNode::TEXT_NODE == child->getNodeType() )
-        {
-            XMLCh const* tdata = ((DOMText*) child)->getData();
-            if ( XMLString::equals( tdata, W2X(elementText) ) )
-            {
-                ret = node;
-                break;      //  found it; break out of loop
-            }
-        }
-    }
-
-    return ret;
-}
-
-DOMDocument* MgXmlUtil::GetDocument() const
-{
-    return m_doc;
-}
-
-DOMElement* MgXmlUtil::GetRootNode() const
-{
-    CHECKNULL(m_doc, L"MgXmlUtil.GetRootNode");
-    return m_doc->getDocumentElement();
-}
-
-DOMNodeList* MgXmlUtil::GetNodeList(const char* elementName) const
-{
-    CHECKNULL(m_doc, L"MgXmlUtil.GetNodeList");
-    return m_doc->getElementsByTagName(X(elementName));
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns a DOMNodeList of all descendant elements with a given tag name,
-/// in the order in which they would be encountered in a preorder traversal of
-/// the DOMElement or DOMDocument tree.
-/// </summary>
-///
-/// <param name="parentNode">
-/// Parent node containing a list of nodes of descendant elements.
-/// </param>
-/// <param name="elementName">
-/// Name of descendant elements.
-/// </param>
-/// <param name="required">
-/// Flag specifying whether or not the node list is required (or optional).
-/// </param>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-DOMNodeList* MgXmlUtil::GetNodeList(DOMNode* parentNode,
-    const char* elementName) const
-{
-    DOMNodeList* nodeList = NULL;
-
-    MG_XML_TRY()
-
-    if (NULL == parentNode || NULL == elementName || 0 == ::strlen(elementName))
-    {
-        throw new MgNullArgumentException(L"MgXmlUtil.GetNodeList",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    short nodeType = parentNode->getNodeType();
-
-    if (DOMNode::ELEMENT_NODE == nodeType)
-    {
-        nodeList = (reinterpret_cast<DOMElement*>(parentNode))->
-            getElementsByTagName(X(elementName));
-    }
-    else if (DOMNode::DOCUMENT_NODE == nodeType)
-    {
-        nodeList = (reinterpret_cast<DOMDocument*>(parentNode))->
-            getElementsByTagName(X(elementName));
-    }
-    else
-    {
-        STRING buffer;
-        MgUtil::Int32ToString((INT32)nodeType, buffer);
-
-        MgStringCollection arguments;
-        arguments.Add(L"1");
-        arguments.Add(buffer);
-
-        throw new MgInvalidArgumentException(L"MgXmlUtil.GetNodeList",
-            __LINE__, __WFILE__, &arguments, L"MgInvalidNode", NULL);
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetNodeList")
-
-    return nodeList;
-}
-
-void MgXmlUtil::SetAttribute(DOMElement* node, const char* attributeName, const wchar_t* value)
-{
-    CHECKNULL(node,  L"MgXmlUtil.SetAttribute");
-
-    char* mbStr = MgUtil::WideCharToMultiByte(value);
-    CHECKNULL(mbStr,  L"MgXmlUtil.SetAttribute");
-
-    // set attribute
-    node->setAttribute(X(attributeName), X(mbStr));
-
-    delete[] mbStr;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets a node (as a string) of the specified element.
-/// Assuming that the document contains only one unique node of the specified
-/// element.
-/// </summary>
-///
-/// <param name="elementName">
-/// Name of the element whose node is to be retrieved.
-/// </param>
-/// <param name="document">
-/// Document containing the specified element.
-/// </param>
-/// <param name="node">
-/// Node returned as a string.
-/// </param>
-/// <param name="required">
-/// Flag specifying whether or not the element node is required (or optional).
-/// </param>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-void MgXmlUtil::GetElementNode(const char* elementName, const string& document,
-    string& node, bool required)
-{
-    MG_XML_TRY()
-
-    if (NULL == elementName || 0 == ::strlen(elementName))
-    {
-        throw new MgNullArgumentException(L"MgXmlUtil.GetElementNode",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    string beginTag = "<";
-    beginTag += elementName;
-    beginTag += ">";
-
-    string endTag = "</";
-    endTag += elementName;
-    endTag += ">";
-
-    size_t pos1 = document.find(beginTag);
-    size_t pos2 = document.find(endTag);
-
-    if (string::npos != pos1 && string::npos != pos2 && pos2 > pos1)
-    {
-        node = document.substr(pos1, pos2 - pos1 + endTag.length());
-    }
-    else if (required)
-    {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementNode",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-    else
-    {
-        node.clear();
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetElementNode")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets a node of the specified element.
-/// </summary>
-///
-/// <param name="parentNode">
-/// Parent node containing the specified element.
-/// </param>
-/// <param name="elementName">
-/// Name of the element whose node is to be retrieved.
-/// </param>
-/// <param name="required">
-/// Flag specifying whether or not the element node is required (or optional).
-/// </param>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-DOMElement* MgXmlUtil::GetElementNode(DOMNode* parentNode,
-    const char* elementName, bool required)
-{
-    DOMElement* elementNode = NULL;
-
-    MG_XML_TRY()
-
-    DOMNodeList* nodeList = GetNodeList(parentNode, elementName);
-
-    if (NULL != nodeList && nodeList->getLength() > 0)
-    {
-        DOMNode* item = nodeList->item(0);
-        short nodeType = item->getNodeType();
-
-        if (DOMNode::ELEMENT_NODE == nodeType)
-        {
-            elementNode = reinterpret_cast<DOMElement*>(item);
-        }
-    }
-
-    if (NULL == elementNode && required)
-    {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementNode",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetElementNode")
-
-    return elementNode;
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets the value of the specified element.
-/// </summary>
-///
-/// <param name="parentNode">
-/// Parent node containing the specified element.
-/// </param>
-/// <param name="elementName">
-/// Name of the element whose value is to be retrieved.
-/// </param>
-/// <param name="elementValue">
-/// Value (as a string) of the specified element.
-/// </param>
-/// <param name="required">
-/// Flag specifying whether or not the element node is required (or optional).
-/// </param>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-void MgXmlUtil::GetElementValue(DOMNode* parentNode,
-    const char* elementName, wstring& elementValue, bool required)
-{
-    MG_XML_TRY()
-
-    DOMNode* textNode = NULL;
-    DOMElement* elementNode = GetElementNode(parentNode, elementName, required);
-
-    if (NULL != elementNode)
-    {
-        textNode = elementNode->getFirstChild();
-    }
-
-    if (NULL == textNode)
-    {
-        if (required)
-        {
-            throw new MgXmlParserException(L"MgXmlUtil.GetElementValue",
-                __LINE__, __WFILE__, NULL, L"", NULL);
-        }
-
-        elementValue = L"";
-    }
-    else
-    {
-        assert(DOMNode::TEXT_NODE == textNode->getNodeType());
-        elementValue = X2W(textNode->getNodeValue());
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetElementValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Gets the value of the specified element.
-/// </summary>
-///
-/// <param name="parentNode">
-/// Parent node containing the specified element.
-/// </param>
-/// <param name="elementName">
-/// Name of the element whose value is to be retrieved.
-/// </param>
-/// <param name="elementValue">
-/// Value (as a boolean) of the specified element.
-/// </param>
-/// <param name="required">
-/// Flag specifying whether or not the element node is required (or optional).
-/// </param>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-void MgXmlUtil::GetElementValue(DOMNode* parentNode,
-    const char* elementName, bool& elementValue, bool required)
-{
-    MG_XML_TRY()
-
-    wstring strValue;
-
-    GetElementValue(parentNode, elementName, strValue, required);
-
-    if (string::npos != strValue.find(L"true"))
-    {
-        elementValue = true;
-    }
-    else if (string::npos != strValue.find(L"false"))
-    {
-        elementValue = false;
-    }
-    else
-    {
-        throw new MgXmlParserException(L"MgXmlUtil.GetElementValue",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetElementValue")
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Sets the value of the specified element.
-/// </summary>
-///
-/// <param name="parentNode">
-/// Parent node containing the specified element.
-/// </param>
-/// <param name="elementName">
-/// Name of the element whose value is to be updated.
-/// </param>
-/// <param name="elementValue">
-/// Value of the specified element.
-/// </param>
-///
-/// <returns>
-/// true if update is needed because the specified element value is different
-/// from the existing one, and false otherwise.
-/// </returns>
-///
-/// <exceptions>
-/// MgXmlParserException
-/// MgNullArgumentException
-/// MgInvalidArgumentException
-/// </exceptions>
-///----------------------------------------------------------------------------
-
-bool MgXmlUtil::SetElementValue(DOMNode* parentNode,
-    const char* elementName, const wstring& elementValue)
-{
-    bool changed = false;
-
-    MG_XML_TRY()
-
-    DOMNode* textNode = NULL;
-    DOMElement* elementNode = GetElementNode(parentNode, elementName, true);
-
-    if (NULL != elementNode)
-    {
-        textNode = elementNode->getFirstChild();
-    }
-
-    if (NULL == textNode)
-    {
-        throw new MgXmlParserException(L"MgXmlUtil.SetElementValue",
-            __LINE__, __WFILE__, NULL, L"", NULL);
-    }
-    else if (elementValue != X2W(textNode->getNodeValue()))
-    {
-        textNode->setNodeValue(W2X(elementValue.c_str()));
-        changed = true;
-    }
-
-    assert(DOMNode::TEXT_NODE == textNode->getNodeType());
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.SetElementValue")
-
-    return changed;
-}
-
-DOMNode* MgXmlUtil::GetFirstChild(DOMNode* parent)
-{
-    return parent->getFirstChild();
-}
-
-DOMNode* MgXmlUtil::GetNextSibling(DOMNode* sibling)
-{
-    return sibling->getNextSibling();
-}
-
-wstring MgXmlUtil::GetTagName(DOMElement* element)
-{
-    const XMLCh* name = element->getTagName();
-    wstring str;
-    str = X2W(name);
-    return str;
-}
-
-wstring MgXmlUtil::GetNodeValue(DOMNode* node)
-{
-    const XMLCh* name = node->getNodeValue();
-    wstring str;
-    str = X2W(name);
-    return str;
-}
-
-short MgXmlUtil::GetNodeType(DOMNode* node)
-{
-    return node->getNodeType();
-}
-
-wstring MgXmlUtil::GetAttribute(DOMElement* element, const char* name)
-{
-    const XMLCh* strval = element->getAttribute(X(name));
-    if(strval == NULL)
-        return wstring(L"");
-    wstring str;
-    str = X2W(strval);
-    return str;
-}
-
-void MgXmlUtil::GetTextFromElement(DOMElement* element, REFSTRING str)
-{
-    MG_XML_TRY()
-
-    DOMNode* child = MgXmlUtil::GetFirstChild(element);
-    while(0 != child)
-    {
-        if(MgXmlUtil::GetNodeType(child) == DOMNode::TEXT_NODE)
-        {
-            str = MgUtil::Trim(MgXmlUtil::GetNodeValue(child), L" \t\n");
-            return;
-        }
-        child = MgXmlUtil::GetNextSibling(child);
-    }
-
-    MG_XML_CATCH_AND_THROW(L"MgXmlUtil.GetStringFromElement")
-
-    str = L"";
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns the DOM document as bytes.
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgByte* MgXmlUtil::ToBytes()
-{
-    Ptr<MgByte> bytes;
-    DOMLSSerializer* theSerializer = NULL;
-    DOMLSOutput* theOutputDesc = NULL;
-    DOMConfiguration* theDC = NULL;
-    XMLFormatTarget* memTarget = NULL;
-
-    MG_XML_TRY()
-
-    bytes = new MgByte();
-
-    // get a serializer, an instance of DOMWriter
-    XMLCh tempStr[100];
-    XMLString::transcode("LS", tempStr, 99);
-
-    DOMImplementation *impl  = DOMImplementationRegistry::getDOMImplementation(tempStr);
-    CHECKNULL(impl, L"MgXmlUtil.ToBytes");
-
-    theSerializer = ((DOMImplementationLS*)impl)->createLSSerializer();
-    theOutputDesc = ((DOMImplementationLS*)impl)->createLSOutput();
-    CHECKNULL(theSerializer, L"MgXmlUtil.ToBytes");
-    CHECKNULL(theOutputDesc, L"MgXmlUtil.ToBytes");
-    theDC = theSerializer->getDomConfig();
-
-    // set user specified output encoding
-    XMLCh encodeStr[100];
-    XMLString::transcode("UTF-8", encodeStr, 99);
-    theOutputDesc->setEncoding(encodeStr);
-
-    // set feature if the serializer supports the feature/mode
-    if (theDC->canSetParameter(XMLUni::fgDOMWRTSplitCdataSections, gSplitCdataSections))
-        theDC->setParameter(XMLUni::fgDOMWRTSplitCdataSections, gSplitCdataSections);
-
-    if (theDC->canSetParameter(XMLUni::fgDOMWRTDiscardDefaultContent, gDiscardDefaultContent))
-        theDC->setParameter(XMLUni::fgDOMWRTDiscardDefaultContent, gDiscardDefaultContent);
-
-    if (theDC->canSetParameter(XMLUni::fgDOMWRTFormatPrettyPrint, gFormatPrettyPrint))
-        theDC->setParameter(XMLUni::fgDOMWRTFormatPrettyPrint, gFormatPrettyPrint);
-
-    if (theDC->canSetParameter(XMLUni::fgDOMWRTBOM, gWriteBOM))
-        theDC->setParameter(XMLUni::fgDOMWRTBOM, gWriteBOM);
-
-    memTarget = new MemBufFormatTarget();
-    theOutputDesc->setByteStream(memTarget);
-
-    theSerializer->write(m_doc, theOutputDesc);
-
-    INT32 bytesLen = (INT32)((MemBufFormatTarget*)memTarget)->getLen();
-    BYTE_ARRAY_IN rawBytes = (BYTE_ARRAY_IN)((MemBufFormatTarget*)memTarget)->getRawBuffer();
-    bytes->Append(rawBytes, bytesLen);
-
-    MG_XML_CATCH(L"MgXmlUtil.ToBytes")
-
-    delete theSerializer;
-    delete memTarget;
-
-    MG_XML_THROW()
-
-    return bytes.Detach();
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns the DOM document as a byte reader.
-/// </summary>
-///----------------------------------------------------------------------------
-
-MgByteReader* MgXmlUtil::ToReader()
-{
-    Ptr<MgByteReader> byteReader;
-    Ptr<MgByte> bytes = ToBytes();
-    Ptr<MgByteSource> byteSource = new MgByteSource(bytes);
-
-    byteSource->SetMimeType(MgMimeType::Xml);
-    byteReader = byteSource->GetReader();
-
-    return byteReader.Detach();
-}
-
-///----------------------------------------------------------------------------
-/// <summary>
-/// Returns the DOM document as a UTF-8 string.
-/// </summary>
-///----------------------------------------------------------------------------
-
-void MgXmlUtil::ToStringUtf8(string& str)
-{
-    Ptr<MgByteReader> byteReader = ToReader();
-
-    byteReader->ToStringUtf8(str);
-}
-
-#endif //WANT_XERCES
\ No newline at end of file

Deleted: sandbox/adsk/vik/Common/Foundation/System/XmlUtil.h
===================================================================
--- sandbox/adsk/vik/Common/Foundation/System/XmlUtil.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Foundation/System/XmlUtil.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -1,114 +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 MGXML_UTIL_
-#define MGXML_UTIL_
-
-#if WANT_XERCES
-
-/// \cond INTERNAL
-class MG_FOUNDATION_API MgXmlUtil
-{
-    DECLARE_CLASSNAME(MgXmlUtil)
-
-    /// Constructors/Destructor
-
-    public:
-
-        MgXmlUtil();
-        explicit MgXmlUtil(XERCES_CPP_NAMESPACE::DOMDocument* document, bool ownDomDoc);
-        explicit MgXmlUtil(const string& xmlContent);
-        explicit MgXmlUtil(const char* rootElementName);
-        virtual ~MgXmlUtil();
-
-    private:
-
-    /// Unimplemented Methods
-
-        MgXmlUtil(const MgXmlUtil& util);
-        MgXmlUtil& operator=(const MgXmlUtil& util);
-
-/// Methods
-
-    public:
-
-        static void GetElementNode(const char* elementName,
-            const string& document, string& node, bool required = true);
-
-        static XERCES_CPP_NAMESPACE::DOMNode* GetFirstChild(XERCES_CPP_NAMESPACE::DOMNode* parent);
-        static XERCES_CPP_NAMESPACE::DOMNode* GetNextSibling(XERCES_CPP_NAMESPACE::DOMNode* sibling);
-        static wstring GetTagName(XERCES_CPP_NAMESPACE::DOMElement* element);
-        static wstring GetNodeValue(XERCES_CPP_NAMESPACE::DOMNode* node);
-        static short GetNodeType(XERCES_CPP_NAMESPACE::DOMNode* node);
-        static wstring GetAttribute(XERCES_CPP_NAMESPACE::DOMElement* element, const char* name);
-        static void GetTextFromElement(XERCES_CPP_NAMESPACE::DOMElement* element, REFSTRING str);
-
-    public:
-
-        void ParseString(const char* xmlContent);
-
-        XERCES_CPP_NAMESPACE::DOMDocument* GetDocument() const;
-        XERCES_CPP_NAMESPACE::DOMElement* GetRootNode() const;
-
-        XERCES_CPP_NAMESPACE::DOMNodeList* GetNodeList(const char* elementName) const;
-        XERCES_CPP_NAMESPACE::DOMNodeList* GetNodeList(XERCES_CPP_NAMESPACE::DOMNode* parentNode,
-            const char* elementName) const;
-        XERCES_CPP_NAMESPACE::DOMNode* GetNodeWithTextData(XERCES_CPP_NAMESPACE::DOMDocument* doc, const char* elementName,
-            const wchar_t* elementText);
-
-        XERCES_CPP_NAMESPACE::DOMElement* AddChildNode(XERCES_CPP_NAMESPACE::DOMElement* parentNode, const char* elementName);
-
-        void AddTextNode(XERCES_CPP_NAMESPACE::DOMElement* parentNode, const char* elementName, const char* elementText);
-        void AddTextNode(XERCES_CPP_NAMESPACE::DOMElement* parentNode, const char* elementName, bool value);
-        void AddTextNode(XERCES_CPP_NAMESPACE::DOMElement* parentNode, const char* elementName, const wchar_t* elementText);
-
-        void UpdateTextNode(XERCES_CPP_NAMESPACE::DOMNode* parentNode, const char* elementText);
-        void UpdateTextNode(XERCES_CPP_NAMESPACE::DOMNode* parentNode, const wchar_t* elementText);
-
-        void SetAttribute(XERCES_CPP_NAMESPACE::DOMElement* node, const char* attributeName, const wchar_t* value);
-
-        XERCES_CPP_NAMESPACE::DOMElement* GetElementNode(XERCES_CPP_NAMESPACE::DOMNode* parentNode,
-            const char* elementName, bool required = true);
-
-        void GetElementValue(XERCES_CPP_NAMESPACE::DOMNode* parentNode, const char* elementName,
-            bool& elementValue, bool required = true);
-        void GetElementValue(XERCES_CPP_NAMESPACE::DOMNode* parentNode, const char* elementName,
-            wstring& elementValue, bool required = true);
-        bool SetElementValue(XERCES_CPP_NAMESPACE::DOMNode* parentNode, const char* elementName,
-            const wstring& elementValue);
-
-        void ToStringUtf8(string& str);
-        MgByteReader* ToReader();
-
-    protected:
-
-        MgByte* ToBytes();
-
-/// Data Members
-
-    private:
-
-        XercesDOMParser* m_parser;
-        MemBufInputSource* m_bis;
-        XERCES_CPP_NAMESPACE::DOMDocument* m_doc;
-        bool m_ownDomDoc;
-};
-/// \endcond
-
-#endif //WANT_XERCES
-
-#endif // MG_XML_UTIL

Modified: sandbox/adsk/vik/Common/Geometry/ArcSegment.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/ArcSegment.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/ArcSegment.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -43,7 +43,6 @@
 ///
 class MG_GEOMETRY_API MgArcSegment : public MgCurveSegment
 {
-    DECLARE_CLASSNAME(MgArcSegment)
 
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/CloseInstruction.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CloseInstruction.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CloseInstruction.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -28,7 +28,6 @@
 /// last segment in the path.
 class MgCloseInstruction : public MgGeometricPathInstruction
 {
-    DECLARE_CLASSNAME(MgCloseInstruction)
 
 EXTERNAL_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/Coordinate.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Coordinate.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Coordinate.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -45,7 +45,7 @@
 /// This is a base class, not designed to be used directly. Use
 /// the derived classes.
 ///
-class MG_GEOMETRY_API MgCoordinate : public MgSerializable
+class MG_GEOMETRY_API MgCoordinate : public MgDisposable
 {
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -33,7 +33,6 @@
 /// coordinates.
 class MG_GEOMETRY_API MgCoordinateCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateIterator.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateIterator.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateIterator.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -40,7 +40,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateIterator : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateIterator)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystem.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystem.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystem.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 /// \{
 class MgCoordinateSystem : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystem)
 
 PUBLISHED_API:
     virtual INT32 GetType()=0;  /// __get
@@ -37,13 +36,9 @@
     virtual MgCoordinate* ConvertToLonLat(MgCoordinate* coordinate)=0;
     virtual double ConvertCoordinateSystemUnitsToMeters(double units)=0;
     virtual double ConvertMetersToCoordinateSystemUnits(double meters)=0;
-    virtual double MeasureEuclideanDistance(MgCoordinate* coord1, MgCoordinate* coord2)=0;
     virtual double MeasureEuclideanDistance(double x1, double y1, double x2, double y2)=0;
-    virtual double MeasureGreatCircleDistance(MgCoordinate* coord1, MgCoordinate* coord2)=0;
     virtual double MeasureGreatCircleDistance(double x1, double y1, double x2, double y2)=0;
-    virtual double GetAzimuth(MgCoordinate* coord1, MgCoordinate* coord2)=0;
     virtual double GetAzimuth(double x1, double y1, double x2, double y2)=0;
-    virtual MgCoordinate* GetCoordinate(MgCoordinate* coord, double azimuth, double distance)=0;
     virtual MgCoordinate* GetCoordinate(double xStart, double yStart, double azimuth, double distance)=0;
     virtual STRING ToString()=0;
     virtual STRING GetUnits()=0;  /// __get

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCatalog.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCatalog.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCatalog.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -40,7 +40,6 @@
 
 class MgCoordinateSystemCatalog : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemCatalog)
 
 PUBLISHED_API:
     virtual void SetDefaultDictionaryDirAndFileNames()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategory.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategory.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategory.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -23,7 +23,6 @@
 
 class MgCoordinateSystemCategory : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemCategory)
 
 PUBLISHED_API:
     virtual STRING GetName()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategoryDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategoryDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemCategoryDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MgCoordinateSystemCategoryDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemCategoryDictionary)
 
 PUBLISHED_API:
         virtual MgCoordinateSystemCategory* NewCategory()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -23,7 +23,6 @@
 
 class MgCoordinateSystemDatum : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemDatum)
 
 PUBLISHED_API:
     virtual STRING GetDtCode()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatumDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatumDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDatumDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MgCoordinateSystemDatumDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemDatumDictionary)
 
 PUBLISHED_API:
         virtual MgCoordinateSystemDatum* NewDatum()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MgCoordinateSystemDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemDictionary)
 
 PUBLISHED_API:
         virtual MgCoordinateSystem* NewCoordinateSystem()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryBase.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryBase.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryBase.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MG_GEOMETRY_API MgCoordinateSystemDictionaryBase : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemDictionaryBase)
 
 PUBLISHED_API:
     virtual MgCoordinateSystemCatalog* GetCatalog()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemDictionaryUtility.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MgCoordinateSystemDictionaryUtility : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemDictionaryUtility)
 
 PUBLISHED_API:
     virtual MgCoordinateSystemCatalog* GetCatalog()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoid.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoid.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoid.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemEllipsoid : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemEllipsoid)
 
 PUBLISHED_API:
     virtual STRING GetElCode()=0;  /// __get

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoidDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoidDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEllipsoidDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 
 class MgCoordinateSystemEllipsoidDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemEllipsoidDictionary)
 
 PUBLISHED_API:
         virtual MgCoordinateSystemEllipsoid* NewEllipsoid()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemEnum : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemEnum)
 
 PUBLISHED_API:
     virtual MgDisposableCollection* Next(UINT32 ulCount)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -21,7 +21,6 @@
 class MgIntCollection;
 class MgCoordinateSystemEnumInteger32 : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemEnumInteger32)
 
 PUBLISHED_API:
 //    virtual MgIntCollection* Next(UINT32 ulCount)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFactory.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFactory.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFactory.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,7 +30,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemFactory : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemFactory)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemFilter : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemFilter)
 
 PUBLISHED_API:
     virtual bool IsFilteredOut(MgGuardDisposable *pDef)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemFilterInteger32 : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemFilterInteger32)
 
 PUBLISHED_API:
     virtual bool IsFilteredOut(INT32 nValue)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemFormatConverter : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemFormatConverter)
 
 PUBLISHED_API:
     //WKT methods

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticAnalyticalTransformDefParams.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -28,7 +28,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticAnalyticalTransformDefParams : public MgCoordinateSystemGeodeticTransformDefParams
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticAnalyticalTransformDefParams)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticInterpolationTransformDefParams.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticInterpolationTransformDefParams : public MgCoordinateSystemGeodeticTransformDefParams
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticInterpolationTransformDefParams)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticMultipleRegressionTransformDefParams.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -27,7 +27,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams : public MgCoordinateSystemGeodeticTransformDefParams
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticMultipleRegressionTransformDefParams)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPath.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticPath : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticPath)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticPathDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticPathDictionary)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathElement.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathElement.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticPathElement.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -23,7 +23,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticPathElement : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticPathElement)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticStandaloneTransformDefParams.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticStandaloneTransformDefParams : public MgCoordinateSystemGeodeticTransformDefParams
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticStandaloneTransformDefParams)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDef.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,7 +30,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticTransformDef : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticTransformDef)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefDictionary.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -29,7 +29,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticTransformDefDictionary : public MgCoordinateSystemDictionaryBase
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticTransformDefDictionary)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefParams.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefParams.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformDefParams.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -27,7 +27,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticTransformDefParams : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticTransformDefParams)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFile.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFile.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformGridFile.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,7 +30,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemGeodeticTransformGridFile : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticTransformGridFile)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformation.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformation.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemGeodeticTransformation.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,7 +30,6 @@
 ///
 class MgCoordinateSystemGeodeticTransformation : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemGeodeticTransformation)
 
 PUBLISHED_API:
     virtual void SetSourceAndTarget(MgCoordinateSystemDatum *pSource, MgCoordinateSystemDatum *pTarget)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMathComparator.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -24,7 +24,6 @@
 
 class MgCoordinateSystemMathComparator : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemMathComparator)
 
 PUBLISHED_API:
     virtual bool Same(MgGuardDisposable *pDefinition1, MgGuardDisposable *pDefinition2)=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMeasure.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMeasure.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemMeasure.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -49,7 +49,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateSystemMeasure : public MgMeasure
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemMeasure)
 
 PUBLISHED_API:
     ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemProjectionInformation : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemProjectionInformation)
 
 PUBLISHED_API:
     virtual MgCoordinateSystemEnumInteger32* GetEnumProjections()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,7 +30,6 @@
 ///
 class MgCoordinateSystemTransform : public MgTransform
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemTransform)
 
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -20,7 +20,6 @@
 
 class MgCoordinateSystemUnitInformation : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCoordinateSystemUnitInformation)
 
 PUBLISHED_API:
     virtual MgCoordinateSystemEnumInteger32* GetEnumLinearUnits()=0;

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXY.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXY.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXY.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCoordinateXY)
-
 ///////////////////////////////////////////////////////////////////////////
 // Construct a MgCoordinateXY object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXY.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXY.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXY.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -37,9 +37,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateXY : public MgCoordinate
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCoordinateXY)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYM.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYM.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYM.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCoordinateXYM)
-
 ///////////////////////////////////////////////////////////////////////////
 // Construct a MgCoordinateXYM object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYM.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYM.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYM.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -40,9 +40,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateXYM : public MgCoordinate
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCoordinateXYM)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCoordinateXYZ)
-
 ///////////////////////////////////////////////////////////////////////////
 // Construct a MgCoordinateXYZ object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYZ.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -37,9 +37,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateXYZ : public MgCoordinate
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCoordinateXYZ)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCoordinateXYZM)
-
 ///////////////////////////////////////////////////////////////////////////
 // Construct a MgCoordinateXYZM object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CoordinateXYZM.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -40,9 +40,6 @@
 ///
 class MG_GEOMETRY_API MgCoordinateXYZM : public MgCoordinate
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCoordinateXYZM)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/CurvePolygon.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurvePolygon.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurvePolygon.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCurvePolygon)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgCurvePolygon object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CurvePolygon.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurvePolygon.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurvePolygon.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -162,9 +162,6 @@
 ///
 class MG_GEOMETRY_API MgCurvePolygon : public MgRegion
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCurvePolygon)
-
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Geometry/CurvePolygonCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurvePolygonCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurvePolygonCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// curve polygons.
 class MG_GEOMETRY_API MgCurvePolygonCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCurvePolygonCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CurveRing.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveRing.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveRing.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -38,7 +38,6 @@
 ///
 class MG_GEOMETRY_API MgCurveRing : public MgRing
 {
-    DECLARE_CLASSNAME(MgCurveRing)
 
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/CurveRingCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveRingCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveRingCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// curve rings.
 class MG_GEOMETRY_API MgCurveRingCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCurveRingCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CurveSegmentCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveSegmentCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveSegmentCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// curve segments.
 class MG_GEOMETRY_API MgCurveSegmentCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCurveSegmentCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/CurveString.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveString.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveString.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgCurveString)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgCurveString object
 //

Modified: sandbox/adsk/vik/Common/Geometry/CurveString.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveString.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveString.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -181,9 +181,6 @@
 ///
 class MG_GEOMETRY_API MgCurveString : public MgCurve
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgCurveString)
-
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Geometry/CurveStringCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/CurveStringCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/CurveStringCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// curve strings.
 class MG_GEOMETRY_API MgCurveStringCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgCurveStringCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/Envelope.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Envelope.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Envelope.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgEnvelope)
-
 ///////////////////////////////////////////////////////////////////////////
 // Constructs and intializes an "null" envelope.
 //

Modified: sandbox/adsk/vik/Common/Geometry/Envelope.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Envelope.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Envelope.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -30,11 +30,8 @@
 /// MgEnvelope represents a bounding box defined in terms of a
 /// lower left coordinate and an upper right coordinate.
 ///
-class MG_GEOMETRY_API MgEnvelope : public MgSerializable
+class MG_GEOMETRY_API MgEnvelope : public MgDisposable
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgEnvelope)
-
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Geometry/GeometricEntity.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/GeometricEntity.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/GeometricEntity.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -35,7 +35,7 @@
 /// \remarks
 /// Geometric entities are immutable once constructed.
 ///
-class MG_GEOMETRY_API MgGeometricEntity : public MgSerializable
+class MG_GEOMETRY_API MgGeometricEntity : public MgDisposable
 {
 PUBLISHED_API:
     ////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/GeometryCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/GeometryCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/GeometryCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -35,7 +35,6 @@
 /// considered a Geometry and hence does not derive from MgGeometry.
 class MG_GEOMETRY_API MgGeometryCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgGeometryCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/GeometryFactory.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/GeometryFactory.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/GeometryFactory.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -120,7 +120,6 @@
 ///
 class MG_GEOMETRY_API MgGeometryFactory : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgGeometryFactory)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/LineString.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LineString.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LineString.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgLineString)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgLineString object
 //

Modified: sandbox/adsk/vik/Common/Geometry/LineString.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LineString.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LineString.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -101,9 +101,6 @@
 ///
 class MG_GEOMETRY_API MgLineString : public MgCurve
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgLineString)
-
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Geometry/LineStringCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LineStringCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LineStringCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// line strings.
 class MG_GEOMETRY_API MgLineStringCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgLineStringCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/LineToInstruction.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LineToInstruction.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LineToInstruction.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -25,7 +25,6 @@
 /// path to the coordinate included with this instruction.
 class MgLineToInstruction : public MgGeometricPathInstruction
 {
-    DECLARE_CLASSNAME(MgLineToInstruction)
 
 EXTERNAL_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/LinearRing.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LinearRing.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LinearRing.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -41,7 +41,6 @@
 ///
 class MG_GEOMETRY_API MgLinearRing : public MgRing
 {
-    DECLARE_CLASSNAME(MgLinearRing)
 
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/LinearRingCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LinearRingCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LinearRingCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// linear rings.
 class MG_GEOMETRY_API MgLinearRingCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgLinearRingCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/LinearSegment.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/LinearSegment.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/LinearSegment.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -42,7 +42,6 @@
 ///
 class MG_GEOMETRY_API MgLinearSegment : public MgCurveSegment
 {
-    DECLARE_CLASSNAME(MgLinearSegment)
 
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/MoveToInstruction.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MoveToInstruction.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MoveToInstruction.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -25,7 +25,6 @@
 /// path.
 class MgMoveToInstruction : public MgGeometricPathInstruction
 {
-    DECLARE_CLASSNAME(MgMoveToInstruction)
 
 EXTERNAL_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgMultiCurvePolygon)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiCurvePolygon object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiCurvePolygon.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -105,9 +105,6 @@
 ///
 class MG_GEOMETRY_API MgMultiCurvePolygon : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiCurvePolygon)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/MultiCurveString.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiCurveString.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiCurveString.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgMultiCurveString)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiCurveString object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiCurveString.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiCurveString.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiCurveString.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -109,9 +109,6 @@
 ///
 class MG_GEOMETRY_API MgMultiCurveString : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiCurveString)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/MultiGeometry.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiGeometry.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiGeometry.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,8 +18,6 @@
 #include "stdafx.h"
 #include <typeinfo>
 
-MG_IMPL_DYNCREATE(MgMultiGeometry)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiGeometry object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiGeometry.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiGeometry.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiGeometry.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -108,9 +108,6 @@
 ///
 class MG_GEOMETRY_API MgMultiGeometry : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiGeometry)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/MultiLineString.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiLineString.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiLineString.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgMultiLineString)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiLineString object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiLineString.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiLineString.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiLineString.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -106,9 +106,6 @@
 ///
 class MG_GEOMETRY_API MgMultiLineString : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiLineString)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/MultiPoint.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiPoint.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiPoint.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgMultiPoint)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiPoint object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiPoint.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiPoint.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiPoint.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -97,9 +97,6 @@
 ///
 class MG_GEOMETRY_API MgMultiPoint : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiPoint)
-
 PUBLISHED_API:
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html

Modified: sandbox/adsk/vik/Common/Geometry/MultiPolygon.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiPolygon.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiPolygon.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgMultiPolygon)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgMultiPolygon object
 //

Modified: sandbox/adsk/vik/Common/Geometry/MultiPolygon.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/MultiPolygon.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/MultiPolygon.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -108,9 +108,6 @@
 ///
 class MG_GEOMETRY_API MgMultiPolygon : public MgAggregateGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgMultiPolygon)
-
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/Point.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Point.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Point.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgPoint)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgPoint object
 //

Modified: sandbox/adsk/vik/Common/Geometry/Point.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Point.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Point.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -88,9 +88,6 @@
 ///
 class MG_GEOMETRY_API MgPoint : public MgGeometry
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgPoint)
-
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: sandbox/adsk/vik/Common/Geometry/PointCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/PointCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/PointCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -31,7 +31,6 @@
 /// points.
 class MG_GEOMETRY_API MgPointCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgPointCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/Polygon.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Polygon.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Polygon.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -17,8 +17,6 @@
 
 #include "stdafx.h"
 
-MG_IMPL_DYNCREATE(MgPolygon)
-
 //////////////////////////////////////////////////////////////////
 // Construct a MgPolygon object
 //

Modified: sandbox/adsk/vik/Common/Geometry/Polygon.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Polygon.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Polygon.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -193,9 +193,6 @@
 ///
 class MG_GEOMETRY_API MgPolygon : public MgRegion
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgPolygon)
-
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////
     /// \brief

Modified: sandbox/adsk/vik/Common/Geometry/PolygonCollection.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/PolygonCollection.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/PolygonCollection.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -32,7 +32,6 @@
 ///
 class MG_GEOMETRY_API MgPolygonCollection : public MgGuardDisposable
 {
-    DECLARE_CLASSNAME(MgPolygonCollection)
 
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////

Modified: sandbox/adsk/vik/Common/Geometry/QuadToInstruction.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/QuadToInstruction.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/QuadToInstruction.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -26,7 +26,6 @@
 /// instruction.
 class MgQuadToInstruction : public MgGeometricPathInstruction
 {
-    DECLARE_CLASSNAME(MgQuadToInstruction)
 
 EXTERNAL_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/Region.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/Region.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/Region.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -35,7 +35,6 @@
 ///
 class MG_GEOMETRY_API MgRegion : public MgGeometry
 {
-    DECLARE_CLASSNAME(MgRegion)
 
 PUBLISHED_API:
 

Modified: sandbox/adsk/vik/Common/Geometry/WktReaderWriter.cpp
===================================================================
--- sandbox/adsk/vik/Common/Geometry/WktReaderWriter.cpp	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/WktReaderWriter.cpp	2012-03-31 19:37:59 UTC (rev 6565)
@@ -18,8 +18,6 @@
 #include "stdafx.h"
 #include "Parse/ParseAwkt.h"
 
-MG_IMPL_DYNCREATE(MgWktReaderWriter)
-
 ///////////////////////////////////////////////////////////////////////////////
 ///<summary>
 /// The MgWktReaderWriter class supports reading geometry objects from a

Modified: sandbox/adsk/vik/Common/Geometry/WktReaderWriter.h
===================================================================
--- sandbox/adsk/vik/Common/Geometry/WktReaderWriter.h	2012-03-31 18:20:08 UTC (rev 6564)
+++ sandbox/adsk/vik/Common/Geometry/WktReaderWriter.h	2012-03-31 19:37:59 UTC (rev 6565)
@@ -72,9 +72,6 @@
 ///
 class MG_GEOMETRY_API MgWktReaderWriter : public MgGuardDisposable
 {
-    MG_DECL_DYNCREATE()
-    DECLARE_CLASSNAME(MgWktReaderWriter)
-
 PUBLISHED_API:
     ///////////////////////////////////////////////////////////////////////////
     /// \brief



More information about the mapguide-commits mailing list