aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Examples/SimpleApp
diff options
context:
space:
mode:
authorlbsa712007-07-04 16:28:59 +0000
committerlbsa712007-07-04 16:28:59 +0000
commit5c32b33a66fbdf371d53d85ee54ee8e837481570 (patch)
tree68121d2b62aa34e2f8e627823314460a19fe06f8 /OpenSim/Region/Examples/SimpleApp
parent* Removed AssetHttpServer, using BaseHttpServer instead (diff)
downloadopensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.zip
opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.gz
opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.bz2
opensim-SC-5c32b33a66fbdf371d53d85ee54ee8e837481570.tar.xz
* re-fixed the utf-16 bug in xmlRpcResponse serialization
* added LLSDStreamHandler.cs to Caps (Haven't enabled it yet, though) * removed last traces of old rest handling
Diffstat (limited to 'OpenSim/Region/Examples/SimpleApp')
-rw-r--r--OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs35
-rw-r--r--OpenSim/Region/Examples/SimpleApp/Program.cs23
2 files changed, 2 insertions, 56 deletions
diff --git a/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs b/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs
index f946482..d0ef2af 100644
--- a/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs
+++ b/OpenSim/Region/Examples/SimpleApp/LlsdMethodEntry.cs
@@ -2,40 +2,9 @@ using System.Collections;
2using System.Text; 2using System.Text;
3using libsecondlife; 3using libsecondlife;
4using OpenSim.Region.Capabilities; 4using OpenSim.Region.Capabilities;
5using System.IO;
5 6
6namespace OpenSim.Framework.Servers 7namespace OpenSim.Framework.Servers
7{ 8{
8 public class LlsdMethodEntry<TResponse, TRequest> : ILlsdMethodHandler 9
9 where TRequest : new()
10 {
11 private LlsdMethod<TResponse, TRequest> m_method;
12
13
14 public LlsdMethodEntry( )
15 {
16
17 }
18
19 public LlsdMethodEntry(LlsdMethod<TResponse, TRequest> method)
20 {
21 m_method = method;
22 }
23
24 #region ILlsdMethodHandler Members
25
26 public string Handle(string body, string path)
27 {
28 Encoding _enc = Encoding.UTF8;
29 Hashtable hash = (Hashtable)LLSD.LLSDDeserialize(_enc.GetBytes( body ));
30 TRequest request = new TRequest();
31
32 LLSDHelpers.DeserialiseLLSDMap(hash, request );
33
34 TResponse response = m_method(request);
35
36 return LLSDHelpers.SerialiseLLSDReply( response );
37 }
38
39 #endregion
40 }
41} 10}
diff --git a/OpenSim/Region/Examples/SimpleApp/Program.cs b/OpenSim/Region/Examples/SimpleApp/Program.cs
index bc84c35..ad70df8 100644
--- a/OpenSim/Region/Examples/SimpleApp/Program.cs
+++ b/OpenSim/Region/Examples/SimpleApp/Program.cs
@@ -60,8 +60,6 @@ namespace SimpleApp
60 60
61 httpServer.AddXmlRPCHandler("login_to_simulator", communicationsManager.UserServices.XmlRpcLoginMethod ); 61 httpServer.AddXmlRPCHandler("login_to_simulator", communicationsManager.UserServices.XmlRpcLoginMethod );
62 62
63 RegisterLlsdHandler<LLSDMapLayerResponse, LLSDMapRequest>("/Caps/test/", LlsdMethodDemo);
64
65 httpServer.Start(); 63 httpServer.Start();
66 64
67 m_log.WriteLine( LogPriority.NORMAL, "Press enter to quit."); 65 m_log.WriteLine( LogPriority.NORMAL, "Press enter to quit.");
@@ -74,27 +72,6 @@ namespace SimpleApp
74 72
75 } 73 }
76 74
77 private LLSDMapLayerResponse LlsdMethodDemo(LLSDMapRequest request)
78 {
79 return new LLSDMapLayerResponse();
80 }
81
82 ILlsdMethodHandler m_handler;
83
84 private void RegisterLlsdHandler<TResponse, TRequest>( string path, LlsdMethod<TResponse, TRequest> method )
85 where TRequest : new()
86 {
87 // path should be handler key, but for now just conceptually store it.
88 m_handler = new LlsdMethodEntry<TResponse, TRequest>( method );
89 }
90
91 private string ProcessLlsdMethod( string request,string path )
92 {
93 LlsdMethodEntry<LLSDMapLayerResponse, LLSDMapRequest> concreteHandler = new LlsdMethodEntry<LLSDMapLayerResponse, LLSDMapRequest>( LlsdMethodDemo );
94
95 return m_handler.Handle(request, path);
96 }
97
98 private bool AddNewSessionHandler(ulong regionHandle, Login loginData) 75 private bool AddNewSessionHandler(ulong regionHandle, Login loginData)
99 { 76 {
100 m_log.WriteLine(LogPriority.NORMAL, "Region [{0}] recieved Login from [{1}] [{2}]", regionHandle, loginData.First, loginData.Last); 77 m_log.WriteLine(LogPriority.NORMAL, "Region [{0}] recieved Login from [{1}] [{2}]", regionHandle, loginData.First, loginData.Last);