aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Common/OpenSim.Framework
diff options
context:
space:
mode:
authormingchen2007-06-04 14:09:19 +0000
committermingchen2007-06-04 14:09:19 +0000
commit17421593528f4126256dea6d0c844da9c218fdb7 (patch)
tree69025fb439a08c24787a226b708f7b271610c548 /Common/OpenSim.Framework
parentSmall bugfix. (diff)
downloadopensim-SC_OLD-17421593528f4126256dea6d0c844da9c218fdb7.zip
opensim-SC_OLD-17421593528f4126256dea6d0c844da9c218fdb7.tar.gz
opensim-SC_OLD-17421593528f4126256dea6d0c844da9c218fdb7.tar.bz2
opensim-SC_OLD-17421593528f4126256dea6d0c844da9c218fdb7.tar.xz
Parcel Manager Changes:
*Added Parcel Backup Support for DB4. Other storages currently do not save *Added parcelIDList in ParcelManager to speed up parcel fetching at position *Added ParcelData.cs and ParcelData class for better storage support *Documentation for parcel added *2 Parcel Related bug fixes
Diffstat (limited to 'Common/OpenSim.Framework')
-rw-r--r--Common/OpenSim.Framework/Interfaces/ILocalStorage.cs13
-rw-r--r--Common/OpenSim.Framework/OpenSim.Framework.csproj36
-rw-r--r--Common/OpenSim.Framework/Types/ParcelData.cs33
3 files changed, 67 insertions, 15 deletions
diff --git a/Common/OpenSim.Framework/Interfaces/ILocalStorage.cs b/Common/OpenSim.Framework/Interfaces/ILocalStorage.cs
index 4dd8868..9fa3a00 100644
--- a/Common/OpenSim.Framework/Interfaces/ILocalStorage.cs
+++ b/Common/OpenSim.Framework/Interfaces/ILocalStorage.cs
@@ -37,11 +37,17 @@ namespace OpenSim.Framework.Interfaces
37 public interface ILocalStorage 37 public interface ILocalStorage
38 { 38 {
39 void Initialise(string datastore); 39 void Initialise(string datastore);
40
40 void StorePrim(PrimData prim); 41 void StorePrim(PrimData prim);
41 void RemovePrim(LLUUID primID); 42 void RemovePrim(LLUUID primID);
42 void LoadPrimitives(ILocalStorageReceiver receiver); 43 void LoadPrimitives(ILocalStorageReceiver receiver);
44
43 float[] LoadWorld(); 45 float[] LoadWorld();
44 void SaveMap(float[] heightmap); 46 void SaveMap(float[] heightmap);
47
48 void SaveParcels(ParcelData[] parcels);
49 void LoadParcels(ILocalStorageParcelReceiver recv);
50
45 void ShutDown(); 51 void ShutDown();
46 } 52 }
47 53
@@ -49,6 +55,11 @@ namespace OpenSim.Framework.Interfaces
49 { 55 {
50 void PrimFromStorage(PrimData prim); 56 void PrimFromStorage(PrimData prim);
51 } 57 }
52 58
59 public interface ILocalStorageParcelReceiver
60 {
61 void ParcelFromStorage(ParcelData data);
62 void NoParcelDataFromStorage();
63 }
53} 64}
54 65
diff --git a/Common/OpenSim.Framework/OpenSim.Framework.csproj b/Common/OpenSim.Framework/OpenSim.Framework.csproj
index f58a2d7..38245f7 100644
--- a/Common/OpenSim.Framework/OpenSim.Framework.csproj
+++ b/Common/OpenSim.Framework/OpenSim.Framework.csproj
@@ -1,4 +1,4 @@
1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 1<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2 <PropertyGroup> 2 <PropertyGroup>
3 <ProjectType>Local</ProjectType> 3 <ProjectType>Local</ProjectType>
4 <ProductVersion>8.0.50727</ProductVersion> 4 <ProductVersion>8.0.50727</ProductVersion>
@@ -6,7 +6,8 @@
6 <ProjectGuid>{8ACA2445-0000-0000-0000-000000000000}</ProjectGuid> 6 <ProjectGuid>{8ACA2445-0000-0000-0000-000000000000}</ProjectGuid>
7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> 7 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> 8 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
9 <ApplicationIcon></ApplicationIcon> 9 <ApplicationIcon>
10 </ApplicationIcon>
10 <AssemblyKeyContainerName> 11 <AssemblyKeyContainerName>
11 </AssemblyKeyContainerName> 12 </AssemblyKeyContainerName>
12 <AssemblyName>OpenSim.Framework</AssemblyName> 13 <AssemblyName>OpenSim.Framework</AssemblyName>
@@ -15,9 +16,11 @@
15 <DefaultTargetSchema>IE50</DefaultTargetSchema> 16 <DefaultTargetSchema>IE50</DefaultTargetSchema>
16 <DelaySign>false</DelaySign> 17 <DelaySign>false</DelaySign>
17 <OutputType>Library</OutputType> 18 <OutputType>Library</OutputType>
18 <AppDesignerFolder></AppDesignerFolder> 19 <AppDesignerFolder>
20 </AppDesignerFolder>
19 <RootNamespace>OpenSim.Framework</RootNamespace> 21 <RootNamespace>OpenSim.Framework</RootNamespace>
20 <StartupObject></StartupObject> 22 <StartupObject>
23 </StartupObject>
21 <FileUpgradeFlags> 24 <FileUpgradeFlags>
22 </FileUpgradeFlags> 25 </FileUpgradeFlags>
23 </PropertyGroup> 26 </PropertyGroup>
@@ -28,7 +31,8 @@
28 <ConfigurationOverrideFile> 31 <ConfigurationOverrideFile>
29 </ConfigurationOverrideFile> 32 </ConfigurationOverrideFile>
30 <DefineConstants>TRACE;DEBUG</DefineConstants> 33 <DefineConstants>TRACE;DEBUG</DefineConstants>
31 <DocumentationFile></DocumentationFile> 34 <DocumentationFile>
35 </DocumentationFile>
32 <DebugSymbols>True</DebugSymbols> 36 <DebugSymbols>True</DebugSymbols>
33 <FileAlignment>4096</FileAlignment> 37 <FileAlignment>4096</FileAlignment>
34 <Optimize>False</Optimize> 38 <Optimize>False</Optimize>
@@ -37,7 +41,8 @@
37 <RemoveIntegerChecks>False</RemoveIntegerChecks> 41 <RemoveIntegerChecks>False</RemoveIntegerChecks>
38 <TreatWarningsAsErrors>False</TreatWarningsAsErrors> 42 <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
39 <WarningLevel>4</WarningLevel> 43 <WarningLevel>4</WarningLevel>
40 <NoWarn></NoWarn> 44 <NoWarn>
45 </NoWarn>
41 </PropertyGroup> 46 </PropertyGroup>
42 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 47 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
43 <AllowUnsafeBlocks>False</AllowUnsafeBlocks> 48 <AllowUnsafeBlocks>False</AllowUnsafeBlocks>
@@ -46,7 +51,8 @@
46 <ConfigurationOverrideFile> 51 <ConfigurationOverrideFile>
47 </ConfigurationOverrideFile> 52 </ConfigurationOverrideFile>
48 <DefineConstants>TRACE</DefineConstants> 53 <DefineConstants>TRACE</DefineConstants>
49 <DocumentationFile></DocumentationFile> 54 <DocumentationFile>
55 </DocumentationFile>
50 <DebugSymbols>False</DebugSymbols> 56 <DebugSymbols>False</DebugSymbols>
51 <FileAlignment>4096</FileAlignment> 57 <FileAlignment>4096</FileAlignment>
52 <Optimize>True</Optimize> 58 <Optimize>True</Optimize>
@@ -55,22 +61,23 @@
55 <RemoveIntegerChecks>False</RemoveIntegerChecks> 61 <RemoveIntegerChecks>False</RemoveIntegerChecks>
56 <TreatWarningsAsErrors>False</TreatWarningsAsErrors> 62 <TreatWarningsAsErrors>False</TreatWarningsAsErrors>
57 <WarningLevel>4</WarningLevel> 63 <WarningLevel>4</WarningLevel>
58 <NoWarn></NoWarn> 64 <NoWarn>
65 </NoWarn>
59 </PropertyGroup> 66 </PropertyGroup>
60 <ItemGroup> 67 <ItemGroup>
61 <Reference Include="System" > 68 <Reference Include="System">
62 <HintPath>System.dll</HintPath> 69 <HintPath>System.dll</HintPath>
63 <Private>False</Private> 70 <Private>False</Private>
64 </Reference> 71 </Reference>
65 <Reference Include="System.Xml" > 72 <Reference Include="System.Xml">
66 <HintPath>System.Xml.dll</HintPath> 73 <HintPath>System.Xml.dll</HintPath>
67 <Private>False</Private> 74 <Private>False</Private>
68 </Reference> 75 </Reference>
69 <Reference Include="libsecondlife.dll" > 76 <Reference Include="libsecondlife.dll">
70 <HintPath>..\..\bin\libsecondlife.dll</HintPath> 77 <HintPath>..\..\bin\libsecondlife.dll</HintPath>
71 <Private>False</Private> 78 <Private>False</Private>
72 </Reference> 79 </Reference>
73 <Reference Include="Db4objects.Db4o.dll" > 80 <Reference Include="Db4objects.Db4o.dll">
74 <HintPath>..\..\bin\Db4objects.Db4o.dll</HintPath> 81 <HintPath>..\..\bin\Db4objects.Db4o.dll</HintPath>
75 <Private>False</Private> 82 <Private>False</Private>
76 </Reference> 83 </Reference>
@@ -80,7 +87,7 @@
80 <Name>XMLRPC</Name> 87 <Name>XMLRPC</Name>
81 <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> 88 <Project>{8E81D43C-0000-0000-0000-000000000000}</Project>
82 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> 89 <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
83 <Private>False</Private> 90 <Private>False</Private>
84 </ProjectReference> 91 </ProjectReference>
85 </ItemGroup> 92 </ItemGroup>
86 <ItemGroup> 93 <ItemGroup>
@@ -105,6 +112,7 @@
105 <Compile Include="SimProfileBase.cs"> 112 <Compile Include="SimProfileBase.cs">
106 <SubType>Code</SubType> 113 <SubType>Code</SubType>
107 </Compile> 114 </Compile>
115 <Compile Include="Types\ParcelData.cs" />
108 <Compile Include="UserProfile.cs"> 116 <Compile Include="UserProfile.cs">
109 <SubType>Code</SubType> 117 <SubType>Code</SubType>
110 </Compile> 118 </Compile>
@@ -191,4 +199,4 @@
191 <PostBuildEvent> 199 <PostBuildEvent>
192 </PostBuildEvent> 200 </PostBuildEvent>
193 </PropertyGroup> 201 </PropertyGroup>
194</Project> 202</Project> \ No newline at end of file
diff --git a/Common/OpenSim.Framework/Types/ParcelData.cs b/Common/OpenSim.Framework/Types/ParcelData.cs
new file mode 100644
index 0000000..b16926e
--- /dev/null
+++ b/Common/OpenSim.Framework/Types/ParcelData.cs
@@ -0,0 +1,33 @@
1using System;
2using System.Collections.Generic;
3using System.Text;
4using libsecondlife;
5
6namespace OpenSim.Framework.Types
7{
8
9 public class ParcelData
10 {
11 public byte[] parcelBitmapByteArray = new byte[512];
12 public string parcelName = "";
13 public string parcelDesc = "";
14 public LLUUID ownerID = new LLUUID();
15 public bool isGroupOwned = false;
16 public LLVector3 AABBMin = new LLVector3();
17 public LLVector3 AABBMax = new LLVector3();
18 public int area = 0;
19 public uint auctionID = 0; //Unemplemented. If set to 0, not being auctioned
20 public LLUUID authBuyerID = new LLUUID(); //Unemplemented. Authorized Buyer's UUID
21 public libsecondlife.Parcel.ParcelCategory category = new libsecondlife.Parcel.ParcelCategory(); //Unemplemented. Parcel's chosen category
22 public int claimDate = 0; //Unemplemented
23 public int claimPrice = 0; //Unemplemented
24 public LLUUID groupID = new LLUUID(); //Unemplemented
25 public int groupPrims = 0; //Unemplemented
26 public int salePrice = 0; //Unemeplemented. Parcels price.
27 public libsecondlife.Parcel.ParcelStatus parcelStatus = libsecondlife.Parcel.ParcelStatus.None;
28 public libsecondlife.Parcel.ParcelFlags parcelFlags = libsecondlife.Parcel.ParcelFlags.None;
29
30 public int localID = 0;
31 }
32
33}