Changing more methods to work with console and rest
							parent
							
								
									b5db5d7a57
								
							
						
					
					
						commit
						def8012ec1
					
				|  | @ -75,7 +75,7 @@ namespace OpenSim.Server.Handlers.Integration | ||||||
|                     return FailureResult("Error, no command defined!"); |                     return FailureResult("Error, no command defined!"); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 string command = request["command"].AsString (); |                 string command = request["command"].AsString(); | ||||||
| 
 | 
 | ||||||
|                 switch (command) |                 switch (command) | ||||||
|                 { |                 { | ||||||
|  | @ -85,6 +85,9 @@ namespace OpenSim.Server.Handlers.Integration | ||||||
|                     case "list_available": |                     case "list_available": | ||||||
|                         return HandleListAvailablePlugins(request); |                         return HandleListAvailablePlugins(request); | ||||||
| 
 | 
 | ||||||
|  |                     case "show_info": | ||||||
|  |                         return  HandlePluginInfo(request); | ||||||
|  | 
 | ||||||
|                     case "install_plugin": |                     case "install_plugin": | ||||||
|                         return HandleInstallPlugin(request); |                         return HandleInstallPlugin(request); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -135,7 +135,11 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         // Install plugin from registered repository |         // Install plugin from registered repository | ||||||
|         private void HandleConsoleInstallPlugin(string module, string[] cmd) |         private void HandleConsoleInstallPlugin(string module, string[] cmd) | ||||||
|         { |         { | ||||||
|             MainConsole.Instance.Output(m_PluginManager.InstallPlugin(cmd)); |             if (cmd.Length == 2) | ||||||
|  |             { | ||||||
|  |                 int ndx = Convert.ToInt16(cmd[1]); | ||||||
|  |                 MainConsole.Instance.Output(m_PluginManager.InstallPlugin(ndx)); | ||||||
|  |             } | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -144,7 +148,8 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         { |         { | ||||||
|             if (cmd.Length == 2) |             if (cmd.Length == 2) | ||||||
|             { |             { | ||||||
|                 m_PluginManager.UnInstall(cmd); |                 int ndx = Convert.ToInt16(cmd[1]); | ||||||
|  |                 m_PluginManager.UnInstall(ndx); | ||||||
|             } |             } | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | @ -220,7 +225,7 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         { |         { | ||||||
|             if ( cmd.Length == 3) |             if ( cmd.Length == 3) | ||||||
|             { |             { | ||||||
|                 m_PluginManager.AddRepository(cmd); |                 m_PluginManager.AddRepository(cmd[2]); | ||||||
|             } |             } | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | @ -271,9 +276,6 @@ namespace OpenSim.Services.IntegrationService | ||||||
|                                                   enabled == true ? "[ ]" : "[X]", |                                                   enabled == true ? "[ ]" : "[X]", | ||||||
|                                                   repo["name"], repo["url"]); |                                                   repo["name"], repo["url"]); | ||||||
|             } |             } | ||||||
|             //ArrayList list = m_PluginManager.ListRepositories(); |  | ||||||
|             //foreach (string entry in list) |  | ||||||
|             //    MainConsole.Instance.Output(entry); |  | ||||||
| 
 | 
 | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | @ -281,9 +283,22 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         // Show description information |         // Show description information | ||||||
|         private void HandleConsoleShowAddinInfo(string module, string[] cmd) |         private void HandleConsoleShowAddinInfo(string module, string[] cmd) | ||||||
|         { |         { | ||||||
|             if ( cmd.Length >= 3 ) |             if (cmd.Length >= 3) | ||||||
|             { |             { | ||||||
|                 m_PluginManager.AddinInfo(cmd); |                  | ||||||
|  |                 Dictionary<string, object> result = new Dictionary<string, object>(); | ||||||
|  |                  | ||||||
|  |                 int ndx = Convert.ToInt16(cmd[2]); | ||||||
|  |                 m_PluginManager.AddinInfo(ndx, out result); | ||||||
|  | 
 | ||||||
|  |                 MainConsole.Instance.OutputFormat("Name: {0}\nURL: {1}\n{2}\n{3}", | ||||||
|  |                                                   result["name"], | ||||||
|  |                                                   result["url"], | ||||||
|  |                                                   result["file_name"], | ||||||
|  |                                                   result["author"], | ||||||
|  |                                                   result["category"], | ||||||
|  |                                                   result["description"]); | ||||||
|  | 
 | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|  | @ -340,9 +355,21 @@ namespace OpenSim.Services.IntegrationService | ||||||
|             return Ux.DocToBytes(json); |             return Ux.DocToBytes(json); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public byte[] HandleWebPluginInfo (OSDMap request) |         public byte[] HandleWebPluginInfo(OSDMap request) | ||||||
|         { |         { | ||||||
|             return Ux.FailureResult("Not Implemented"); |             Dictionary<string, object> result = new Dictionary<string, object>(); | ||||||
|  | 
 | ||||||
|  |             if(!String.IsNullOrEmpty(request["index"].ToString())) | ||||||
|  |             { | ||||||
|  |                 int ndx = Convert.ToInt16(request["index"].ToString()); | ||||||
|  |                 m_PluginManager.AddinInfo(ndx, out result); | ||||||
|  |                 string json = LitJson.JsonMapper.ToJson(result); | ||||||
|  |                 return Ux.DocToBytes(json); | ||||||
|  |             } | ||||||
|  |             else | ||||||
|  |             { | ||||||
|  |                 return Ux.FailureResult("No index supplied"); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public byte[] HandleWebListAvailablePlugins(OSDMap request) |         public byte[] HandleWebListAvailablePlugins(OSDMap request) | ||||||
|  |  | ||||||
|  | @ -44,13 +44,28 @@ namespace OpenSim.Services.IntegrationService | ||||||
|     { |     { | ||||||
|         protected AddinRegistry m_Registry; |         protected AddinRegistry m_Registry; | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Initializes a new instance of the <see cref="OpenSim.Services.IntegrationService.PluginManager"/> class. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='r'> | ||||||
|  |         /// R. | ||||||
|  |         /// </param> | ||||||
|         internal PluginManager( AddinRegistry r): base (r) |         internal PluginManager( AddinRegistry r): base (r) | ||||||
|         { |         { | ||||||
|             m_Registry = r; |             m_Registry = r; | ||||||
|             m_Registry.Update(); |             m_Registry.Update(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         public string InstallPlugin(string[] args) |         /// <summary> | ||||||
|  |         /// Installs the plugin. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns> | ||||||
|  |         /// The plugin. | ||||||
|  |         /// </returns> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|  |         public string InstallPlugin(int ndx) | ||||||
|         { |         { | ||||||
|             PackageCollection pack = new PackageCollection(); |             PackageCollection pack = new PackageCollection(); | ||||||
|             PackageCollection toUninstall; |             PackageCollection toUninstall; | ||||||
|  | @ -58,19 +73,15 @@ namespace OpenSim.Services.IntegrationService | ||||||
| 
 | 
 | ||||||
|             IProgressStatus ps = new ConsoleProgressStatus(false); |             IProgressStatus ps = new ConsoleProgressStatus(false); | ||||||
| 
 | 
 | ||||||
|             string name = Addin.GetIdName(args[1]); |  | ||||||
|             string version = Addin.GetIdVersion(args[1]); |  | ||||||
| 
 |  | ||||||
|             AddinRepositoryEntry[] available = GetSortedAvailbleAddins(); |             AddinRepositoryEntry[] available = GetSortedAvailbleAddins(); | ||||||
| 
 | 
 | ||||||
|             int n = Convert.ToInt16(args[1]); |             if (ndx > (available.Length - 1)) | ||||||
|             if (n > (available.Length - 1)) |  | ||||||
|             { |             { | ||||||
|                 MainConsole.Instance.Output("Selection out of range"); |                 MainConsole.Instance.Output("Selection out of range"); | ||||||
|                 return "Error"; |                 return "Error"; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             AddinRepositoryEntry aentry = available[n]; |             AddinRepositoryEntry aentry = available[ndx]; | ||||||
| 
 | 
 | ||||||
|             Package p = Package.FromRepository(aentry); |             Package p = Package.FromRepository(aentry); | ||||||
|             pack.Add(p); |             pack.Add(p); | ||||||
|  | @ -93,18 +104,23 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Remove plugin |         // Remove plugin | ||||||
|         public void UnInstall(string[] args) |         /// <summary> | ||||||
|  |         /// Uns the install. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|  |         public void UnInstall(int ndx) | ||||||
|         { |         { | ||||||
|             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); |             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); | ||||||
| 
 | 
 | ||||||
|             int n = Convert.ToInt16(args[1]); |             if (ndx > (addins.Length -1)) | ||||||
|             if (n > (addins.Length -1)) |  | ||||||
|             { |             { | ||||||
|                 MainConsole.Instance.Output("Selection out of range"); |                 MainConsole.Instance.Output("Selection out of range"); | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|             Addin addin = addins[n]; |             Addin addin = addins[ndx]; | ||||||
|             MainConsole.Instance.OutputFormat("Uninstalling plugin {0}", addin.Id); |             MainConsole.Instance.OutputFormat("Uninstalling plugin {0}", addin.Id); | ||||||
|             AddinManager.Registry.DisableAddin(addin.Id); |             AddinManager.Registry.DisableAddin(addin.Id); | ||||||
|             addin.Enabled = false; |             addin.Enabled = false; | ||||||
|  | @ -113,12 +129,23 @@ namespace OpenSim.Services.IntegrationService | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Checks the installed. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns> | ||||||
|  |         /// The installed. | ||||||
|  |         /// </returns> | ||||||
|         public string CheckInstalled() |         public string CheckInstalled() | ||||||
|         { |         { | ||||||
|             return "CheckInstall"; |             return "CheckInstall"; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // List instaled addins |         /// <summary> | ||||||
|  |         /// Lists the installed addins. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='result'> | ||||||
|  |         /// Result. | ||||||
|  |         /// </param> | ||||||
|         public void ListInstalledAddins(out Dictionary<string, object> result) |         public void ListInstalledAddins(out Dictionary<string, object> result) | ||||||
|         { |         { | ||||||
|             Dictionary<string, object> res = new Dictionary<string, object>(); |             Dictionary<string, object> res = new Dictionary<string, object>(); | ||||||
|  | @ -142,6 +169,12 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // List compatible plugins in registered repositories |         // List compatible plugins in registered repositories | ||||||
|  |         /// <summary> | ||||||
|  |         /// Lists the available. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='result'> | ||||||
|  |         /// Result. | ||||||
|  |         /// </param> | ||||||
|         public void ListAvailable(out Dictionary<string, object> result) |         public void ListAvailable(out Dictionary<string, object> result) | ||||||
|         { |         { | ||||||
|             Dictionary<string, object> res = new Dictionary<string, object>(); |             Dictionary<string, object> res = new Dictionary<string, object>(); | ||||||
|  | @ -164,6 +197,9 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // List available updates ** 1 |         // List available updates ** 1 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Lists the updates. | ||||||
|  |         /// </summary> | ||||||
|         public void ListUpdates() |         public void ListUpdates() | ||||||
|         { |         { | ||||||
|             IProgressStatus ps = new ConsoleProgressStatus(true); |             IProgressStatus ps = new ConsoleProgressStatus(true); | ||||||
|  | @ -180,6 +216,9 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Sync to repositories |         // Sync to repositories | ||||||
|  |         /// <summary> | ||||||
|  |         /// Update this instance. | ||||||
|  |         /// </summary> | ||||||
|         public string Update() |         public string Update() | ||||||
|         { |         { | ||||||
|             IProgressStatus ps = new ConsoleProgressStatus(true); |             IProgressStatus ps = new ConsoleProgressStatus(true); | ||||||
|  | @ -188,18 +227,36 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Register a repository |         // Register a repository | ||||||
|         public string AddRepository(string[] args) |         /// <summary> | ||||||
|  |         /// Register a repository with our server. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns> | ||||||
|  |         /// result of the action | ||||||
|  |         /// </returns> | ||||||
|  |         /// <param name='repo'> | ||||||
|  |         /// The URL of the repository we want to add | ||||||
|  |         /// </param> | ||||||
|  |         public bool AddRepository(string repo) | ||||||
|         { |         { | ||||||
|             Repositories.RegisterRepository(null, args[2].ToString(), true); |             Repositories.RegisterRepository(null, repo, true); | ||||||
|             return "AddRepository"; |             return true; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Gets the repository. | ||||||
|  |         /// </summary> | ||||||
|         public void GetRepository() |         public void GetRepository() | ||||||
|         { |         { | ||||||
|             Repositories.UpdateAllRepositories(new ConsoleProgressStatus(false)); |             Repositories.UpdateAllRepositories(new ConsoleProgressStatus(false)); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Remove a repository from the list |         // Remove a repository from the list | ||||||
|  |         /// <summary> | ||||||
|  |         /// Removes the repository. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|         public void RemoveRepository(string[] args) |         public void RemoveRepository(string[] args) | ||||||
|         { |         { | ||||||
|             AddinRepository[] reps = Repositories.GetRepositories(); |             AddinRepository[] reps = Repositories.GetRepositories(); | ||||||
|  | @ -223,6 +280,12 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Enable repository |         // Enable repository | ||||||
|  |         /// <summary> | ||||||
|  |         /// Enables the repository. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|         public void EnableRepository(string[] args) |         public void EnableRepository(string[] args) | ||||||
|         { |         { | ||||||
|             AddinRepository[] reps = Repositories.GetRepositories(); |             AddinRepository[] reps = Repositories.GetRepositories(); | ||||||
|  | @ -246,6 +309,12 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Disable a repository |         // Disable a repository | ||||||
|  |         /// <summary> | ||||||
|  |         /// Disables the repository. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|         public void DisableRepository(string[] args) |         public void DisableRepository(string[] args) | ||||||
|         { |         { | ||||||
|             AddinRepository[] reps = Repositories.GetRepositories(); |             AddinRepository[] reps = Repositories.GetRepositories(); | ||||||
|  | @ -269,6 +338,12 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // List registered repositories |         // List registered repositories | ||||||
|  |         /// <summary> | ||||||
|  |         /// Lists the repositories. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='result'> | ||||||
|  |         /// Result. | ||||||
|  |         /// </param> | ||||||
|         public void ListRepositories(out Dictionary<string, object> result) |         public void ListRepositories(out Dictionary<string, object> result) | ||||||
|         { |         { | ||||||
|             Dictionary<string, object> res = new Dictionary<string, object>(); |             Dictionary<string, object> res = new Dictionary<string, object>(); | ||||||
|  | @ -295,32 +370,62 @@ namespace OpenSim.Services.IntegrationService | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |         /// <summary> | ||||||
|  |         /// Updates the registry. | ||||||
|  |         /// </summary> | ||||||
|         public void UpdateRegistry() |         public void UpdateRegistry() | ||||||
|         { |         { | ||||||
|             m_Registry.Update(); |             m_Registry.Update(); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Show plugin info |         // Show plugin info | ||||||
|         public string AddinInfo(string[] args) |         /// <summary> | ||||||
|  |         /// Addins the info. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <returns> | ||||||
|  |         /// The info. | ||||||
|  |         /// </returns> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|  |         public bool AddinInfo(int ndx, out Dictionary<string, object> result) | ||||||
|         { |         { | ||||||
|  |             Dictionary<string, object> res = new Dictionary<string, object>(); | ||||||
|  |             result = res; | ||||||
|  | 
 | ||||||
|             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); |             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); | ||||||
| 
 | 
 | ||||||
|             int n = Convert.ToInt16(args[2]); |             if (ndx > (addins.Length - 1)) | ||||||
|             if (n > (addins.Length -1)) |  | ||||||
|             { |             { | ||||||
|                 MainConsole.Instance.Output("Selection out of range"); |                 MainConsole.Instance.Output("Selection out of range"); | ||||||
|                 return "XXX"; |                 return false; | ||||||
|             } |             } | ||||||
|  |             // author category description | ||||||
|  |             Addin addin = addins[ndx]; | ||||||
| 
 | 
 | ||||||
|             Addin addin = addins[n]; |             res["author"] = addin.Description.Author; | ||||||
|             MainConsole.Instance.OutputFormat("Name: {0}\nURL: {1}\n{2}", |             res["category"] = addin.Description.Category; | ||||||
|                                               addin.Name, addin.Description.Url, |             res["description"] = addin.Description.Description; | ||||||
|                                               addin.Description.FileName); |             res["name"] = addin.Name; | ||||||
|  |             res["url"] = addin.Description.Url; | ||||||
|  |             res["file_name"] = addin.Description.FileName; | ||||||
| 
 | 
 | ||||||
|             return "AddinInfo"; | //            MainConsole.Instance.OutputFormat("Name: {0}\nURL: {1}\n{2}", | ||||||
|  | //                                              addin.Name, addin.Description.Url, | ||||||
|  | //                                              addin.Description.FileName); | ||||||
|  | 
 | ||||||
|  |             result = res; | ||||||
|  | 
 | ||||||
|  |             return true; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Disable a plugin |         // Disable a plugin | ||||||
|  |         /// <summary> | ||||||
|  |         /// Disables the plugin. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|         public void DisablePlugin(string[] args) |         public void DisablePlugin(string[] args) | ||||||
|         { |         { | ||||||
|             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); |             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); | ||||||
|  | @ -339,6 +444,12 @@ namespace OpenSim.Services.IntegrationService | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Enable plugin |         // Enable plugin | ||||||
|  |         /// <summary> | ||||||
|  |         /// Enables the plugin. | ||||||
|  |         /// </summary> | ||||||
|  |         /// <param name='args'> | ||||||
|  |         /// Arguments. | ||||||
|  |         /// </param> | ||||||
|         public void EnablePlugin(string[] args) |         public void EnablePlugin(string[] args) | ||||||
|         { |         { | ||||||
|             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); |             Addin[] addins = GetSortedAddinList("IntegrationPlugin"); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 BlueWall
						BlueWall