<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.6618.4">
<TITLE>svn commit: r1040 - RFC3 Session Affinity</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Revision: 1040</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Author: chrisclaydon</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Date: 8:55:32 AM, January 11, 2007</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Message:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">RFC3 - Session Affinity</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">----</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Controller/DwfController.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Makefile.am</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/MapGuideCommon.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/MapGuideCommon.vcproj</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/MapGuideCommonBuild.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/ServerAdmin.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/ServerAdmin.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/ServerConnection.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/Site.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/Site.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/Services/SiteConnection.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Common/MapGuideCommon/Services/SiteInfo.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Common/MapGuideCommon/Services/SiteInfo.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Common/MapGuideCommon/Services/SiteManager.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/System/MapGuideCommonClassId.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/System/MapGuideCommonFactory.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/System/UserInformation.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Common/MapGuideCommon/System/UserInformation.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Server/src/Common/Manager/SessionCache.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Server/src/Services/Site/ServerSiteService.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Server/src/UnitTesting/Makefile.am</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Server/src/UnitTesting/TestSiteManager.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Added : /trunk/MgDev/Server/src/UnitTesting/TestSiteManager.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Server/src/UnitTesting/UnitTesting.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Server/src/UnitTesting/UnitTesting.vcproj</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/HttpHandler/HttpGetSiteInfo.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/HttpHandler/HttpGetSiteVersion.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/HttpHandler/HttpWmsGetCapabilities.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/HttpHandler/WmsMapUtil.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/MapGuideApi/MapGuideApiGen.xml</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/about.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/displaypackagelog.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/loadpackage.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/login.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/makepackage.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/packagemanagement.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/resizablepagecomponents.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/serverdatafunctions.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/servermanagement.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/serverproperties.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Modified : /trunk/MgDev/Web/src/mapadmin/servicesproperties.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/SiteManager.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/SiteManager.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/SiteManager.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,78 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;MapGuideCommon.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#ifndef MG_SITEMANAGER_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#define MG_SITEMANAGER_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;class MgSiteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;typedef std::vector&lt;MgSiteInfo*&gt; MgSiteVector;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;class MG_MAPGUIDE_API MgSiteManager : public MgGuardDisposable</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;DECLARE_CLASSNAME(MgSiteManager)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;public:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructors/Destructor</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual ~MgSiteManager();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;private:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Methods</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;public:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual void Dispose();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static MgSiteManager* GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* GetConnectionProperties(MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* GetConnectionProperties(MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool useSessionIP);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* GetSupportServerConnectionProperties(CREFSTRING supportServer,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* GetSiteInfo(INT32 index);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* GetSiteInfo(STRING target, INT32 port);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* GetNextSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 GetSiteCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;private:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void Initialize();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void ClearSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Data Members</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;private:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConfiguration* m_configuration;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static Ptr&lt;MgSiteManager&gt; sm_siteManager;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static ACE_Recursive_Thread_Mutex sm_siteManagerMutex;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; UINT16 m_index;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteVector m_sites;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;};</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#endif // MG_SITEMANAGER_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/Site.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/Site.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/Site.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -338,7 &#43;338,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \exception MgConnectionFailedException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; void Open(MgUserInformation* userInformation);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void Open(MgUserInformation* userInformation, MgSiteInfo* siteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// Closes the current Site Server connection.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -350,17 &#43;350,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; void Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; ///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; /// Gets the address of the Site Server.&nbsp; This value may be used in ServerAdmin to open a connection to the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; /// Site Server for administration purposes.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; /// \return</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; /// Returns the site server address.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// HasWarning() method reports if there is a current warning.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \return</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -772,6 &#43;762,10 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; void RemoveServer(CREFSTRING name);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* GetSiteServerInfo(INT32 index);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 GetSiteServerCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;INTERNAL_API:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -796,6 &#43;790,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \param userInformation</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// User information to authenticate against.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \param siteInfo</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Used to specify which site server to connect to. If NULL, the next </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// available site server is used.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \param requiredRoles</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// Required roles to validate against.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \param returnAssignedRoles</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -810,6 &#43;807,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \exception MgUnauthorizedAccessException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgStringCollection* Authenticate(MgUserInformation* userInformation,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgStringCollection* requiredRoles, bool returnAssignedRoles);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp; protected:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/SiteInfo.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/SiteInfo.cpp (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/SiteInfo.cpp (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,210 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;MapGuideCommon.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;IMPLEMENT_DYNCREATE(MgSiteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo::MgSiteInfo(CREFSTRING target, INT32 sitePort, INT32 clientPort, INT32 adminPort) :</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_clientPort(clientPort),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_sitePort(sitePort),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_adminPort(adminPort),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_target(target),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_status(Ok)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo::MgSiteInfo() :</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_clientPort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_sitePort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_adminPort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_target(L&quot;&quot;),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_status(Uninitialized)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo::MgSiteInfo(CREFSTRING hexString) :</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_clientPort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_sitePort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_adminPort(0),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_target(L&quot;&quot;),</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_status(Uninitialized)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(hexString.length() &gt;= HexStringLength)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UINT32 n1, n2, n3, n4;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Read the IP parts into their variables</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(::swscanf(hexString.c_str(), L&quot;%2X%2X%2X%2X%4X%4X%4X&quot;, &amp;n1, &amp;n2, &amp;n3, &amp;n4, &amp;m_sitePort, &amp;m_clientPort, &amp;m_adminPort) == 7)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Write the 4 'n' values into an IP string</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; wchar_t buffer[20];</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; swprintf(buffer, 20, L&quot;%u.%u.%u.%u&quot;, n1, n2, n3, n4);&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_target = buffer;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_status = Ok;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Destructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo::~MgSiteInfo()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Disposes the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteInfo::Dispose()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; delete this;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the classId.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;INT32 MgSiteInfo::GetClassId() </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{ </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return m_cls_id; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Serialize data to TCP/IP stream.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteInfo::Serialize(MgStream* stream)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;WriteString(m_target);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;WriteInt32(m_sitePort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;WriteInt32(m_clientPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;WriteInt32(m_adminPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;WriteInt32((INT32)m_status);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Deserialize data from TCP/IP stream.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteInfo::Deserialize(MgStream* stream)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;GetString(m_target);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;GetInt32(m_sitePort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;GetInt32(m_clientPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;GetInt32(m_adminPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 statusVal;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; stream-&gt;GetInt32(statusVal);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_status = (MgSiteStatus)statusVal;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the hex string representation of the target and ports</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;STRING MgSiteInfo::ToHexString()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING hexString;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; UINT32 n1, n2, n3, n4;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; wchar_t buffer[30];</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if (4 == ::swscanf(m_target.c_str(), L&quot;%u.%u.%u.%u&quot;, &amp;n1, &amp;n2, &amp;n3, &amp;n4))</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; swprintf(buffer, 30, L&quot;%.2X%.2X%.2X%.2X%.4X%.4X%.4X&quot;, n1, n2, n3, n4, m_sitePort, m_clientPort, m_adminPort);&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hexString = buffer;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return hexString;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the IP target</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;STRING MgSiteInfo::GetTarget()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return m_target;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the port for the specified connection type</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;INT32 MgSiteInfo::GetPort(MgPortType type)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 port = 0;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; switch(type)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case Client:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port = m_clientPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case Site:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port = m_sitePort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case Admin:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port = m_adminPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; };</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return port;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the status of this site server connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo::MgSiteStatus MgSiteInfo::GetStatus()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return m_status;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Sets the status of this site server connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteInfo::SetStatus(MgSiteStatus status)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_status = status;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/SiteConnection.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/SiteConnection.cpp&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/SiteConnection.cpp&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -118,10 &#43;118,16 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = new MgConnectionProperties(userInformation, L&quot;&quot;, 0);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Site connection properties for web-tier or server-2-server interaction</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; else if (m_isWebTier || m_isServer)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; else if (m_isWebTier)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = GetSiteConnectionProperties(userInformation);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetConnectionProperties(userInformation, MgSiteInfo::Client, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; else if(m_isServer)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetConnectionProperties(userInformation, MgSiteInfo::Client, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if (m_connProp == NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -303,7 &#43;309,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::MappingService)&nbsp;&nbsp; ||</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::RenderingService) ||</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::ResourceService)&nbsp; ||</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::TileService) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::TileService)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ||</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IsServiceLocal(MgServiceType::KmlService) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; isServer = true;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -502,51 &#43;509,6 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; return connProp.Detach();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Gets the site ipaddress and port# for connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-MgConnectionProperties* MgSiteConnection::GetSiteConnectionProperties(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MgUserInformation* userInformation)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connProp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING target = L&quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; INT32 port = 0;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get ip address for site server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_config-&gt;GetStringValue(&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyIpAddress,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultSiteConnectionPropertyIpAddress);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the client port</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_config-&gt;GetIntValue(&nbsp; MgConfigProperties::ClientConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::ClientConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultClientConnectionPropertyPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Use the client port for Server/Web Tier communications.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connProp = new MgConnectionProperties(userInformation, target, port);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; catch (MgException* me)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Site property address/client port not found, invalid config.ini</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(me);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgStringCollection arguments;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; arguments.Add(m_config-&gt;GetFileName());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new MgConfigurationException(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&quot;MgSiteConnection.GetSiteConnectionProperties&quot;, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __LINE__, __WFILE__, &amp;arguments, L&quot;&quot;, NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; return connProp.Detach();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Authenticates a user.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/SiteManager.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/SiteManager.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/SiteManager.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,346 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;MapGuideCommon.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;// Process-wide MgSiteManager</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;Ptr&lt;MgSiteManager&gt; MgSiteManager::sm_siteManager = (MgSiteManager*)NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;ACE_Recursive_Thread_Mutex MgSiteManager::sm_siteManagerMutex;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#define MIN(x,y) ((x) &lt; (y) ?</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"> <FONT COLOR="#000080" SIZE=2 FACE="Arial">(x) : (y))</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteManager::MgSiteManager()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_configuration = MgConfiguration::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; assert(NULL != m_configuration);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Initialize();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Destructs the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteManager::~MgSiteManager()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_TRY()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_DEBUG, ACE_TEXT(&quot;(%P|%t) MgSiteManager::~MgSiteManager()\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ClearSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_CATCH(L&quot;MgSiteManager.~MgSiteManager&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Disposes the object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteManager::Dispose()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; delete this;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Releases the stored site information</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteManager::ClearSiteInfo()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; for(MgSiteVector::iterator iter = m_sites.begin(); iter != m_sites.end(); iter&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(*iter);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_sites.clear();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the pointer to a process-wide MgSiteManager.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteManager* MgSiteManager::GetInstance()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_TRY()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_TRACE(&quot;MgSiteManager::GetInstance&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if (MgSiteManager::sm_siteManager == NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Perform Double-Checked Locking Optimization.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_MT(ACE_GUARD_RETURN(ACE_Recursive_Thread_Mutex, ace_mon, *ACE_Static_Object_Lock::instance(), NULL));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (MgSiteManager::sm_siteManager == NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager::sm_siteManager = new MgSiteManager();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_CATCH_AND_THROW(L&quot;MgSiteManager.GetInstance&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // To avoid overheads and maintain thread safety,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // do not assign this returned static singleton to a Ptr object.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return MgSiteManager::sm_siteManager;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Intializes the site manager.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSiteManager::Initialize()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_MT(ACE_GUARD(ACE_Recursive_Thread_Mutex, ace_mon, sm_siteManagerMutex));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_TRY()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_DEBUG, ACE_TEXT( &quot;(%P|%t) MgSiteManager::Initialize()\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ClearSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConfiguration* configuration = MgConfiguration::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; assert(NULL != configuration);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Get the IP address and port for the site server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING targets;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING sitePorts;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING clientPorts;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING adminPorts;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; configuration-&gt;GetStringValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyIpAddress,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targets,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultSiteConnectionPropertyIpAddress);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; configuration-&gt;GetStringValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sitePorts,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&quot;&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; configuration-&gt;GetStringValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::ClientConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::ClientConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clientPorts,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&quot;&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; configuration-&gt;GetStringValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::AdministrativeConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::AdministrativeConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adminPorts,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; L&quot;&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgStringCollection&gt; targetValues = MgStringCollection::ParseCollection(targets, L&quot;,&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgStringCollection&gt; sitePortValues = MgStringCollection::ParseCollection(sitePorts, L&quot;,&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgStringCollection&gt; clientPortValues = MgStringCollection::ParseCollection(clientPorts, L&quot;,&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgStringCollection&gt; adminPortValues = MgStringCollection::ParseCollection(adminPorts, L&quot;,&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 defaultSitePort = sitePortValues-&gt;GetCount() &gt; 0 ? MgUtil::StringToInt32(sitePortValues-&gt;GetItem(0)) : MgConfigProperties::DefaultSiteConnectionPropertyPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 defaultClientPort = clientPortValues-&gt;GetCount() &gt; 0 ? MgUtil::StringToInt32(clientPortValues-&gt;GetItem(0)) : MgConfigProperties::DefaultClientConnectionPropertyPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 defaultAdminPort = adminPortValues-&gt;GetCount() &gt; 0 ? MgUtil::StringToInt32(adminPortValues-&gt;GetItem(0)) : MgConfigProperties::DefaultAdministrativeConnectionPropertyPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; int numTargets = targetValues-&gt;GetCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; numTargets; i&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 sitePort = sitePortValues-&gt;GetCount() &gt; i ? MgUtil::StringToInt32(sitePortValues-&gt;GetItem(i)) : defaultSitePort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 clientPort = clientPortValues-&gt;GetCount() &gt; i ? MgUtil::StringToInt32(clientPortValues-&gt;GetItem(i)) : defaultClientPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 adminPort = adminPortValues-&gt;GetCount() &gt; i ? MgUtil::StringToInt32(adminPortValues-&gt;GetItem(i)) : defaultAdminPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING targetIP;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgIpUtil::HostNameToAddress(targetValues-&gt;GetItem(i), targetIP);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = new MgSiteInfo(targetIP,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sitePort, clientPort, adminPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_sites.push_back(SAFE_ADDREF((MgSiteInfo*)siteInfo));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_CATCH_AND_THROW(L&quot;MgSiteManager.Initialize&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves connection properties for a site server. If useSessionIP is true</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// and the userInfo contains a session ID, the connection properties will be</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// generated for the site that contains that session.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgConnectionProperties* MgSiteManager::GetConnectionProperties(MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bool useSessionIP)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* connProps = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Determine if the user info contains a session ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING sessionId = userInfo-&gt;GetMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(useSessionIP &amp;&amp; !sessionId.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size_t length = sessionId.length();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(length &gt; MgSiteInfo::HexStringLength)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING siteHexString = sessionId.substr(length - MgSiteInfo::HexStringLength, MgSiteInfo::HexStringLength);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = new MgSiteInfo(siteHexString);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(siteInfo-&gt;GetStatus() == MgSiteInfo::Ok)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connProps = GetConnectionProperties(userInfo, siteInfo, type);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; nextSite = GetNextSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(nextSite != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connProps = GetConnectionProperties(userInfo, nextSite, type);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return connProps;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves connection properties for the site specified in the siteInfo object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgConnectionProperties* MgSiteManager::GetConnectionProperties(MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* connProps = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connProps = new MgConnectionProperties(userInfo, siteInfo-&gt;GetTarget(), siteInfo-&gt;GetPort(type));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return connProps;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves connection properties for a support server. If useSessionIP is true</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// and the userInfo contains a session ID, the connection properties will be</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// generated for the site that contains that session.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgConnectionProperties* MgSiteManager::GetSupportServerConnectionProperties(CREFSTRING supportServer,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgUserInformation* userInfo, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::MgPortType type)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* supportConnProps = NULL; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Session Affinity: Retrieve the site server corresponding to this user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgConnectionProperties* siteConnProps = GetConnectionProperties(userInfo, type, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(siteConnProps != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create support server connection props using the specified IP target and the same admin port</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // used by the site server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; supportConnProps = new MgConnectionProperties(userInfo, supportServer, siteConnProps-&gt;GetPort());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return supportConnProps;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves site info for the next site server that has an Ok status.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo* MgSiteManager::GetNextSite()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* nextSite = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; int numSites = (int)m_sites.size();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; for(int siteIndex = 0; siteIndex &lt; numSites; siteIndex&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int siteToTry = (m_index &#43; siteIndex) % numSites;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo = m_sites.at(siteToTry);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(siteInfo-&gt;GetStatus() == MgSiteInfo::Ok)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nextSite = siteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_index = siteToTry &#43; 1;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return SAFE_ADDREF(nextSite);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves the number of configured site servers</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;INT32 MgSiteManager::GetSiteCount()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return (INT32)m_sites.size();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves site info for the site server corresponding to the specified index</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo* MgSiteManager::GetSiteInfo(INT32 index)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if((UINT32)index &lt; m_sites.size())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; siteInfo = m_sites.at(index);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return SAFE_ADDREF(siteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Retrieves site info for the site server matching the specified target and port</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo* MgSiteManager::GetSiteInfo(STRING target, INT32 port)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; matchingSiteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; matchingSiteInfo = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; for(int i = 0; i &lt; GetSiteCount(); i&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = GetSiteInfo(i);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(siteInfo-&gt;GetTarget() == target)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 sitePort = siteInfo-&gt;GetPort(MgSiteInfo::Site);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 clientPort = siteInfo-&gt;GetPort(MgSiteInfo::Client);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 adminPort = siteInfo-&gt;GetPort(MgSiteInfo::Admin);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="fr-ca"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(port == sitePort || port == clientPort || port == adminPort)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; matchingSiteInfo = siteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return SAFE_ADDREF((MgSiteInfo*)matchingSiteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/ServerAdmin.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/ServerAdmin.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/ServerAdmin.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -69,6 &#43;69,21 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Opens a connection to a Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \param userInformation</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// User information - credentials, locale, session identifier</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \return</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Nothing</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \exception MgServerNotFoundException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \exception MgConnectionFailedException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void Open(MgUserInformation* userInformation);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// Closes the current Server connection.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \return</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/SiteInfo.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/SiteInfo.h&nbsp;&nbsp; (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/SiteInfo.h&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,106 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;MapGuideCommon.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#ifndef MG_SITEINFO_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#define MG_SITEINFO_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;class MG_MAPGUIDE_API MgSiteInfo : public MgSerializable</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; DECLARE_DYNCREATE_COREDATA();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; DECLARE_CLASSNAME(MgSiteInfo)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;EXTERNAL_API:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; enum MgSiteStatus</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ok,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UnableToConnect,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimedOut,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uninitialized</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; };</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; enum MgPortType</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Client,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Site,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Admin</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; };</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Constructors/Destructor</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo(CREFSTRING target, INT32 sitePort, INT32 clientPort, INT32 adminPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual ~MgSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Methods</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING GetTarget();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 GetPort(MgPortType type);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteStatus GetStatus();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void SetStatus(MgSiteStatus);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;INTERNAL_API:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; //////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Serialize data to TCP/IP stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \param stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual void Serialize(MgStream* stream);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; //////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Deserialize data from TCP/IP stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// \param stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; /// Stream</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual void Deserialize(MgStream* stream);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Create a new MgSiteInfo instance, and initialize it from a hex string</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo(CREFSTRING hexString);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Retrieve a hex string that encodes the site info connection params</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING ToHexString();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static const INT32 HexStringLength = 20;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;protected:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 GetClassId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; virtual void Dispose();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Data Members</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;private:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING m_target;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 m_clientPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 m_sitePort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; INT32 m_adminPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteStatus m_status;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;CLASS_ID:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static const INT32 m_cls_id = MapGuide_Service_SiteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;};</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#endif // MG_SITEINFO_H_</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/ServerAdmin.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/ServerAdmin.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/ServerAdmin.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -52,18 &#43;52,33 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Opens a connection to a specified Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Opens a connection to a specified support Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;param name=&quot;server&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Server IP address or DNS name.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/param&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-// &lt;param name=&quot;credentials&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;param name=&quot;userInformation&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// UserCredentials to authenticate against</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/param&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// &lt;param name=&quot;locale&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Administrator's locale.&nbsp; Server should honor all operations on this connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// using the Administrator's locale.&nbsp; In the first revision, this may only apply to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// error and warning messages.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Nothing</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// EXCEPTIONS:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// MgServerNotFoundException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// MgConnectionFailedException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgServerAdmin::Open(CREFSTRING supportServer, MgUserInformation* userInformation)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetSupportServerConnectionProperties(supportServer, userInformation, MgSiteInfo::Admin);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Opens a connection to a server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;param name=&quot;userInformation&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// UserCredentials to authenticate against</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/param&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Nothing</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -72,18 &#43;87,10 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// EXCEPTIONS:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// MgServerNotFoundException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// MgConnectionFailedException</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-void MgServerAdmin::Open(CREFSTRING server, MgUserInformation* userInformation)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgServerAdmin::Open(MgUserInformation* userInformation)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; INT32 adminPort;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; //get the port for administration connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MgConfiguration* config = MgConfiguration::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; config-&gt;GetIntValue(MgConfigProperties::AdministrativeConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::AdministrativeConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; adminPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultAdministrativeConnectionPropertyPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; m_connProp = new MgConnectionProperties(userInformation, server, adminPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetConnectionProperties(userInformation, MgSiteInfo::Admin, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/ServerConnection.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/ServerConnection.cpp (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/ServerConnection.cpp (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -88,13 &#43;88,19 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;void MgServerConnection::Open(MgUserInformation* userInformation, MgConnectionProperties* connProp)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = SAFE_ADDREF(connProp);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; bool connected = m_serverConnImp-&gt;Connect((MgUtil::WideCharToMultiByte(m_connProp-&gt;GetTarget())).c_str(), m_connProp-&gt;GetPort());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; bool connected = m_serverConnImp-&gt;Connect((</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgUtil::WideCharToMultiByte(m_connProp-&gt;GetTarget())).c_str(), </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp-&gt;GetPort());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Could not connect</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if (!connected)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw new MgConnectionFailedException(L&quot;MgServerConnection.Open&quot;, __LINE__, __WFILE__, NULL, L&quot;&quot;, NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; m_isOpen = true;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_isOpen = true;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;//////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Services/Site.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Services/Site.cpp&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Services/Site.cpp&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -78,7 &#43;78,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Opens a connection to the Site Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Opens a connection to a Site Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;void MgSite::Open(MgUserInformation* userInformation)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -87,11 &#43;87,27 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Authenticate the user.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Authenticate(userInformation, NULL, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Authenticate(userInformation, NULL, NULL, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MG_SITE_CATCH_AND_THROW(L&quot;MgSite.Open&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Opens a connection to the specified Site Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void MgSite::Open(MgUserInformation* userInformation, MgSiteInfo* siteInfo)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_SITE_TRY()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Authenticate the user.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Authenticate(userInformation, siteInfo, NULL, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MG_SITE_CATCH_AND_THROW(L&quot;MgSite.Open&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Closes the current Site Server connection.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -109,31 &#43;125,43 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Gets the address of the Site Server.&nbsp; This value may be used in ServerAdmin to open a connection to the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-/// Site Server for administration purposes.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Gets the addresses of the Site Servers.&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Returns the site server address.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;/returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-STRING MgSite::GetSiteServerAddress()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;MgSiteInfo* MgSite::GetSiteServerInfo(INT32 index)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING address = L&quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return siteManager-&gt;GetSiteInfo(index);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MG_SITE_TRY()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Gets the addresses of the Site Servers.&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Returns the site server address.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// &lt;/returns&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;INT32 MgSite::GetSiteServerCount()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return siteManager-&gt;GetSiteCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; // Get Site Server Address</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MgConfiguration* pConfig = MgConfiguration::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; pConfig-&gt;GetStringValue(&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyIpAddress,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; address,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultSiteConnectionPropertyIpAddress);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;STRING MgSite::GetCurrentSiteAddress()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING target = L&quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(m_connProp != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target = m_connProp-&gt;GetTarget();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return target;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MG_SITE_CATCH_AND_THROW( L&quot;MgSite::GetSiteServerAddress&quot; )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; return address;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////////////////////////////////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// &lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// Create a session for the user and return the unique session identifier. For the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1186,7 &#43;1214,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;MgStringCollection* MgSite::Authenticate(MgUserInformation* userInformation,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; MgStringCollection* requiredRoles, bool returnAssignedRoles)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteInfo* siteInfo, MgStringCollection* requiredRoles, bool returnAssignedRoles)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgCommand cmd;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1197,24 &#43;1225,18 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgConfiguration* configuration = MgConfiguration::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; assert(NULL != configuration);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; // Get the IP address and port for the site server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING target;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; INT32 port = 0;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; configuration-&gt;GetStringValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyIpAddress,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultSiteConnectionPropertyIpAddress);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; configuration-&gt;GetIntValue(</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertiesSection,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::SiteConnectionPropertyPort,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; port,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgConfigProperties::DefaultSiteConnectionPropertyPort);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; assert(m_connProp == NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; m_connProp = new MgConnectionProperties(userInformation, target, port);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetConnectionProperties(userInformation, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; siteInfo, MgSiteInfo::Site);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_connProp = siteManager-&gt;GetConnectionProperties(userInformation, </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteInfo::Site, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; cmd.ExecuteCommand(m_connProp,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgCommand::knObject,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Return type</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Controller/DwfController.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Controller/DwfController.cpp&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Controller/DwfController.cpp&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -44,6 &#43;44,17 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;MgByteReader* MgDwfController::GetMap(MgResourceIdentifier* mapDefinition,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; CREFSTRING dwfVersion, CREFSTRING eMapVersion, MgPropertyCollection* mapViewCommands)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; //create a session id to associate with this map</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING sessionId;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = m_siteConn-&gt;GetUserInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if (userInfo.p != NULL) sessionId = userInfo-&gt;GetMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if (sessionId.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; site = m_siteConn-&gt;GetSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionId = site-&gt;CreateSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userInfo-&gt;SetMgSessionId(sessionId);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; //get an instance of the resource service</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgResourceService&gt; resourceService = (MgResourceService*)GetService(MgServiceType::ResourceService);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -56,17 &#43;67,6 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; //apply commands</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ApplyMapViewCommands(map, mapViewCommands);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; //create a session id to associate with this map</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING sessionId;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = m_siteConn-&gt;GetUserInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; if (userInfo.p != NULL) sessionId = userInfo-&gt;GetMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; if (sessionId.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; site = m_siteConn-&gt;GetSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sessionId = site-&gt;CreateSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userInfo-&gt;SetMgSessionId(sessionId);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; //save the map state in the session repository</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgResourceIdentifier&gt; resId = new MgResourceIdentifier(L&quot;Session:&quot; &#43; sessionId &#43; L&quot;//&quot; &#43; mapDefinition-&gt;GetName() &#43; L&quot;.&quot; &#43; MgResourceType::Map);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; map-&gt;Save((MgResourceService*)resourceService, (MgResourceIdentifier*)resId);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/System/UserInformation.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/System/UserInformation.cpp&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/System/UserInformation.cpp&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -221,6 &#43;221,29 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///&lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///Create a sessionid, and encode the IP address of the site server that</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///created it into the ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///&lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;STRING MgUserInformation::CreateMgSessionId(MgSiteInfo* siteInfo)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING id = CreateMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING hexAddress;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hexAddress = siteInfo-&gt;ToHexString();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(!hexAddress.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id.append(L&quot;_&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id.append(hexAddress);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; return id;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///&lt;summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///Clears the current sessionid</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;///&lt;/summary&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;void MgUserInformation::ClearMgSessionId()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/System/UserInformation.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/System/UserInformation.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/System/UserInformation.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -37,7 &#43;37,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;class MgUserInformation;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;template class MG_MAPGUIDE_API Ptr&lt;MgUserInformation&gt;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;class MgSiteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// \defgroup MgUserInformation MgUserInformation</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// \ingroup Common_Module</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;/// \{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -317,6 &#43;319,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// New session id</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; STRING CreateMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; STRING CreateMgSessionId(MgSiteInfo* siteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ///////////////////////////////</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; /// \brief</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/System/MapGuideCommonFactory.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/System/MapGuideCommonFactory.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/System/MapGuideCommonFactory.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -94,6 &#43;94,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(MapGuide_Service_ServerInformation, MgServerInformation::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(MapGuide_Service_PackageStatusInformation, MgPackageStatusInformation::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(MapGuide_Service_UserInformation, MgUserInformation::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; fact-&gt;Register(MapGuide_Service_SiteInfo, MgSiteInfo::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(PlatformBase_FeatureService_DataReader, MgProxyDataReader::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(PlatformBase_FeatureService_FeatureReader, MgProxyFeatureReader::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; fact-&gt;Register(PlatformBase_FeatureService_GwsFeatureReader, MgProxyGwsFeatureReader::CreateObject);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/System/MapGuideCommonClassId.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/System/MapGuideCommonClassId.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/System/MapGuideCommonClassId.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -105,6 &#43;105,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#define MapGuide_Service_Site&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAPGUIDE_SERVICE_ID&#43;5</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#define MapGuide_Service_UserInformation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAPGUIDE_SERVICE_ID&#43;6</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#define MapGuide_Service_ServerAdmin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAPGUIDE_SERVICE_ID&#43;7</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#define MapGuide_Service_SiteInfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAPGUIDE_SERVICE_ID&#43;8</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;// Drawing Service</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#define MapGuide_DrawingService_DrawingService&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MAPGUIDE_DRAWINGSERVICE_ID&#43;0</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/MapGuideCommonBuild.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/MapGuideCommonBuild.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/MapGuideCommonBuild.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -115,6 &#43;115,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/ServerConnectionStack.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/ServerInformation.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/Site.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include&nbsp; &quot;Services/SiteManager.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include&nbsp; &quot;Services/SiteInfo.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/SiteConnection.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/TileDefs.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include&nbsp; &quot;Services/TileService.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/MapGuideCommon.vcproj</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/MapGuideCommon.vcproj (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/MapGuideCommon.vcproj (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1029,6 &#43;1029,22 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\Services\SiteInfo.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\Services\SiteInfo.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\Services\SiteManager.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\Services\SiteManager.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\Services\TileDefs.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/Makefile.am</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/Makefile.am&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/Makefile.am&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -108,6 &#43;108,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/ServerConnectionStack.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/ServerInformation.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/Site.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; Services/SiteManager.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; Services/SiteInfo.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/SiteConnection.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/TileDefs.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/TileService.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -221,6 &#43;223,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/ServerConnectionStack.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/ServerInformation.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/Site.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; Services/SiteManager.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; Services/SiteInfo.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/SiteConnection.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/TileDefs.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; Services/TileService.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Common/MapGuideCommon/MapGuideCommon.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Common/MapGuideCommon/MapGuideCommon.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Common/MapGuideCommon/MapGuideCommon.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -99,6 &#43;99,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Net/IOperationHandler.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Services/Command.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Services/Site.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;Services/SiteInfo.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;Services/SiteManager.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Services/ConnectionProperties.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Services/SiteConnection.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;#include &quot;Services/DrawingDefs.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/Services/Site/ServerSiteService.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/Services/Site/ServerSiteService.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/Services/Site/ServerSiteService.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -720,7 &#43;720,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if (session.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session = currUserInfo-&gt;CreateMgSessionId();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = siteManager-&gt;GetSiteInfo(0);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; session = currUserInfo-&gt;CreateMgSessionId(siteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; currUserInfo-&gt;SetMgSessionId(session);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/Common/Manager/SessionCache.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/Common/Manager/SessionCache.cpp&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/Common/Manager/SessionCache.cpp&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -144,6 &#43;144,22 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;MgSessionInfo* MgSessionCache::GetSessionInfo(CREFSTRING session,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; bool strict) const</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#ifdef _DEBUG</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; // Session Affinity: Check that the session was created by this server </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; if(!session.empty())</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING hexString = session.substr(session.length() - MgSiteInfo::HexStringLength);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; sessionSiteInfo = new MgSiteInfo(hexString);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(sessionSiteInfo-&gt;GetStatus() == MgSiteInfo::Ok)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* siteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; firstSite = siteManager-&gt;GetSiteInfo(0);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert(sessionSiteInfo-&gt;GetTarget().compare(firstSite-&gt;GetTarget()) == 0);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert(sessionSiteInfo-&gt;GetPort(MgSiteInfo::Site) == firstSite-&gt;GetPort(MgSiteInfo::Site));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#endif //_DEBUG</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgSessionInfo* sessionInfo = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgSessionInfoMap::const_iterator i = m_sessionInfoMap.find(session);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/UnitTesting/UnitTesting.vcproj</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/UnitTesting/UnitTesting.vcproj&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/UnitTesting/UnitTesting.vcproj&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -277,6 &#43;277,14 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\TestSiteManager.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\TestSiteManager.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;File</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RelativePath=&quot;.\TestSiteService.cpp&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/File&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/UnitTesting/TestSiteManager.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/UnitTesting/TestSiteManager.h&nbsp;&nbsp;&nbsp; (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/UnitTesting/TestSiteManager.h&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,59 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#ifndef _TestSiteManager_H</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#define _TestSiteManager_H</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &lt;cppunit/extensions/HelperMacros.h&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;class TestSiteManager : public CppUnit::TestFixture</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST_SUITE(TestSiteManager);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestStart); // This must be the very first unit test</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_ValidSiteManager);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSiteConnectionProperties);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSiteConnectionPropertiesWithSession);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSiteConnectionPropertiesIgnoreSession);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSpecificSiteConnectionProperties);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSupportServerConnectionProperties);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSiteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestCase_GetSiteCount);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST(TestEnd); // This must be the very last unit test</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_TEST_SUITE_END();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;public:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void setUp();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void tearDown();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestStart();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestEnd();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_ValidSiteManager();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSiteConnectionProperties();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSiteConnectionPropertiesWithSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSiteConnectionPropertiesIgnoreSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSpecificSiteConnectionProperties();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSupportServerConnectionProperties();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSiteInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; void TestCase_GetSiteCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;private:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; static void TestWorkerThreads();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;};</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#endif // _TestSiteManager_H</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/UnitTesting/UnitTesting.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/UnitTesting/UnitTesting.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/UnitTesting/UnitTesting.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -55,6 &#43;55,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestServerManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestServiceManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteService&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(ACE_OS::strcasecmp(MG_WCHAR_TO_TCHAR(test), MG_WCHAR_TO_TCHAR(MgResources::ServerCmdTestListTests)) == 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -75,6 &#43;76,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_OS::printf(&quot;&nbsp; ServerManager\n&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_OS::printf(&quot;&nbsp; ServiceManager\n&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_OS::printf(&quot;&nbsp; SiteService\n&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_OS::printf(&quot;&nbsp; SiteManager\n&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_OS::printf(&quot;\n&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; bRunTests = false;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -139,6 &#43;141,11 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_INFO, ACE_TEXT(&quot;&gt;&gt;&gt;&gt;&gt; Running only Site Service tests. &lt;&lt;&lt;&lt;&lt;\n\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteService&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else if(ACE_OS::strcasecmp(MG_WCHAR_TO_TCHAR(test), ACE_LIB_TEXT(&quot;SiteManager&quot;)) == 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_INFO, ACE_TEXT(&quot;&gt;&gt;&gt;&gt;&gt; Running only Site Manager tests. &lt;&lt;&lt;&lt;&lt;\n\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Test suite not found</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -162,6 &#43;169,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestServerManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestServiceManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteService&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; runner.addTest(CppUnit::TestFactoryRegistry::getRegistry(&quot;TestSiteManager&quot;).makeTest());</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if(bRunTests)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/UnitTesting/TestSiteManager.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/UnitTesting/TestSiteManager.cpp&nbsp; (revision 0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/UnitTesting/TestSiteManager.cpp&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -0,0 &#43;1,315 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Copyright (C) 2004-2006&nbsp; Autodesk, Inc.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is free software; you can redistribute it and/or</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; modify it under the terms of version 2.1 of the GNU Lesser</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; General Public License as published by the Free Software Foundation.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; This library is distributed in the hope that it will be useful,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; but WITHOUT ANY WARRANTY; without even the implied warranty of</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.&nbsp; See the GNU</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Lesser General Public License for more details.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; You should have received a copy of the GNU Lesser General Public</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; License along with this library; if not, write to the Free Software</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//&nbsp; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA&nbsp; 02110-1301&nbsp; USA</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;//</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;MapGuideCommon.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;#include &quot;TestSiteManager.h&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const STRING TEST_SESSION_ID = L&quot;48cb0286-0000-1000-8001-005056c00008_en_6F7A8590045708AE0D05&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const STRING TEST_TARGET = L&quot;111.122.133.144&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const STRING TEST_SUPPORT_SERVER = L&quot;144.133.122.111&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const INT32 TEST_SITE_PORT = 1111;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const INT32 TEST_CLIENT_PORT = 2222;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const INT32 TEST_ADMIN_PORT = 3333;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;const STRING TEST_LOCALE = L&quot;en&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(TestSiteManager, &quot;TestSiteManager&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::setUp()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::tearDown()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestStart()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_INFO, ACE_TEXT(&quot;\nRunning Site Manager tests.\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestEnd()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; ACE_DEBUG((LM_INFO, ACE_TEXT(&quot;\nSite Manager tests completed.\n\n&quot;)));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// This test case checks to see if there is a valid MgSiteManager and that</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// there is only 1 MgSiteManager.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_ValidSiteManager()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* pMgSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(pMgSiteManager != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; MgSiteManager* pMgSiteManager2 = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(pMgSiteManager == pMgSiteManager2);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get the MgConnectionProperties for a site connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSiteConnectionProperties()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create admin user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = new MgUserInformation(L&quot;Administrator&quot;, L&quot;admin&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get connection properties</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connProps = pSiteManager-&gt;GetConnectionProperties(userInfo, MgSiteInfo::Site, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Verify that we received connection properties</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connProps != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get the MgConnectionProperties for a site connection when the user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// contains a session ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSiteConnectionPropertiesWithSession()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create admin user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = new MgUserInformation(L&quot;Administrator&quot;, L&quot;admin&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userInfo-&gt;SetMgSessionId(TEST_SESSION_ID);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get connection properties, allowing overrides from the session ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsSite = pSiteManager-&gt;GetConnectionProperties(userInfo, MgSiteInfo::Site, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsClient = pSiteManager-&gt;GetConnectionProperties(userInfo, MgSiteInfo::Client, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsAdmin = pSiteManager-&gt;GetConnectionProperties(userInfo, MgSiteInfo::Admin, true);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Verify that the connection properties match those in the session ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite != NULL &amp;&amp; connPropsClient != NULL &amp;&amp; connPropsAdmin != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetTarget() == TEST_TARGET);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetPort() == TEST_SITE_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsClient-&gt;GetPort() == TEST_CLIENT_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsAdmin-&gt;GetPort() == TEST_ADMIN_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get the MgConnectionProperties for a site connection when the user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// contains a session ID, but that ID is not to be used to override the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// connection parameters</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSiteConnectionPropertiesIgnoreSession()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create admin user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = new MgUserInformation(L&quot;Administrator&quot;, L&quot;admin&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userInfo-&gt;SetMgSessionId(TEST_SESSION_ID);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get connection properties without allowing overrides from the session ID</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsSite = pSiteManager-&gt;GetConnectionProperties(userInfo, MgSiteInfo::Site, false);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetTarget() != TEST_TARGET);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get a connection to a site specified in an MgSiteInfo object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSpecificSiteConnectionProperties()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create admin user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = new MgUserInformation(L&quot;Administrator&quot;, L&quot;admin&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create MgSiteInfo object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = new MgSiteInfo(TEST_TARGET, TEST_SITE_PORT, TEST_CLIENT_PORT, TEST_ADMIN_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get connection properties for the specified site</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsSite = pSiteManager-&gt;GetConnectionProperties(userInfo, siteInfo, MgSiteInfo::Admin);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetTarget() == TEST_TARGET);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetPort() == TEST_ADMIN_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get a connection to a support server. The support server IP is specified</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// in the request, but the port is the one used by the site server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSupportServerConnectionProperties()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create admin user info</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgUserInformation&gt; userInfo = new MgUserInformation(L&quot;Administrator&quot;, L&quot;admin&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userInfo-&gt;SetMgSessionId(TEST_SESSION_ID);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create MgSiteInfo object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = new MgSiteInfo(TEST_TARGET, TEST_SITE_PORT, TEST_CLIENT_PORT, TEST_ADMIN_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get connection properties for the specified site</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgConnectionProperties&gt; connPropsSite = pSiteManager-&gt;GetSupportServerConnectionProperties(TEST_SUPPORT_SERVER, userInfo, MgSiteInfo::Site);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // The port should come from the site stored in the session ID. The target should be the support server IP.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetTarget() == TEST_SUPPORT_SERVER);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(connPropsSite-&gt;GetPort() == TEST_SITE_PORT);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get an MgSiteInfo object representing the connection properties for this</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// site server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSiteInfo()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the number of site servers</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgSiteInfo&gt; siteInfo = pSiteManager-&gt;GetSiteInfo(0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Verify that we received a valid site info object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(siteInfo != NULL);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(siteInfo-&gt;GetTarget() != L&quot;&quot;);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Test Case Description:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// Get the number of site servers configured in the INI file. Should always be</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;/// 1 for serverconfig.ini.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;///----------------------------------------------------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;void TestSiteManager::TestCase_GetSiteCount()</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the site manager instance</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MgSiteManager* pSiteManager = MgSiteManager::GetInstance();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get the number of site servers</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; INT32 numSites = pSiteManager-&gt;GetSiteCount();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // The number of sites should always be 1 on the server. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // It can be greater than 1 in the web tier.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_ASSERT(numSites == 1);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(MgException* e)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STRING message = e-&gt;GetDetails(TEST_LOCALE);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SAFE_RELEASE(e);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CPPUNIT_FAIL(MG_WCHAR_TO_CHAR(message.c_str()));</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; catch(...)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; throw;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Server/src/UnitTesting/Makefile.am</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Server/src/UnitTesting/Makefile.am&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Server/src/UnitTesting/Makefile.am&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -38,6 &#43;38,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestServiceManager.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestSiteService.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestTileService.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; TestSiteManager.cpp \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; UnitTesting.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;noinst_HEADERS = \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -55,6 &#43;56,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestServiceManager.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestSiteService.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; TestTileService.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp; TestSiteManager.h \</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp; UnitTesting.h</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;libMgUnitTesting_la_LIBADD = -lcppunit</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/MapGuideApi/MapGuideApiGen.xml</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/MapGuideApi/MapGuideApiGen.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/MapGuideApi/MapGuideApiGen.xml&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -258,6 &#43;258,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/PlatformBase/Services/BaseService.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/PlatformBase/Services/Service.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/MapGuideCommon/Services/Site.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/MapGuideCommon/Services/SiteInfo.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/MapGuideCommon/Services/SiteConnection.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/PlatformBase/Services/ResourceIdentifier.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; &lt;Header path=&quot;../../../Common/PlatformBase/Services/ResourceService.h&quot;/&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/makepackage.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/makepackage.php&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/makepackage.php&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -28,9 &#43;28,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $userInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Make sure folder name begins with &quot;Library://&quot; and ends with &quot;/&quot;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( ( strcasecmp( &quot;Library&quot;, $folderName ) == 0 ) || ( strcasecmp( &quot;Library:&quot;, $folderName ) == 0 ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/serverdatafunctions.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/serverdatafunctions.php&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/serverdatafunctions.php&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -623,7 &#43;623,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Put Site Server in $targetTable.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverRec = new ServerTableRecord( &quot;Site Server&quot;, &quot;&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverKey = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverKey = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $targetTable[ $serverKey ] = $serverRec;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $dbData = $site-&gt;EnumerateServers();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -642,7 &#43;642,6 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $targetTable[ $key ] = $val;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get values for Online and Services fields</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ( $targetTable as $key =&gt; $val )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1789,9 &#43;1788,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $userInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Call server to get comprehensive list of packages.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1836,9 &#43;1834,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Delete the package</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;DeletePackage( $packageName );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1865,9 &#43;1862,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $targetTable = array();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $packages = GetPackageList();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $iPackage = -1;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; foreach ( $packages as $val )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -1951,9 &#43;1947,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $errInvalidWMSFile;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get WMS reader</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServer, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $wmsReader = $serverAdmin-&gt;GetDocument( 'Wms:OgcWmsService.config' );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -2008,9 &#43;2003,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $errInvalidWMSFile;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get WMS reader</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServer, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $wmsReader = $serverAdmin-&gt;GetDocument( 'Wms:OgcWmsService.config' );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Set WMS metadata</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -2111,9 &#43;2105,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $errInvalidWFSFile;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get WFS reader</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServer, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $wfsReader = $serverAdmin-&gt;GetDocument( 'Wfs:OgcWfsService.config' );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -2168,9 &#43;2161,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $errInvalidWFSFile;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Get WFS reader</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServer, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $wfsReader = $serverAdmin-&gt;GetDocument( 'Wfs:OgcWfsService.config' );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Set WFS metadata</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/servermanagement.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/servermanagement.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/servermanagement.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -65,8 &#43;65,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $currPage = 1;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if ( array_key_exists( $selectedServerID, $_POST ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedServer = $_POST[ $selectedServerID ];</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/login.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/login.php&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/login.php&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -29,10 &#43;29,12 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $homePage = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminID = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminIDID = 'adminID';</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverSelectionID = 'SiteServer';</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminPassword = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminPasswordID = 'adminPassword';</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $locale = &quot;en&quot;; // localizable string</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $errorMsg = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $numSites = 0;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( FirstTimeHere( $pageName ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -75,21 &#43;77,57 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $userInfo-&gt;SetClientAgent( $clientAgent );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $clientIp = array_key_exists( 'REMOTE_ADDR', $_SERVER ) ?&nbsp; $_SERVER['REMOTE_ADDR'] : &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $userInfo-&gt;SetClientIp( $clientIp );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a Site object and open the Site Server.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $site = new MgSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $site-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Check that we have Administrator permission.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $servers = $site-&gt;EnumerateServers();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Determine the available site servers</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $numSites = $site-&gt;GetSiteServerCount();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($numSites == 1)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create session</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminSession = $site-&gt;CreateSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Save session variables</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveSessionVars();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Success - switch to ServerManagement page.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header( 'Location:&nbsp; servermanagement.php?'.strip_tags(SID) );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteInfo = GetSiteServerSelection($serverSelectionID);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Close the existing site connection</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($site != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $site-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Determine the selected site</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $site = new MgSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a connection to the selected site</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $site-&gt;Open($userInfo, $siteInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create a session</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminSession = $site-&gt;CreateSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $userInfo-&gt;SetMgSessionId($adminSession);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Create session</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $adminSession = $site-&gt;CreateSession();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Success - switch to ServerManagement page.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveSessionVars();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header( 'Location:&nbsp; servermanagement.php?'.strip_tags(SID) );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Save the session variables. All requests will now be directed to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // our selected server since it hosts the current session.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveSessionVars();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; header( 'Location:&nbsp; servermanagement.php?'.strip_tags(SID) );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; exit();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; catch ( MgException $e )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -128,6 &#43;166,15 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;!-- Input Area --&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table border=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;inputForm&quot;&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($site != NULL &amp;&amp; $numSites &gt; 1)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;tr&gt;&lt;td class=&quot;loginInputLabel&quot;&gt;Site Server:&lt;/td&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;td class=&quot;loginInputFormValue&quot;&gt;';</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DisplaySiteServerSelector($serverSelectionID);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;/td&gt;&lt;/tr&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ?&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td class=&quot;loginInputLabel&quot;&gt;Administrator ID:&lt;/td&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td class=&quot;loginInputFormValue&quot;&gt;&lt;input class=&quot;loginInputFormValue&quot; name=&quot;&lt;?php echo $adminIDID?&gt;&quot; type=&quot;text&quot; class=&quot;TableCell&quot; size=&quot;50&quot; value=&quot;&lt;?php echo $adminID ?&gt;&quot;&gt;&lt;/td&gt;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/resizablepagecomponents.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/resizablepagecomponents.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/resizablepagecomponents.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -67,6 &#43;67,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; define( 'CONFIGURE_LOGS_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Configure Logs&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; define( 'CONFIGURE_SERVICES_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Configure Services&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; define( 'LOG_MANAGEMENT_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Manage Logs&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; define( 'SELECT_SITE_SERVER_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Select Site Server&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; define( 'ADD_GROUP_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Add Group&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; define( 'EDIT_GROUP_TITLE',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;Edit Group&quot; );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -454,7 &#43;455,64 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;br&gt;',&quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; function DisplaySiteServerSelector( $selectedSiteServerID )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;select class=&quot;serverSelector&quot; name=&quot;',$selectedSiteServerID.NO_PERSISTENCE_FLAG,'&quot; size=&quot;1&quot; &gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for($i = 0; $i &lt; $site-&gt;GetSiteServerCount(); $i&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedStr = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteInfo = $site-&gt;GetSiteServerInfo($i);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $target = $siteInfo-&gt;GetTarget();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $port = $siteInfo-&gt;GetPort(MgSiteInfo_Admin);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;option class=&quot;serverSelector&quot; ',$selectedStr,'&gt;',$target,':',$port,'&lt;/option&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;/select&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; function GetSiteServerSelection( $selectedSiteServerID )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $_POST;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $_GET;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $errNotFound;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedSite = NULL;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedSiteServerName = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( array_key_exists( $selectedSiteServerID.NO_PERSISTENCE_FLAG, $_POST ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedSiteServerName = $_POST[ $selectedSiteServerID.NO_PERSISTENCE_FLAG ];</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( array_key_exists( $selectedSiteServerID, $_GET ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedSiteServerName = $_GET[ $selectedSiteServerID ];</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($site != NULL &amp;&amp; $selectedSiteServerName != &quot;&quot;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for($i = 0; $i &lt; $site-&gt;GetSiteServerCount(); $i&#43;&#43;)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteInfo = $site-&gt;GetSiteServerInfo($i);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($siteInfo != NULL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $target = $siteInfo-&gt;GetTarget();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $port = $siteInfo-&gt;GetPort(MgSiteInfo_Admin);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $id = $target.&quot;:&quot;.strval($port);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($id == $selectedSiteServerName)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $selectedSite = $siteInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $selectedSite;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; class ToolbarButtonRecord</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var $id;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -763,7 &#43;821,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $serviceSelector == NULL )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $serviceSelector-&gt;serverAddress == $site-&gt;GetSiteServerAddress() )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( $serviceSelector-&gt;serverAddress == $siteServerAddress )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;input type=&quot;checkbox&quot; checked disabled&gt;Site&lt;br&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo '&lt;input type=&quot;checkbox&quot; checked disabled&gt;&lt;a href=&quot;servicesproperties.php?Server=',$serviceSelector-&gt;serverAddress,'&quot;&gt;Resource&lt;/a&gt;&lt;br&gt;', &quot;\n&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/packagemanagement.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/packagemanagement.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/packagemanagement.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -64,9 &#43;64,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Construct suggestedPackageName</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $dateData = getdate();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $dateStr = sprintf( &quot;%04u%02u%02u&quot;, $dateData[ 'year' ], $dateData[ 'mon' ], $dateData[ 'mday' ] );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServer, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $genProps = new GeneralPropsRecord();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $genProps-&gt;GetProps( $serverAdmin );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/loadpackage.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/loadpackage.php&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/loadpackage.php&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -28,9 &#43;28,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $userInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set_time_limit(0);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;LoadPackage( $packageName );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/servicesproperties.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/servicesproperties.php&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/servicesproperties.php&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -50,9 &#43;50,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $pageEnabled = false;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $bSiteServer = false;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Get Server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; GetServerSelection( $selectedServerID, $selectedServer );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $serverRec = GetDataForServer( $selectedServer );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if ( $serverRec == NULL )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/about.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/about.php&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/about.php&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -32,9 &#43;32,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $appVersion = SITE_ADMINISTRATOR_VERSION;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $errorMsg = &quot;&quot;;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverVersion = GetVersion( $serverAdmin );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; }</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; catch ( MgException $e )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/displaypackagelog.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/displaypackagelog.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/displaypackagelog.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -30,9 &#43;30,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $site;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global $userInfo;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $siteServerAddress, $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Open( $userInfo );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $logReader = $serverAdmin-&gt;GetPackageLog( $packageName );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $serverAdmin-&gt;Close();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/mapadmin/serverproperties.php</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/mapadmin/serverproperties.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/mapadmin/serverproperties.php&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -76,7 &#43;76,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Get Server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; $siteServer = $site-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; $siteServerAddress = $site-&gt;GetCurrentSiteAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; GetServerSelection( $selectedServerID, $selectedServer );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $serverRec = GetDataForServer( $selectedServer );</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if ( $serverRec == NULL )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -86,7 &#43;86,7 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Are we configuring the site or a support server?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; $pageEnabled = true;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; $configuringSupportServer = $siteServer != $selectedServer;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; $configuringSupportServer = $siteServerAddress != $selectedServer;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Is a refresh needed?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; if ( FirstTimeHere( $pageName ) )</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/HttpHandler/HttpGetSiteVersion.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/HttpHandler/HttpGetSiteVersion.cpp&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/HttpHandler/HttpGetSiteVersion.cpp&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -51,14 &#43;51,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Check common parameters</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ValidateCommonParameters();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; // Open connection to Mg server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; mgSite = m_siteConn-&gt;GetSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING serverAddress = mgSite-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Create ServerAdmin object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgServerAdmin&gt; serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(serverAddress, m_userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(m_userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // call the C&#43;&#43; APIs</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgPropertyCollection&gt; properties = serverAdmin-&gt;GetInformationProperties();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/HttpHandler/HttpWmsGetCapabilities.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/HttpHandler/HttpWmsGetCapabilities.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/HttpHandler/HttpWmsGetCapabilities.cpp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -47,13 &#43;47,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; //TODO: Remove dependency on thread local storage</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgUserInformation* userInfo = MgUserInformation::GetCurrentUserInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; mgSite;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; mgSite = new MgSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; mgSite-&gt;Open(userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING serverAddress = mgSite-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgServerAdmin&gt; serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(serverAddress,userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgByteReader&gt; brDoc;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; brDoc = serverAdmin-&gt;GetDocument(pszDoc);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/HttpHandler/HttpGetSiteInfo.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/HttpHandler/HttpGetSiteInfo.cpp&nbsp;&nbsp;&nbsp;&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/HttpHandler/HttpGetSiteInfo.cpp&nbsp;&nbsp;&nbsp;&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -51,14 &#43;51,9 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Check common parameters</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; ValidateCommonParameters();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; // Open connection to Mg server</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; mgSite = m_siteConn-&gt;GetSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING serverAddress = mgSite-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // Create ServerAdmin object</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgServerAdmin&gt; serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(serverAddress, m_userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(m_userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; // call the C&#43;&#43; APIs</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgPropertyCollection&gt; properties = serverAdmin-&gt;GetInformationProperties();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">Index: Web/src/HttpHandler/WmsMapUtil.cpp</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">===================================================================</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">--- Web/src/HttpHandler/WmsMapUtil.cpp&nbsp; (revision 1039)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&#43;&#43; Web/src/HttpHandler/WmsMapUtil.cpp&nbsp; (revision 1040)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">@@ -47,13 &#43;47,8 @@</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;{</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; //TODO: Remove dependency on thread local storage</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; MgUserInformation* userInfo = MgUserInformation::GetCurrentUserInfo();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; Ptr&lt;MgSite&gt; mgSite;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; mgSite = new MgSite();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; mgSite-&gt;Open(userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; STRING serverAddress = mgSite-&gt;GetSiteServerAddress();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgServerAdmin&gt; serverAdmin = new MgServerAdmin();</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">-&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(serverAddress,userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&#43;&nbsp;&nbsp;&nbsp; serverAdmin-&gt;Open(userInfo);</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; Ptr&lt;MgByteReader&gt; brDoc;</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT COLOR="#000080" SIZE=2 FACE="Arial">&nbsp;&nbsp;&nbsp;&nbsp; brDoc = serverAdmin-&gt;GetDocument(pszDoc);</FONT></SPAN><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><SPAN LANG="en-us"></SPAN></P>

</BODY>
</HTML>