From: Ansgar Schmidt <ANSI@de.ibm.com>
Here is a patch for Revision 3380. This patch adds the feature of loading XML prim specification via XML-RPC call on a given island. Call with Islandname and XMLPrim Filename.ThreadPoolClientBranch
							parent
							
								
									c654df5dfd
								
							
						
					
					
						commit
						c7c567182a
					
				| 
						 | 
				
			
			@ -70,6 +70,7 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
 | 
			
		|||
                    m_httpd.AddXmlRPCHandler("admin_restart", XmlRpcRestartMethod);
 | 
			
		||||
                    m_httpd.AddXmlRPCHandler("admin_load_heightmap", XmlRpcLoadHeightmapMethod);
 | 
			
		||||
                    m_httpd.AddXmlRPCHandler("admin_create_user", XmlRpcCreateUserMethod);
 | 
			
		||||
                    m_httpd.AddXmlRPCHandler("admin_load_xml", XmlRpcLoadXMLMethod);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            catch (NullReferenceException)
 | 
			
		||||
| 
						 | 
				
			
			@ -336,6 +337,53 @@ namespace OpenSim.ApplicationPlugins.LoadRegions
 | 
			
		|||
            return response;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public XmlRpcResponse XmlRpcLoadXMLMethod(XmlRpcRequest request)
 | 
			
		||||
        {
 | 
			
		||||
            m_log.Info("[RADMIN]: Received Load XML Administrator Request");
 | 
			
		||||
            XmlRpcResponse response = new XmlRpcResponse();
 | 
			
		||||
            Hashtable requestData = (Hashtable) request.Params[0];
 | 
			
		||||
            Hashtable responseData = new Hashtable();
 | 
			
		||||
            if (requiredPassword != System.String.Empty &&
 | 
			
		||||
                (!requestData.Contains("password") || (string) requestData["password"] != requiredPassword))
 | 
			
		||||
            {
 | 
			
		||||
                responseData["loaded"] = "false";
 | 
			
		||||
                responseData["switched"] = "false";
 | 
			
		||||
                response.Value = responseData;
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
                try
 | 
			
		||||
                {
 | 
			
		||||
                    string region_name     = (string) requestData["region_name"];
 | 
			
		||||
                    string filename        = (string) requestData["filename"];
 | 
			
		||||
                    
 | 
			
		||||
                    if (m_app.SceneManager.TrySetCurrentScene(region_name))
 | 
			
		||||
                    {
 | 
			
		||||
                        m_log.Info("[RADMIN] Switched to region "+region_name);
 | 
			
		||||
                        responseData["switched"] = "true";
 | 
			
		||||
                        m_app.SceneManager.LoadCurrentSceneFromXml(filename, true, new LLVector3(0, 0, 0));
 | 
			
		||||
                        responseData["loaded"]   = "true";
 | 
			
		||||
                        response.Value           = responseData;
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        m_log.Info("[RADMIN] Failed to switch to region "+region_name);
 | 
			
		||||
                        responseData["loaded"] = "false";
 | 
			
		||||
                        responseData["switched"] = "false";
 | 
			
		||||
                        response.Value = responseData;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                catch (Exception e)
 | 
			
		||||
                {
 | 
			
		||||
                    responseData["loaded"]  = "false";
 | 
			
		||||
                    responseData["error"]   = e.ToString();
 | 
			
		||||
                    response.Value          = responseData;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
            return response;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void Close()
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue