From 17e422bc673940ffe33b80c29378af65e66501ec Mon Sep 17 00:00:00 2001 From: Adam Frisby Date: Fri, 1 Jun 2007 23:48:52 +0000 Subject: * DB4o Storage provider is now well documented * Added try/catch over user creation (should allow multiple logins on Db4o) --- .../OpenGrid.Framework.Data.DB4o/DB4oManager.cs | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) (limited to 'OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs') diff --git a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs index b30f889..408b213 100644 --- a/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs +++ b/OpenGridServices/OpenGrid.Framework.Data.DB4o/DB4oManager.cs @@ -1,3 +1,29 @@ +/* +* Copyright (c) OpenSim project, http://sim.opensecondlife.org/ +* +* 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 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 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.Collections.Generic; using System.Text; @@ -7,17 +33,31 @@ using libsecondlife; namespace OpenGrid.Framework.Data.DB4o { + /// + /// A Database manager for Db4o + /// class DB4oGridManager { + /// + /// A list of the current regions connected (in-memory cache) + /// public Dictionary simProfiles = new Dictionary(); + /// + /// Database File Name + /// string dbfl; + /// + /// Creates a new grid storage manager + /// + /// Filename to the database file public DB4oGridManager(string db4odb) { dbfl = db4odb; IObjectContainer database; database = Db4oFactory.OpenFile(dbfl); IObjectSet result = database.Get(typeof(SimProfileData)); + // Loads the file into the in-memory cache foreach(SimProfileData row in result) { simProfiles.Add(row.UUID, row); } @@ -57,16 +97,30 @@ namespace OpenGrid.Framework.Data.DB4o } + /// + /// A manager for the DB4o database (user profiles) + /// class DB4oUserManager { + /// + /// A list of the user profiles (in memory cache) + /// public Dictionary userProfiles = new Dictionary(); + /// + /// Database filename + /// string dbfl; + /// + /// Initialises a new DB manager + /// + /// The filename to the database public DB4oUserManager(string db4odb) { dbfl = db4odb; IObjectContainer database; database = Db4oFactory.OpenFile(dbfl); + // Load to cache IObjectSet result = database.Get(typeof(UserProfileData)); foreach (UserProfileData row in result) { -- cgit v1.1