[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