diff options
-rw-r--r-- | OpenGrid.Framework.Data.DB4o/DB4oUserData.cs | 19 | ||||
-rw-r--r-- | OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.csproj | 35 | ||||
-rw-r--r-- | OpenGrid.Framework.Data.MySQL/MySQLUserData.cs | 68 | ||||
-rw-r--r-- | OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj | 38 | ||||
-rw-r--r-- | OpenGrid.Framework.Data/UserData.cs | 73 | ||||
-rw-r--r-- | OpenGrid.Framework.Data/UserProfileData.cs | 1 | ||||
-rw-r--r-- | OpenGridServices.GridServer/GridManager.cs | 7 | ||||
-rw-r--r-- | OpenGridServices.UserServer/Main.cs | 6 | ||||
-rw-r--r-- | OpenGridServices.UserServer/OpenGridServices.UserServer.csproj | 48 | ||||
-rw-r--r-- | OpenGridServices.UserServer/UserManager.cs | 102 | ||||
-rw-r--r-- | OpenSim.Framework/UserProfileManager.cs | 6 | ||||
-rw-r--r-- | prebuild.xml | 5 |
12 files changed, 349 insertions, 59 deletions
diff --git a/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs b/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs index c21d7e2..7dd4c51 100644 --- a/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs +++ b/OpenGrid.Framework.Data.DB4o/DB4oUserData.cs | |||
@@ -8,7 +8,12 @@ namespace OpenGrid.Framework.Data.DB4o | |||
8 | { | 8 | { |
9 | public class DB4oUserData : IUserData | 9 | public class DB4oUserData : IUserData |
10 | { | 10 | { |
11 | DB4oUserManager manager = new DB4oUserManager("userprofiles.yap"); | 11 | DB4oUserManager manager; |
12 | |||
13 | public void Initialise() | ||
14 | { | ||
15 | manager = new DB4oUserManager("userprofiles.yap"); | ||
16 | } | ||
12 | 17 | ||
13 | public UserProfileData getUserByUUID(LLUUID uuid) | 18 | public UserProfileData getUserByUUID(LLUUID uuid) |
14 | { | 19 | { |
@@ -33,7 +38,7 @@ namespace OpenGrid.Framework.Data.DB4o | |||
33 | } | 38 | } |
34 | 39 | ||
35 | public UserAgentData getAgentByUUID(LLUUID uuid) | 40 | public UserAgentData getAgentByUUID(LLUUID uuid) |
36 | { | 41 | { |
37 | try | 42 | try |
38 | { | 43 | { |
39 | return getUserByUUID(uuid).currentAgent; | 44 | return getUserByUUID(uuid).currentAgent; |
@@ -71,5 +76,15 @@ namespace OpenGrid.Framework.Data.DB4o | |||
71 | return true; | 76 | return true; |
72 | } | 77 | } |
73 | 78 | ||
79 | |||
80 | public string getName() | ||
81 | { | ||
82 | return "DB4o Userdata"; | ||
83 | } | ||
84 | |||
85 | public string getVersion() | ||
86 | { | ||
87 | return "0.1"; | ||
88 | } | ||
74 | } | 89 | } |
75 | } | 90 | } |
diff --git a/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.csproj b/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.csproj index efb6a32..e6d4b49 100644 --- a/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.csproj +++ b/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.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>{0A563AC1-0000-0000-0000-000000000000}</ProjectGuid> | 6 | <ProjectGuid>{0A563AC1-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>OpenGrid.Framework.Data.MSSQL</AssemblyName> | 13 | <AssemblyName>OpenGrid.Framework.Data.MSSQL</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>OpenGrid.Framework.Data.MSSQL</RootNamespace> | 21 | <RootNamespace>OpenGrid.Framework.Data.MSSQL</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="System.Data" > | 76 | <Reference Include="System.Data"> |
70 | <HintPath>System.Data.dll</HintPath> | 77 | <HintPath>System.Data.dll</HintPath> |
71 | <Private>False</Private> | 78 | <Private>False</Private> |
72 | </Reference> | 79 | </Reference> |
73 | <Reference Include="libsecondlife.dll" > | 80 | <Reference Include="libsecondlife.dll"> |
74 | <HintPath>..\bin\libsecondlife.dll</HintPath> | 81 | <HintPath>..\bin\libsecondlife.dll</HintPath> |
75 | <Private>False</Private> | 82 | <Private>False</Private> |
76 | </Reference> | 83 | </Reference> |
@@ -80,7 +87,7 @@ | |||
80 | <Name>OpenGrid.Framework.Data</Name> | 87 | <Name>OpenGrid.Framework.Data</Name> |
81 | <Project>{62CDF671-0000-0000-0000-000000000000}</Project> | 88 | <Project>{62CDF671-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> |
@@ -101,4 +108,4 @@ | |||
101 | <PostBuildEvent> | 108 | <PostBuildEvent> |
102 | </PostBuildEvent> | 109 | </PostBuildEvent> |
103 | </PropertyGroup> | 110 | </PropertyGroup> |
104 | </Project> | 111 | </Project> \ No newline at end of file |
diff --git a/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs b/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs new file mode 100644 index 0000000..4f35a59 --- /dev/null +++ b/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs | |||
@@ -0,0 +1,68 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using OpenGrid.Framework.Data; | ||
5 | using libsecondlife; | ||
6 | |||
7 | namespace OpenGrid.Framework.Data.MySQL | ||
8 | { | ||
9 | class MySQLUserData : IUserData | ||
10 | { | ||
11 | public MySQLManager manager; | ||
12 | |||
13 | public void Initialise() | ||
14 | { | ||
15 | manager = new MySQLManager("host", "database", "user", "password", "false"); | ||
16 | } | ||
17 | |||
18 | public UserProfileData getUserByName(string name) | ||
19 | { | ||
20 | return getUserByName(name.Split(' ')[0], name.Split(' ')[1]); | ||
21 | } | ||
22 | |||
23 | public UserProfileData getUserByName(string user, string last) | ||
24 | { | ||
25 | return new UserProfileData(); | ||
26 | } | ||
27 | |||
28 | public UserProfileData getUserByUUID(LLUUID uuid) | ||
29 | { | ||
30 | return new UserProfileData(); | ||
31 | } | ||
32 | |||
33 | public UserAgentData getAgentByName(string name) | ||
34 | { | ||
35 | return getAgentByName(name.Split(' ')[0], name.Split(' ')[1]); | ||
36 | } | ||
37 | |||
38 | public UserAgentData getAgentByName(string user, string last) | ||
39 | { | ||
40 | return new UserAgentData(); | ||
41 | } | ||
42 | |||
43 | public UserAgentData getAgentByUUID(LLUUID uuid) | ||
44 | { | ||
45 | return new UserAgentData(); | ||
46 | } | ||
47 | |||
48 | public bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount) | ||
49 | { | ||
50 | return false; | ||
51 | } | ||
52 | |||
53 | public bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID item) | ||
54 | { | ||
55 | return false; | ||
56 | } | ||
57 | |||
58 | public string getName() | ||
59 | { | ||
60 | return "MySQL Userdata Interface"; | ||
61 | } | ||
62 | |||
63 | public string getVersion() | ||
64 | { | ||
65 | return "0.1"; | ||
66 | } | ||
67 | } | ||
68 | } | ||
diff --git a/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj index d9ee212..67cdda6 100644 --- a/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.csproj +++ b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.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>{0F3C3AC1-0000-0000-0000-000000000000}</ProjectGuid> | 6 | <ProjectGuid>{0F3C3AC1-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>OpenGrid.Framework.Data.MySQL</AssemblyName> | 13 | <AssemblyName>OpenGrid.Framework.Data.MySQL</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>OpenGrid.Framework.Data.MySQL</RootNamespace> | 21 | <RootNamespace>OpenGrid.Framework.Data.MySQL</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,26 +61,27 @@ | |||
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="System.Data" > | 76 | <Reference Include="System.Data"> |
70 | <HintPath>System.Data.dll</HintPath> | 77 | <HintPath>System.Data.dll</HintPath> |
71 | <Private>False</Private> | 78 | <Private>False</Private> |
72 | </Reference> | 79 | </Reference> |
73 | <Reference Include="libsecondlife.dll" > | 80 | <Reference Include="libsecondlife.dll"> |
74 | <HintPath>..\bin\libsecondlife.dll</HintPath> | 81 | <HintPath>..\bin\libsecondlife.dll</HintPath> |
75 | <Private>False</Private> | 82 | <Private>False</Private> |
76 | </Reference> | 83 | </Reference> |
77 | <Reference Include="MySql.Data.dll" > | 84 | <Reference Include="MySql.Data.dll"> |
78 | <HintPath>..\bin\MySql.Data.dll</HintPath> | 85 | <HintPath>..\bin\MySql.Data.dll</HintPath> |
79 | <Private>False</Private> | 86 | <Private>False</Private> |
80 | </Reference> | 87 | </Reference> |
@@ -84,7 +91,7 @@ | |||
84 | <Name>OpenGrid.Framework.Data</Name> | 91 | <Name>OpenGrid.Framework.Data</Name> |
85 | <Project>{62CDF671-0000-0000-0000-000000000000}</Project> | 92 | <Project>{62CDF671-0000-0000-0000-000000000000}</Project> |
86 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 93 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
87 | <Private>False</Private> | 94 | <Private>False</Private> |
88 | </ProjectReference> | 95 | </ProjectReference> |
89 | </ItemGroup> | 96 | </ItemGroup> |
90 | <ItemGroup> | 97 | <ItemGroup> |
@@ -94,6 +101,7 @@ | |||
94 | <Compile Include="MySQLManager.cs"> | 101 | <Compile Include="MySQLManager.cs"> |
95 | <SubType>Code</SubType> | 102 | <SubType>Code</SubType> |
96 | </Compile> | 103 | </Compile> |
104 | <Compile Include="MySQLUserData.cs" /> | ||
97 | <Compile Include="Properties\AssemblyInfo.cs"> | 105 | <Compile Include="Properties\AssemblyInfo.cs"> |
98 | <SubType>Code</SubType> | 106 | <SubType>Code</SubType> |
99 | </Compile> | 107 | </Compile> |
@@ -105,4 +113,4 @@ | |||
105 | <PostBuildEvent> | 113 | <PostBuildEvent> |
106 | </PostBuildEvent> | 114 | </PostBuildEvent> |
107 | </PropertyGroup> | 115 | </PropertyGroup> |
108 | </Project> | 116 | </Project> \ No newline at end of file |
diff --git a/OpenGrid.Framework.Data/UserData.cs b/OpenGrid.Framework.Data/UserData.cs index 6b4f2ba..1b37957 100644 --- a/OpenGrid.Framework.Data/UserData.cs +++ b/OpenGrid.Framework.Data/UserData.cs | |||
@@ -7,18 +7,83 @@ namespace OpenGrid.Framework.Data | |||
7 | { | 7 | { |
8 | public interface IUserData | 8 | public interface IUserData |
9 | { | 9 | { |
10 | // Retrieval | 10 | /// <summary> |
11 | // User Profiles | 11 | /// Returns a user profile from a database via their UUID |
12 | /// </summary> | ||
13 | /// <param name="user">The accounts UUID</param> | ||
14 | /// <returns>The user data profile</returns> | ||
12 | UserProfileData getUserByUUID(LLUUID user); | 15 | UserProfileData getUserByUUID(LLUUID user); |
16 | |||
17 | /// <summary> | ||
18 | /// Returns a users profile by searching their username | ||
19 | /// </summary> | ||
20 | /// <param name="name">The users username</param> | ||
21 | /// <returns>The user data profile</returns> | ||
13 | UserProfileData getUserByName(string name); | 22 | UserProfileData getUserByName(string name); |
23 | |||
24 | /// <summary> | ||
25 | /// Returns a users profile by searching their username parts | ||
26 | /// </summary> | ||
27 | /// <param name="fname">Account firstname</param> | ||
28 | /// <param name="lname">Account lastname</param> | ||
29 | /// <returns>The user data profile</returns> | ||
14 | UserProfileData getUserByName(string fname, string lname); | 30 | UserProfileData getUserByName(string fname, string lname); |
15 | // User Agents | 31 | |
32 | /// <summary> | ||
33 | /// Returns the current agent for a user searching by it's UUID | ||
34 | /// </summary> | ||
35 | /// <param name="user">The users UUID</param> | ||
36 | /// <returns>The current agent session</returns> | ||
16 | UserAgentData getAgentByUUID(LLUUID user); | 37 | UserAgentData getAgentByUUID(LLUUID user); |
38 | |||
39 | /// <summary> | ||
40 | /// Returns the current session agent for a user searching by username | ||
41 | /// </summary> | ||
42 | /// <param name="name">The users account name</param> | ||
43 | /// <returns>The current agent session</returns> | ||
17 | UserAgentData getAgentByName(string name); | 44 | UserAgentData getAgentByName(string name); |
45 | |||
46 | /// <summary> | ||
47 | /// Returns the current session agent for a user searching by username parts | ||
48 | /// </summary> | ||
49 | /// <param name="fname">The users first account name</param> | ||
50 | /// <param name="lname">The users account surname</param> | ||
51 | /// <returns>The current agent session</returns> | ||
18 | UserAgentData getAgentByName(string fname, string lname); | 52 | UserAgentData getAgentByName(string fname, string lname); |
19 | 53 | ||
20 | // Transactional | 54 | /// <summary> |
55 | /// Attempts to move currency units between accounts (NOT RELIABLE / TRUSTWORTHY. DONT TRY RUN YOUR OWN CURRENCY EXCHANGE WITH REAL VALUES) | ||
56 | /// </summary> | ||
57 | /// <param name="from">The account to transfer from</param> | ||
58 | /// <param name="to">The account to transfer to</param> | ||
59 | /// <param name="amount">The amount to transfer</param> | ||
60 | /// <returns>Successful?</returns> | ||
21 | bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount); | 61 | bool moneyTransferRequest(LLUUID from, LLUUID to, uint amount); |
62 | |||
63 | /// <summary> | ||
64 | /// Attempts to move inventory between accounts, if inventory is copyable it will be copied into the target account. | ||
65 | /// </summary> | ||
66 | /// <param name="from">User to transfer from</param> | ||
67 | /// <param name="to">User to transfer to</param> | ||
68 | /// <param name="inventory">Specified inventory item</param> | ||
69 | /// <returns>Successful?</returns> | ||
22 | bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); | 70 | bool inventoryTransferRequest(LLUUID from, LLUUID to, LLUUID inventory); |
71 | |||
72 | /// <summary> | ||
73 | /// Returns the plugin version | ||
74 | /// </summary> | ||
75 | /// <returns>Plugin version in MAJOR.MINOR.REVISION.BUILD format</returns> | ||
76 | string getVersion(); | ||
77 | |||
78 | /// <summary> | ||
79 | /// Returns the plugin name | ||
80 | /// </summary> | ||
81 | /// <returns>Plugin name, eg MySQL User Provider</returns> | ||
82 | string getName(); | ||
83 | |||
84 | /// <summary> | ||
85 | /// Initialises the plugin (artificial constructor) | ||
86 | /// </summary> | ||
87 | void Initialise(); | ||
23 | } | 88 | } |
24 | } | 89 | } |
diff --git a/OpenGrid.Framework.Data/UserProfileData.cs b/OpenGrid.Framework.Data/UserProfileData.cs index 8d72c6b..3d8eec4 100644 --- a/OpenGrid.Framework.Data/UserProfileData.cs +++ b/OpenGrid.Framework.Data/UserProfileData.cs | |||
@@ -12,6 +12,7 @@ namespace OpenGrid.Framework.Data | |||
12 | public string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin') | 12 | public string surname; // The users surname (can be used to indicate user class - eg 'Test User' or 'Test Admin') |
13 | 13 | ||
14 | public string passwordHash; // Hash of the users password | 14 | public string passwordHash; // Hash of the users password |
15 | public string passwordSalt; // Salt for the users password | ||
15 | 16 | ||
16 | public ulong homeRegion; // RegionHandle of home | 17 | public ulong homeRegion; // RegionHandle of home |
17 | public LLVector3 homeLocation; // Home Location inside the sim | 18 | public LLVector3 homeLocation; // Home Location inside the sim |
diff --git a/OpenGridServices.GridServer/GridManager.cs b/OpenGridServices.GridServer/GridManager.cs index db864da..1fc7c31 100644 --- a/OpenGridServices.GridServer/GridManager.cs +++ b/OpenGridServices.GridServer/GridManager.cs | |||
@@ -383,6 +383,11 @@ namespace OpenGridServices.GridServer | |||
383 | 383 | ||
384 | TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/"; | 384 | TheSim.serverURI = "http://" + TheSim.serverIP + ":" + TheSim.serverPort + "/"; |
385 | 385 | ||
386 | if (TheSim.serverIP.StartsWith("172.16") || TheSim.serverIP.StartsWith("192.168") || TheSim.serverIP.StartsWith("10.") || TheSim.serverIP.StartsWith("0.") || TheSim.serverIP.StartsWith("255.")) | ||
387 | { | ||
388 | return "ERROR! Servers must register with public addresses."; | ||
389 | } | ||
390 | |||
386 | try | 391 | try |
387 | { | 392 | { |
388 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Attempting to add a new region to the grid - " + _plugins.Count + " storage provider(s) registered."); | 393 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Attempting to add a new region to the grid - " + _plugins.Count + " storage provider(s) registered."); |
@@ -402,7 +407,7 @@ namespace OpenGridServices.GridServer | |||
402 | } | 407 | } |
403 | catch (Exception e) | 408 | catch (Exception e) |
404 | { | 409 | { |
405 | return "ERROR! could not save to database! (" + e.ToString() + ")"; | 410 | return "ERROR! Could not save to database! (" + e.ToString() + ")"; |
406 | } | 411 | } |
407 | 412 | ||
408 | } | 413 | } |
diff --git a/OpenGridServices.UserServer/Main.cs b/OpenGridServices.UserServer/Main.cs index ed7b768..1c6ad8c 100644 --- a/OpenGridServices.UserServer/Main.cs +++ b/OpenGridServices.UserServer/Main.cs | |||
@@ -50,6 +50,8 @@ namespace OpenGridServices.UserServer | |||
50 | private string ConfigDll = "OpenUser.Config.UserConfigDb4o.dll"; | 50 | private string ConfigDll = "OpenUser.Config.UserConfigDb4o.dll"; |
51 | private UserConfig Cfg; | 51 | private UserConfig Cfg; |
52 | 52 | ||
53 | public UserManager m_userManager; // Replaces below. | ||
54 | |||
53 | private UserProfileManager m_userProfileManager; | 55 | private UserProfileManager m_userProfileManager; |
54 | 56 | ||
55 | public Dictionary<LLUUID, UserProfile> UserSessions = new Dictionary<LLUUID, UserProfile>(); | 57 | public Dictionary<LLUUID, UserProfile> UserSessions = new Dictionary<LLUUID, UserProfile>(); |
@@ -62,6 +64,7 @@ namespace OpenGridServices.UserServer | |||
62 | Console.WriteLine("Starting...\n"); | 64 | Console.WriteLine("Starting...\n"); |
63 | 65 | ||
64 | OpenUser_Main userserver = new OpenUser_Main(); | 66 | OpenUser_Main userserver = new OpenUser_Main(); |
67 | |||
65 | userserver.Startup(); | 68 | userserver.Startup(); |
66 | userserver.Work(); | 69 | userserver.Work(); |
67 | } | 70 | } |
@@ -88,6 +91,9 @@ namespace OpenGridServices.UserServer | |||
88 | Cfg = this.LoadConfigDll(this.ConfigDll); | 91 | Cfg = this.LoadConfigDll(this.ConfigDll); |
89 | Cfg.InitConfig(); | 92 | Cfg.InitConfig(); |
90 | 93 | ||
94 | MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Main.cs:Startup() - Establishing data connection"); | ||
95 | m_userManager = new UserManager(); | ||
96 | |||
91 | MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Creating user profile manager"); | 97 | MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Main.cs:Startup() - Creating user profile manager"); |
92 | m_userProfileManager = new UserProfileManager(); | 98 | m_userProfileManager = new UserProfileManager(); |
93 | m_userProfileManager.InitUserProfiles(); | 99 | m_userProfileManager.InitUserProfiles(); |
diff --git a/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj b/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj index 888b62d..75642b3 100644 --- a/OpenGridServices.UserServer/OpenGridServices.UserServer.csproj +++ b/OpenGridServices.UserServer/OpenGridServices.UserServer.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>{66591469-0000-0000-0000-000000000000}</ProjectGuid> | 6 | <ProjectGuid>{66591469-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>OpenGridServices.UserServer</AssemblyName> | 13 | <AssemblyName>OpenGridServices.UserServer</AssemblyName> |
@@ -15,9 +16,11 @@ | |||
15 | <DefaultTargetSchema>IE50</DefaultTargetSchema> | 16 | <DefaultTargetSchema>IE50</DefaultTargetSchema> |
16 | <DelaySign>false</DelaySign> | 17 | <DelaySign>false</DelaySign> |
17 | <OutputType>Exe</OutputType> | 18 | <OutputType>Exe</OutputType> |
18 | <AppDesignerFolder></AppDesignerFolder> | 19 | <AppDesignerFolder> |
20 | </AppDesignerFolder> | ||
19 | <RootNamespace>OpenGridServices.UserServer</RootNamespace> | 21 | <RootNamespace>OpenGridServices.UserServer</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,54 +61,59 @@ | |||
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.Data" > | 72 | <Reference Include="System.Data"> |
66 | <HintPath>System.Data.dll</HintPath> | 73 | <HintPath>System.Data.dll</HintPath> |
67 | <Private>False</Private> | 74 | <Private>False</Private> |
68 | </Reference> | 75 | </Reference> |
69 | <Reference Include="System.Xml" > | 76 | <Reference Include="System.Xml"> |
70 | <HintPath>System.Xml.dll</HintPath> | 77 | <HintPath>System.Xml.dll</HintPath> |
71 | <Private>False</Private> | 78 | <Private>False</Private> |
72 | </Reference> | 79 | </Reference> |
73 | <Reference Include="libsecondlife.dll" > | 80 | <Reference Include="libsecondlife.dll"> |
74 | <HintPath>..\bin\libsecondlife.dll</HintPath> | 81 | <HintPath>..\bin\libsecondlife.dll</HintPath> |
75 | <Private>False</Private> | 82 | <Private>False</Private> |
76 | </Reference> | 83 | </Reference> |
77 | <Reference Include="Db4objects.Db4o.dll" > | 84 | <Reference Include="Db4objects.Db4o.dll"> |
78 | <HintPath>..\bin\Db4objects.Db4o.dll</HintPath> | 85 | <HintPath>..\bin\Db4objects.Db4o.dll</HintPath> |
79 | <Private>False</Private> | 86 | <Private>False</Private> |
80 | </Reference> | 87 | </Reference> |
81 | </ItemGroup> | 88 | </ItemGroup> |
82 | <ItemGroup> | 89 | <ItemGroup> |
90 | <ProjectReference Include="..\OpenGrid.Framework.Data\OpenGrid.Framework.Data.csproj"> | ||
91 | <Project>{62CDF671-0000-0000-0000-000000000000}</Project> | ||
92 | <Name>OpenGrid.Framework.Data</Name> | ||
93 | </ProjectReference> | ||
83 | <ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj"> | 94 | <ProjectReference Include="..\OpenSim.Framework\OpenSim.Framework.csproj"> |
84 | <Name>OpenSim.Framework</Name> | 95 | <Name>OpenSim.Framework</Name> |
85 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> | 96 | <Project>{8ACA2445-0000-0000-0000-000000000000}</Project> |
86 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 97 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
87 | <Private>False</Private> | 98 | <Private>False</Private> |
88 | </ProjectReference> | 99 | </ProjectReference> |
89 | <ProjectReference Include="..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> | 100 | <ProjectReference Include="..\OpenSim.Framework.Console\OpenSim.Framework.Console.csproj"> |
90 | <Name>OpenSim.Framework.Console</Name> | 101 | <Name>OpenSim.Framework.Console</Name> |
91 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> | 102 | <Project>{A7CD0630-0000-0000-0000-000000000000}</Project> |
92 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 103 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
93 | <Private>False</Private> | 104 | <Private>False</Private> |
94 | </ProjectReference> | 105 | </ProjectReference> |
95 | <ProjectReference Include="..\OpenSim.Servers\OpenSim.Servers.csproj"> | 106 | <ProjectReference Include="..\OpenSim.Servers\OpenSim.Servers.csproj"> |
96 | <Name>OpenSim.Servers</Name> | 107 | <Name>OpenSim.Servers</Name> |
97 | <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project> | 108 | <Project>{8BB20F0A-0000-0000-0000-000000000000}</Project> |
98 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 109 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
99 | <Private>False</Private> | 110 | <Private>False</Private> |
100 | </ProjectReference> | 111 | </ProjectReference> |
101 | <ProjectReference Include="..\XmlRpcCS\XMLRPC.csproj"> | 112 | <ProjectReference Include="..\XmlRpcCS\XMLRPC.csproj"> |
102 | <Name>XMLRPC</Name> | 113 | <Name>XMLRPC</Name> |
103 | <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> | 114 | <Project>{8E81D43C-0000-0000-0000-000000000000}</Project> |
104 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> | 115 | <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> |
105 | <Private>False</Private> | 116 | <Private>False</Private> |
106 | </ProjectReference> | 117 | </ProjectReference> |
107 | </ItemGroup> | 118 | </ItemGroup> |
108 | <ItemGroup> | 119 | <ItemGroup> |
@@ -112,6 +123,7 @@ | |||
112 | <Compile Include="Properties\AssemblyInfo.cs"> | 123 | <Compile Include="Properties\AssemblyInfo.cs"> |
113 | <SubType>Code</SubType> | 124 | <SubType>Code</SubType> |
114 | </Compile> | 125 | </Compile> |
126 | <Compile Include="UserManager.cs" /> | ||
115 | </ItemGroup> | 127 | </ItemGroup> |
116 | <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> | 128 | <Import Project="$(MSBuildBinPath)\Microsoft.CSHARP.Targets" /> |
117 | <PropertyGroup> | 129 | <PropertyGroup> |
@@ -120,4 +132,4 @@ | |||
120 | <PostBuildEvent> | 132 | <PostBuildEvent> |
121 | </PostBuildEvent> | 133 | </PostBuildEvent> |
122 | </PropertyGroup> | 134 | </PropertyGroup> |
123 | </Project> | 135 | </Project> \ No newline at end of file |
diff --git a/OpenGridServices.UserServer/UserManager.cs b/OpenGridServices.UserServer/UserManager.cs new file mode 100644 index 0000000..7473685 --- /dev/null +++ b/OpenGridServices.UserServer/UserManager.cs | |||
@@ -0,0 +1,102 @@ | |||
1 | using System; | ||
2 | using System.Collections.Generic; | ||
3 | using System.Text; | ||
4 | using OpenGrid.Framework.Data; | ||
5 | using libsecondlife; | ||
6 | using System.Reflection; | ||
7 | |||
8 | using System.Xml; | ||
9 | using Nwc.XmlRpc; | ||
10 | using OpenSim.Framework.Sims; | ||
11 | using OpenSim.Framework.Inventory; | ||
12 | using OpenSim.Framework.Utilities; | ||
13 | |||
14 | namespace OpenGridServices.UserServer | ||
15 | { | ||
16 | public class UserManager | ||
17 | { | ||
18 | Dictionary<string, IUserData> _plugins = new Dictionary<string, IUserData>(); | ||
19 | |||
20 | /// <summary> | ||
21 | /// Adds a new user server plugin - user servers will be requested in the order they were loaded. | ||
22 | /// </summary> | ||
23 | /// <param name="FileName">The filename to the user server plugin DLL</param> | ||
24 | public void AddPlugin(string FileName) | ||
25 | { | ||
26 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Storage: Attempting to load " + FileName); | ||
27 | Assembly pluginAssembly = Assembly.LoadFrom(FileName); | ||
28 | |||
29 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Storage: Found " + pluginAssembly.GetTypes().Length + " interfaces."); | ||
30 | foreach (Type pluginType in pluginAssembly.GetTypes()) | ||
31 | { | ||
32 | if (!pluginType.IsAbstract) | ||
33 | { | ||
34 | Type typeInterface = pluginType.GetInterface("IUserData", true); | ||
35 | |||
36 | if (typeInterface != null) | ||
37 | { | ||
38 | IUserData plug = (IUserData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString())); | ||
39 | plug.Initialise(); | ||
40 | this._plugins.Add(plug.getName(), plug); | ||
41 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Storage: Added IUserData Interface"); | ||
42 | } | ||
43 | |||
44 | typeInterface = null; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | pluginAssembly = null; | ||
49 | } | ||
50 | |||
51 | public UserProfileData getUserProfile(LLUUID uuid) | ||
52 | { | ||
53 | foreach (KeyValuePair<string, IUserData> plugin in _plugins) | ||
54 | { | ||
55 | try | ||
56 | { | ||
57 | return plugin.Value.getUserByUUID(uuid); | ||
58 | } | ||
59 | catch (Exception e) | ||
60 | { | ||
61 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); | ||
62 | } | ||
63 | } | ||
64 | |||
65 | return null; | ||
66 | } | ||
67 | |||
68 | public UserProfileData getUserProfile(string name) | ||
69 | { | ||
70 | foreach (KeyValuePair<string, IUserData> plugin in _plugins) | ||
71 | { | ||
72 | try | ||
73 | { | ||
74 | return plugin.Value.getUserByName(name); | ||
75 | } | ||
76 | catch (Exception e) | ||
77 | { | ||
78 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); | ||
79 | } | ||
80 | } | ||
81 | |||
82 | return null; | ||
83 | } | ||
84 | |||
85 | public UserProfileData getUserProfile(string fname, string lname) | ||
86 | { | ||
87 | foreach (KeyValuePair<string, IUserData> plugin in _plugins) | ||
88 | { | ||
89 | try | ||
90 | { | ||
91 | return plugin.Value.getUserByName(fname,lname); | ||
92 | } | ||
93 | catch (Exception e) | ||
94 | { | ||
95 | OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Unable to find user via " + plugin.Key + "(" + e.ToString() + ")"); | ||
96 | } | ||
97 | } | ||
98 | |||
99 | return null; | ||
100 | } | ||
101 | } | ||
102 | } | ||
diff --git a/OpenSim.Framework/UserProfileManager.cs b/OpenSim.Framework/UserProfileManager.cs index 5752f8c..18b3513 100644 --- a/OpenSim.Framework/UserProfileManager.cs +++ b/OpenSim.Framework/UserProfileManager.cs | |||
@@ -259,9 +259,9 @@ namespace OpenSim.Framework.User | |||
259 | SimParams["lastname"] = theUser.lastname; | 259 | SimParams["lastname"] = theUser.lastname; |
260 | SimParams["agent_id"] = theUser.UUID.ToString(); | 260 | SimParams["agent_id"] = theUser.UUID.ToString(); |
261 | SimParams["circuit_code"] = (Int32)circode; | 261 | SimParams["circuit_code"] = (Int32)circode; |
262 | SimParams["startpos_x"] = theUser.homepos.X.ToString(); | 262 | SimParams["startpos_x"] = theUser.homepos.X.ToString(); |
263 | SimParams["startpos_y"] = theUser.homepos.Y.ToString(); | 263 | SimParams["startpos_y"] = theUser.homepos.Y.ToString(); |
264 | SimParams["startpos_z"] = theUser.homepos.Z.ToString(); | 264 | SimParams["startpos_z"] = theUser.homepos.Z.ToString(); |
265 | ArrayList SendParams = new ArrayList(); | 265 | ArrayList SendParams = new ArrayList(); |
266 | SendParams.Add(SimParams); | 266 | SendParams.Add(SimParams); |
267 | 267 | ||
diff --git a/prebuild.xml b/prebuild.xml index 009721a..ae19e7a 100644 --- a/prebuild.xml +++ b/prebuild.xml | |||
@@ -494,8 +494,9 @@ | |||
494 | <Reference name="System.Xml" localCopy="false"/> | 494 | <Reference name="System.Xml" localCopy="false"/> |
495 | <Reference name="OpenSim.Framework"/> | 495 | <Reference name="OpenSim.Framework"/> |
496 | <Reference name="OpenSim.Framework.Console"/> | 496 | <Reference name="OpenSim.Framework.Console"/> |
497 | <Reference name="OpenSim.Servers"/> | 497 | <Reference name="OpenGrid.Framework.Data"/> |
498 | <Reference name="libsecondlife.dll"/> | 498 | <Reference name="OpenSim.Servers"/> |
499 | <Reference name="libsecondlife.dll"/> | ||
499 | <Reference name="Db4objects.Db4o.dll"/> | 500 | <Reference name="Db4objects.Db4o.dll"/> |
500 | <Reference name="XMLRPC"/> | 501 | <Reference name="XMLRPC"/> |
501 | 502 | ||