diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
index 5b2d7dc6d8..6346279754 100644
--- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs
+++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs
@@ -38,6 +38,8 @@ using log4net;
using log4net.Appender;
using log4net.Core;
using log4net.Repository;
+using OpenMetaverse;
+using OpenMetaverse.StructuredData;
using OpenSim.Framework;
using OpenSim.Framework.Console;
using OpenSim.Framework.Monitoring;
@@ -45,16 +47,12 @@ using OpenSim.Framework.Servers;
using OpenSim.Framework.Servers.HttpServer;
using Timer=System.Timers.Timer;
-using OpenMetaverse;
-using OpenMetaverse.StructuredData;
-
-
namespace OpenSim.Framework.Servers
{
///
/// Common base for the main OpenSimServers (user, grid, inventory, region, etc)
///
- public abstract class BaseOpenSimServer
+ public abstract class BaseOpenSimServer : ServerBase
{
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
@@ -68,11 +66,6 @@ namespace OpenSim.Framework.Servers
protected OpenSimAppender m_consoleAppender;
protected IAppender m_logFileAppender = null;
- ///
- /// Time at which this server was started
- ///
- protected DateTime m_startuptime;
-
///
/// Record the initial startup directory for info purposes
///
@@ -96,9 +89,8 @@ namespace OpenSim.Framework.Servers
get { return m_httpServer; }
}
- public BaseOpenSimServer()
+ public BaseOpenSimServer() : base()
{
- m_startuptime = DateTime.Now;
m_version = VersionInfo.Version;
// Random uuid for private data
@@ -283,19 +275,6 @@ namespace OpenSim.Framework.Servers
return sb.ToString();
}
- ///
- /// Return a report about the uptime of this server
- ///
- ///
- protected string GetUptimeReport()
- {
- StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now));
- sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime));
- sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime));
-
- return sb.ToString();
- }
-
///
/// Performs initialisation of the scene, such as loading configuration from disk.
///
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs
new file mode 100644
index 0000000000..d19234b8d7
--- /dev/null
+++ b/OpenSim/Framework/Servers/ServerBase.cs
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) Contributors, http://opensimulator.org/
+ * See CONTRIBUTORS.TXT for a full list of copyright holders.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the OpenSimulator Project nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+using System;
+using System.Text;
+
+namespace OpenSim.Framework.Servers
+{
+ public class ServerBase
+ {
+ ///
+ /// Time at which this server was started
+ ///
+ protected DateTime m_startuptime;
+
+ public ServerBase()
+ {
+ m_startuptime = DateTime.Now;
+ }
+
+ ///
+ /// Return a report about the uptime of this server
+ ///
+ ///
+ protected string GetUptimeReport()
+ {
+ StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now));
+ sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime));
+ sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime));
+
+ return sb.ToString();
+ }
+ }
+}
\ No newline at end of file
diff --git a/OpenSim/Server/Base/ServicesServerBase.cs b/OpenSim/Server/Base/ServicesServerBase.cs
index 0cff6ed5df..56bb7aeb6b 100644
--- a/OpenSim/Server/Base/ServicesServerBase.cs
+++ b/OpenSim/Server/Base/ServicesServerBase.cs
@@ -34,6 +34,7 @@ using System.Text;
using System.Xml;
using OpenSim.Framework;
using OpenSim.Framework.Console;
+using OpenSim.Framework.Servers;
using log4net;
using log4net.Config;
using log4net.Appender;
@@ -43,7 +44,7 @@ using Nini.Config;
namespace OpenSim.Server.Base
{
- public class ServicesServerBase
+ public class ServicesServerBase : ServerBase
{
// Logger
//
@@ -72,17 +73,10 @@ namespace OpenSim.Server.Base
//
private string m_pidFile = String.Empty;
- ///
- /// Time at which this server was started
- ///
- protected DateTime m_startuptime;
-
// Handle all the automagical stuff
//
- public ServicesServerBase(string prompt, string[] args)
+ public ServicesServerBase(string prompt, string[] args) : base()
{
- m_startuptime = DateTime.Now;
-
// Save raw arguments
//
m_Arguments = args;
@@ -373,18 +367,5 @@ namespace OpenSim.Server.Base
break;
}
}
-
- ///
- /// Return a report about the uptime of this server
- ///
- ///
- protected string GetUptimeReport()
- {
- StringBuilder sb = new StringBuilder(String.Format("Time now is {0}\n", DateTime.Now));
- sb.Append(String.Format("Server has been running since {0}, {1}\n", m_startuptime.DayOfWeek, m_startuptime));
- sb.Append(String.Format("That is an elapsed time of {0}\n", DateTime.Now - m_startuptime));
-
- return sb.ToString();
- }
}
-}
+}
\ No newline at end of file