diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs index 668a1b801d..16948057c9 100644 --- a/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs +++ b/OpenGridServices.Manager/OpenGridServices.Manager/GridServerConnectionManager.cs @@ -1,5 +1,8 @@ using Nwc.XmlRpc; using System; +using System.Net; +using System.IO; +using System.Xml; using System.Collections; using System.Collections.Generic; using libsecondlife; @@ -12,6 +15,8 @@ namespace OpenGridServices.Manager public LLUUID SessionID; public bool connected=false; + public RegionBlock[][] WorldMap; + public bool Connect(string GridServerURL, string username, string password) { try { @@ -39,6 +44,29 @@ namespace OpenGridServices.Manager } } + public void DownloadMap() + { + System.Net.WebClient mapdownloader = new WebClient(); + Stream regionliststream = mapdownloader.OpenRead(ServerURL + "/regionlist"); + + + XmlDocument doc = new XmlDocument(); + doc.Load(regionliststream); + XmlNode rootnode = doc.FirstChild; + if (rootnode.Name != "regions") + { + // TODO - ERROR! + } + + for(int i=0; i<=rootnode.ChildNodes.Count; i++) + { + if(rootnode.ChildNodes.Item(i).Name != "region") { + // TODO - ERROR! + } else { + } + } + } + public bool RestartServer() { return true; diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs index c7c0dd747d..42e09e0990 100644 --- a/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs +++ b/OpenGridServices.Manager/OpenGridServices.Manager/Main.cs @@ -43,7 +43,8 @@ namespace OpenGridServices.Manager win.SetStatus("Connected OK with session ID:" + gridserverConn.SessionID); win.SetGridServerConnected(true); Thread.Sleep(3000); - win.SetStatus(""); + win.SetStatus("Downloading region maps..."); + gridserverConn.DownloadMap(); } else { win.SetStatus("Could not connect"); } diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs index 598e380b8e..1db38f05c6 100644 --- a/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs +++ b/OpenGridServices.Manager/OpenGridServices.Manager/MainWindow.cs @@ -17,7 +17,12 @@ namespace OpenGridServices.Manager { public void DrawGrid(RegionBlock[][] regions) { - + for(int x=0; x<=regions.GetUpperBound(0); x++) { + for(int y=0; y<=regions.GetUpperBound(1); y++) { + Gdk.Image themap = new Gdk.Image(Gdk.ImageType.Fastest,Gdk.Visual.System,256,256); + this.drawingarea1.GdkWindow.DrawImage(new Gdk.GC(this.drawingarea1.GdkWindow),themap,0,0,x*256,y*256,256,256); + } + } } public void SetGridServerConnected(bool connected) diff --git a/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp b/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp index 31400341ba..cfdc085eb8 100644 --- a/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp +++ b/OpenGridServices.Manager/OpenGridServices.Manager/OpenGridServices.Manager.mdp @@ -37,6 +37,7 @@ + \ No newline at end of file