aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorAdam Frisby2007-05-05 21:49:24 +0000
committerAdam Frisby2007-05-05 21:49:24 +0000
commit51da80a8506f08511c45e8fd87044989f8221b87 (patch)
treeb7951215e4a07f1742766540ea4f9464fbdd4061
parentRun prebuild to generate working project files. (diff)
downloadopensim-SC-51da80a8506f08511c45e8fd87044989f8221b87.zip
opensim-SC-51da80a8506f08511c45e8fd87044989f8221b87.tar.gz
opensim-SC-51da80a8506f08511c45e8fd87044989f8221b87.tar.bz2
opensim-SC-51da80a8506f08511c45e8fd87044989f8221b87.tar.xz
Grid Framework for DB4o - supports all framework.data interfaces.
*** Important Note *** Framework.Data interfaces are not yet complete (they are strictly read-only right now), because of this, write support is not yet implemented.
-rw-r--r--OpenGrid.Framework.Data.DB4o/DB4oGridData.cs63
-rw-r--r--OpenGrid.Framework.Data.DB4o/DB4oManager.cs27
-rw-r--r--OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.csproj62
-rw-r--r--OpenGrid.Framework.Data.DB4o/Properties/AssemblyInfo.cs35
4 files changed, 187 insertions, 0 deletions
diff --git a/OpenGrid.Framework.Data.DB4o/DB4oGridData.cs b/OpenGrid.Framework.Data.DB4o/DB4oGridData.cs
new file mode 100644
index 0000000..d15e343
--- /dev/null
+++ b/OpenGrid.Framework.Data.DB4o/DB4oGridData.cs
@@ -0,0 +1,63 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using OpenGrid.Framework.Data;
5using libsecondlife;
6
7
8namespace OpenGrid.Framework.Data.DB4o
9{
10 class DB4oGridData : IGridData
11 {
12 DB4oManager manager;
13
14 public void Initialise() {
15 manager = new DB4oManager("gridserver.yap");
16 }
17
18 public SimProfileData GetProfileByHandle(ulong handle) {
19 lock (manager.profiles)
20 {
21 foreach (LLUUID UUID in manager.profiles.Keys)
22 {
23 if (manager.profiles[UUID].regionHandle == handle)
24 {
25 return manager.profiles[UUID];
26 }
27 }
28 }
29 throw new Exception("Unable to find profile with handle (" + handle.ToString() + ")");
30 }
31
32 public SimProfileData GetProfileByLLUUID(LLUUID uuid)
33 {
34 lock (manager.profiles)
35 {
36 if (manager.profiles.ContainsKey(uuid))
37 return manager.profiles[uuid];
38 }
39 throw new Exception("Unable to find profile with UUID (" + uuid.ToStringHyphenated() + ")");
40 }
41
42 public bool AuthenticateSim(LLUUID uuid, ulong handle, string key) {
43 if (manager.profiles[uuid].regionRecvKey == key)
44 return true;
45 return false;
46 }
47
48 public void Close()
49 {
50 manager = null;
51 }
52
53 public string getName()
54 {
55 return "DB4o Grid Provider";
56 }
57
58 public string getVersion()
59 {
60 return "0.1";
61 }
62 }
63}
diff --git a/OpenGrid.Framework.Data.DB4o/DB4oManager.cs b/OpenGrid.Framework.Data.DB4o/DB4oManager.cs
new file mode 100644
index 0000000..f889636
--- /dev/null
+++ b/OpenGrid.Framework.Data.DB4o/DB4oManager.cs
@@ -0,0 +1,27 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using Db4objects.Db4o;
5using OpenGrid.Framework.Data;
6using libsecondlife;
7
8namespace OpenGrid.Framework.Data.DB4o
9{
10 class DB4oManager
11 {
12 public Dictionary<LLUUID, SimProfileData> profiles = new Dictionary<LLUUID, SimProfileData>();
13
14 public DB4oManager(string db4odb)
15 {
16 IObjectContainer database;
17 database = Db4oFactory.OpenFile(db4odb);
18 IObjectSet result = database.Get(typeof(SimProfileData));
19 foreach(SimProfileData row in result) {
20 profiles.Add(row.UUID, row);
21 }
22 database.Close();
23 }
24
25
26 }
27}
diff --git a/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.csproj b/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.csproj
new file mode 100644
index 0000000..c20b8ec
--- /dev/null
+++ b/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.csproj
@@ -0,0 +1,62 @@
1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2 <PropertyGroup>
3 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
4 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
5 <ProductVersion>8.0.50727</ProductVersion>
6 <SchemaVersion>2.0</SchemaVersion>
7 <ProjectGuid>{2E05D4B8-4D75-4F40-A99C-CD007C35E598}</ProjectGuid>
8 <OutputType>Library</OutputType>
9 <AppDesignerFolder>Properties</AppDesignerFolder>
10 <RootNamespace>OpenGrid.Framework.Data.DB4o</RootNamespace>
11 <AssemblyName>OpenGrid.Framework.Data.DB4o</AssemblyName>
12 </PropertyGroup>
13 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
14 <DebugSymbols>true</DebugSymbols>
15 <DebugType>full</DebugType>
16 <Optimize>false</Optimize>
17 <OutputPath>bin\Debug\</OutputPath>
18 <DefineConstants>DEBUG;TRACE</DefineConstants>
19 <ErrorReport>prompt</ErrorReport>
20 <WarningLevel>4</WarningLevel>
21 </PropertyGroup>
22 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
23 <DebugType>pdbonly</DebugType>
24 <Optimize>true</Optimize>
25 <OutputPath>bin\Release\</OutputPath>
26 <DefineConstants>TRACE</DefineConstants>
27 <ErrorReport>prompt</ErrorReport>
28 <WarningLevel>4</WarningLevel>
29 </PropertyGroup>
30 <ItemGroup>
31 <Reference Include="Db4objects.Db4o, Version=6.0.1.0, Culture=neutral, PublicKeyToken=6199cd4f203aa8eb, processorArchitecture=MSIL">
32 <SpecificVersion>False</SpecificVersion>
33 <HintPath>..\bin\Db4objects.Db4o.dll</HintPath>
34 </Reference>
35 <Reference Include="libsecondlife, Version=0.9.0.0, Culture=neutral, processorArchitecture=MSIL">
36 <SpecificVersion>False</SpecificVersion>
37 <HintPath>..\bin\libsecondlife.dll</HintPath>
38 </Reference>
39 <Reference Include="System" />
40 <Reference Include="System.Data" />
41 <Reference Include="System.Xml" />
42 </ItemGroup>
43 <ItemGroup>
44 <Compile Include="DB4oGridData.cs" />
45 <Compile Include="DB4oManager.cs" />
46 <Compile Include="Properties\AssemblyInfo.cs" />
47 </ItemGroup>
48 <ItemGroup>
49 <ProjectReference Include="..\OpenGrid.Framework.Data\OpenGrid.Framework.Data.csproj">
50 <Project>{62CDF671-0000-0000-0000-000000000000}</Project>
51 <Name>OpenGrid.Framework.Data</Name>
52 </ProjectReference>
53 </ItemGroup>
54 <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
55 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
56 Other similar extension points exist, see Microsoft.Common.targets.
57 <Target Name="BeforeBuild">
58 </Target>
59 <Target Name="AfterBuild">
60 </Target>
61 -->
62</Project> \ No newline at end of file
diff --git a/OpenGrid.Framework.Data.DB4o/Properties/AssemblyInfo.cs b/OpenGrid.Framework.Data.DB4o/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..dc4a9a1
--- /dev/null
+++ b/OpenGrid.Framework.Data.DB4o/Properties/AssemblyInfo.cs
@@ -0,0 +1,35 @@
1using System.Reflection;
2using System.Runtime.CompilerServices;
3using System.Runtime.InteropServices;
4
5// General Information about an assembly is controlled through the following
6// set of attributes. Change these attribute values to modify the information
7// associated with an assembly.
8[assembly: AssemblyTitle("OpenGrid.Framework.Data.DB4o")]
9[assembly: AssemblyDescription("")]
10[assembly: AssemblyConfiguration("")]
11[assembly: AssemblyCompany("")]
12[assembly: AssemblyProduct("OpenGrid.Framework.Data.DB4o")]
13[assembly: AssemblyCopyright("Copyright © 2007")]
14[assembly: AssemblyTrademark("")]
15[assembly: AssemblyCulture("")]
16
17// Setting ComVisible to false makes the types in this assembly not visible
18// to COM components. If you need to access a type in this assembly from
19// COM, set the ComVisible attribute to true on that type.
20[assembly: ComVisible(false)]
21
22// The following GUID is for the ID of the typelib if this project is exposed to COM
23[assembly: Guid("57991e15-79da-41b7-aa06-2e6b49165a63")]
24
25// Version information for an assembly consists of the following four values:
26//
27// Major Version
28// Minor Version
29// Build Number
30// Revision
31//
32// You can specify all the values or you can default the Revision and Build Numbers
33// by using the '*' as shown below:
34[assembly: AssemblyVersion("1.0.0.0")]
35[assembly: AssemblyFileVersion("1.0.0.0")]