diff --git a/ExportBot/ClientManager.cs b/ExportBot/ClientManager.cs
index 0e431427f8..65c01ee007 100644
--- a/ExportBot/ClientManager.cs
+++ b/ExportBot/ClientManager.cs
@@ -70,6 +70,18 @@ namespace libsecondlife.TestClient
Login(account);
}
}
+
+ public string ExportAvatarRestMethod( string request, string path, string param )
+ {
+ Console.WriteLine("Got a request to export an avatar!");
+ Console.WriteLine("Executing cloneprofile " + param);
+ DoCommandAll("cloneprofile " + param, null, null);
+ DoCommandAll("say copied avatar, preparing to upload to remote server...", null, null);
+ return "OK";
+
+ }
+
+
///
///
///
diff --git a/ExportBot/Commands/CloneProfileCommand.cs b/ExportBot/Commands/CloneProfileCommand.cs
index d7fb5fcd30..d608318ec2 100644
--- a/ExportBot/Commands/CloneProfileCommand.cs
+++ b/ExportBot/Commands/CloneProfileCommand.cs
@@ -10,6 +10,7 @@ namespace libsecondlife.TestClient
{
Avatar.AvatarProperties Properties;
Avatar.Interests Interests;
+ private Dictionary Avatars = new Dictionary();
List Groups = new List();
bool ReceivedProperties = false;
bool ReceivedInterests = false;
@@ -23,12 +24,22 @@ namespace libsecondlife.TestClient
testClient.Avatars.OnAvatarGroups += new AvatarManager.AvatarGroupsCallback(Avatars_OnAvatarGroups);
testClient.Self.OnJoinGroup += new MainAvatar.JoinGroupCallback(Self_OnJoinGroup);
+ testClient.Self.Objects.OnNewAvatar += new ObjectManager.NewAvatarCallback(AvatarSeen);
+
Name = "cloneprofile";
Description = "Clones another avatars profile as closely as possible. WARNING: This command will " +
"destroy your existing profile! Usage: cloneprofile [targetuuid]";
}
- public override string Execute(string[] args, LLUUID fromAgentID)
+ void AvatarSeen(Simulator simulator, Avatar avatar, ulong regionHandle, ushort timeDilation)
+ {
+ lock (Avatars)
+ {
+ Avatars.Add(avatar.UUID,avatar.LocalID);
+ }
+ }
+
+ public override string Execute(string[] args, LLUUID fromAgentID)
{
if (args.Length != 1)
return Description;
@@ -58,20 +69,8 @@ namespace libsecondlife.TestClient
if (!ReceivedInterests || !ReceivedProperties || !ReceivedGroups)
return "Failed to retrieve a complete profile for that UUID";
- // Synchronize our profile
- Client.Self.ProfileInterests = Interests;
- Client.Self.ProfileProperties = Properties;
Client.Self.SetAvatarInformation();
- // TODO: Leave all the groups we're currently a member of? This could
- // break TestClient connectivity that might be relying on group authentication
-
- // Attempt to join all the groups
- foreach (LLUUID groupID in Groups)
- {
- Client.Self.RequestJoinGroup(groupID);
- }
-
return "Synchronized our profile to the profile of " + targetID.ToStringHyphenated();
}
diff --git a/ExportBot/Commands/Communication/TtsCommand.cs b/ExportBot/Commands/Communication/TtsCommand.cs
deleted file mode 100644
index e8bd1227f0..0000000000
--- a/ExportBot/Commands/Communication/TtsCommand.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Speech.Synthesis;
-using libsecondlife;
-using libsecondlife.Packets;
-using libsecondlife.AssetSystem;
-
-
-// Since this requires .Net 3.0 I've left it out of the project by default.
-// To use this: include it in the project and add a reference to the System.Speech.dll
-
-namespace libsecondlife.TestClient
-{
- public class TtsCommand : Command
- {
- SpeechSynthesizer _speechSynthesizer;
-
- public TtsCommand(TestClient testClient)
- {
- Name = "tts";
- Description = "Text To Speech. When activated, client will echo all recieved chat messages out thru the computer's speakers.";
- }
-
- public override string Execute(string[] args, LLUUID fromAgentID)
- {
- if (!Active)
- {
- if (_speechSynthesizer == null)
- _speechSynthesizer = new SpeechSynthesizer();
- Active = true;
- Client.Self.OnChat += new MainAvatar.ChatCallback(Self_OnChat);
- return "TTS is now on.";
- }
- else
- {
- Active = false;
- Client.Self.OnChat -= new MainAvatar.ChatCallback(Self_OnChat);
- return "TTS is now off.";
- }
- }
-
- void Self_OnChat(string message, byte audible, byte type, byte sourcetype, string fromName, LLUUID id, LLUUID ownerid, LLVector3 position)
- {
- if (message.Length > 0)
- {
- _speechSynthesizer.SpeakAsync(message);
- }
- }
- }
-}
\ No newline at end of file
diff --git a/ExportBot/ExportBot.build b/ExportBot/ExportBot.build
new file mode 100644
index 0000000000..033a14924d
--- /dev/null
+++ b/ExportBot/ExportBot.build
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExportBot/ExportBot.exe.build b/ExportBot/ExportBot.exe.build
new file mode 100644
index 0000000000..9181aa4495
--- /dev/null
+++ b/ExportBot/ExportBot.exe.build
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ExportBot/Program.cs b/ExportBot/Program.cs
index 705cf90b1a..8855be1e37 100644
--- a/ExportBot/Program.cs
+++ b/ExportBot/Program.cs
@@ -1,21 +1,28 @@
using System;
using System.Collections.Generic;
using System.IO;
+using System.Threading;
using CommandLine.Utility;
+using OpenSim.Framework;
+using OpenSim.Framework.Console;
+using OpenSim.Servers;
namespace libsecondlife.TestClient
{
- public class Program
+ public class Program : conscmd_callback
{
private static void Usage()
{
- Console.WriteLine("Usage: " + Environment.NewLine +
- "TestClient.exe --first firstname --last lastname --pass password --contact \"youremail\" [--startpos \"sim/x/y/z\"] [--master \"master name\"] [--masterkey \"master uuid\"]" +
- Environment.NewLine + "TestClient.exe --file filename --contact \"youremail\" [--master \"master name\"] [--masterkey \"master uuid\"]");
}
+ public void RunCmd(string cmd, string[] cmdparams) {}
+ public void Show(string ShowWhat) {}
+
static void Main(string[] args)
{
+ ConsoleBase m_console = new ConsoleBase("exportbot-console.log", "ExportBot", new Program() , false);
+ MainConsole.Instance = m_console;
+
Arguments arguments = new Arguments(args);
ClientManager manager;
@@ -115,13 +122,20 @@ namespace libsecondlife.TestClient
}
// Login the accounts and run the input loop
- if ( arguments["start"] != null ) {
+ manager = new ClientManager(accounts, contact, "Theta/16/229/25");
+/* if ( arguments["start"] != null ) {
manager = new ClientManager(accounts, contact, arguments["start"]);
} else {
manager = new ClientManager(accounts, contact);
- }
+ }*/
+
+ Console.WriteLine("Starting the HTTP listener");
+ BaseHttpServer httpServer = new BaseHttpServer(12035);
+ httpServer.AddRestHandler("GET", "/exportaccount/", manager.ExportAvatarRestMethod);
+ httpServer.Start();
+
manager.Run();
-
+
}
}
}
diff --git a/ExportBot/TestClient.cs b/ExportBot/TestClient.cs
index cf8783e098..f939aa0f7a 100644
--- a/ExportBot/TestClient.cs
+++ b/ExportBot/TestClient.cs
@@ -18,12 +18,12 @@ namespace libsecondlife.TestClient
public LLUUID GroupID = LLUUID.Zero;
public Dictionary GroupMembers;
public Dictionary AvatarList = new Dictionary();
- public Dictionary Appearances = new Dictionary();
- public Dictionary Commands = new Dictionary();
- public bool Running = true;
+ public Dictionary Appearances = new Dictionary();
+ public Dictionary Commands = new Dictionary();
+ public bool Running = true;
public string MasterName = String.Empty;
public LLUUID MasterKey = LLUUID.Zero;
- public ClientManager ClientManager;
+ public ClientManager ClientManager;
public int regionX;
public int regionY;
@@ -41,7 +41,7 @@ namespace libsecondlife.TestClient
///
public TestClient(ClientManager manager)
{
- ClientManager = manager;
+ ClientManager = manager;
updateTimer = new System.Timers.Timer(1000);
updateTimer.Elapsed += new System.Timers.ElapsedEventHandler(updateTimer_Elapsed);
@@ -57,7 +57,7 @@ namespace libsecondlife.TestClient
Objects.OnNewPrim += new ObjectManager.NewPrimCallback(Objects_OnNewPrim);
Objects.OnObjectUpdated += new ObjectManager.ObjectUpdatedCallback(Objects_OnObjectUpdated);
Objects.OnObjectKilled += new ObjectManager.KillObjectCallback(Objects_OnObjectKilled);
- Objects.OnNewAvatar += new ObjectManager.NewAvatarCallback(Objects_OnNewAvatar);
+ Objects.OnNewAvatar += new ObjectManager.NewAvatarCallback(Objects_OnNewAvatar);
Self.OnInstantMessage += new MainAvatar.InstantMessageCallback(Self_OnInstantMessage);
Groups.OnGroupMembers += new GroupManager.GroupMembersCallback(GroupMembersHandler);
this.OnLogMessage += new LogCallback(TestClient_OnLogMessage);
diff --git a/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.dll.build b/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.dll.build
new file mode 100644
index 0000000000..f6ee64225f
--- /dev/null
+++ b/OpenGrid.Framework.Data.DB4o/OpenGrid.Framework.Data.DB4o.dll.build
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.dll.build b/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.dll.build
new file mode 100644
index 0000000000..3b5c9d3e82
--- /dev/null
+++ b/OpenGrid.Framework.Data.MSSQL/OpenGrid.Framework.Data.MSSQL.dll.build
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.dll.build b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.dll.build
new file mode 100644
index 0000000000..947cd215ad
--- /dev/null
+++ b/OpenGrid.Framework.Data.MySQL/OpenGrid.Framework.Data.MySQL.dll.build
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenGrid.Framework.Data.SQLite/OpenGrid.Framework.Data.SQLite.dll.build b/OpenGrid.Framework.Data.SQLite/OpenGrid.Framework.Data.SQLite.dll.build
new file mode 100644
index 0000000000..786bb46142
--- /dev/null
+++ b/OpenGrid.Framework.Data.SQLite/OpenGrid.Framework.Data.SQLite.dll.build
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenGrid.Framework.Data/OpenGrid.Framework.Data.dll.build b/OpenGrid.Framework.Data/OpenGrid.Framework.Data.dll.build
new file mode 100644
index 0000000000..b47b22b351
--- /dev/null
+++ b/OpenGrid.Framework.Data/OpenGrid.Framework.Data.dll.build
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/libsecondlife.dll b/bin/libsecondlife.dll
index 530fbd0aa9..efdf85bede 100644
Binary files a/bin/libsecondlife.dll and b/bin/libsecondlife.dll differ
diff --git a/prebuild.xml b/prebuild.xml
index 6dfed939a8..63be23eee1 100644
--- a/prebuild.xml
+++ b/prebuild.xml
@@ -121,8 +121,8 @@
-
-
+
+
@@ -198,7 +198,7 @@
-
+
@@ -734,9 +734,70 @@
+
+
+
+
+ TRACE;DEBUG
+ false
+ false
+ false
+ 4
+ false
+
+ bin
+ true
+ true
+ false
+
+
+
+
+ TRACE
+ true
+ false
+ false
+ 4
+ false
+
+ bin
+ false
+ true
+ false
+
+
+
-
-
+
+
+
+ ../bin/
+
+
+
+
+ ../bin/
+
+
+
+ ../bin/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+