public void applymap(int m) { string fl = maps[m].fname; FileStream fin = new FileStream(fl, FileMode.Open); FileStream fout = new FileStream(fl + ".tmp", FileMode.Create); foreach (MapCmd c in maps[m].cmds) { StreamCopy(fin, fout, c.ofs - (int)fin.Position); fin.Position += c.oldsz; switch (c.cmd) { case MapCmd.Cmd.INSERT_RES: byte[] data = ResourceLocator.getResources().getResource(c.sdata); fout.Write(data, 0, data.Length); break; case MapCmd.Cmd.INSERT_VALUE: fout.Write(c.bdata, 0, c.bdata.Length); break; case MapCmd.Cmd.INSERT_FILE: FileStream fs = new FileStream(c.sdata, FileMode.Open); StreamCopy(fs, fout, (int)fs.Length); fs.Close(); break; } } StreamCopy(fin, fout, (int)(fin.Length - fin.Position)); fin.Close(); fout.Close(); File.Delete(fl); File.Move(fl + ".tmp", fl); }
public Form1(int w, int h, bool mx, bool sz, string nm) { InitializeComponent(); try { byte[] ic = ResourceLocator.getResources().getResource("favicon.ico"); MemoryStream ms = new MemoryStream(ic); this.Icon = new System.Drawing.Icon(ms); ms.Close(); } catch (Exception) { this.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath); } Text = nm; if (!sz) { FormBorderStyle = FormBorderStyle.FixedSingle; MaximizeBox = false; } if (mx) { WindowState = FormWindowState.Maximized; } else { Width = w; Height = h; } webBrowser1.Navigate("http://localhost:34567/"); obj = this; }
public string resopen(Paths p, Parameters prms) { string fn = getParam(prms, "res"); int i = getId(); xfiles.Add(i, new FileDescr(ResourceLocator.getResources().getResource(fn))); return(retIdSize(i, (int)xfiles[i].ms.Length)); }
public string getResName(Parameters prms) { string nm = getParam(prms, "res"); if (!ResourceLocator.getResources().hasResource(nm)) { throw new NoResException(nm); } return(nm); }
public string mapres(Paths p, Parameters prms) { int m = getMap(prms); string rname = getResName(prms); int[] os = getOfsOsz(prms); maps[m].cmds.Add(new MapCmd(MapCmd.Cmd.INSERT_RES, os[0], os[1], rname)); uint rsize = ResourceLocator.getResources().resSize(rname); Logger.getLogger().dbg("map " + m.ToString() + " res " + rname + " ofs=0x" + os[0].ToString("X")); return(retDelta((int)rsize, os)); }
public static void OnRequests(IAsyncResult res) { HttpListenerContext con = null; try { con = ((HttpListener)res.AsyncState).EndGetContext(res); } catch (Exception ex) { Logger.getLogger().dbg("SVR ERROR:" + ex.Message); return; } lastcon = DateTime.Now; String what = con.Request.RawUrl; if (what == "/") { what = "/index.html"; } byte[] buffer = null; string tp = ""; if (what.StartsWith("/api/")) { tp = "application/json; encoding=UTF-8"; what = what.Remove(0, 5); if (what != "hb") { buffer = InstApi.getApi().process(what); } else { buffer = Encoding.UTF8.GetBytes("{r:0}"); } con.Response.AddHeader("Expires", "Mon, 26 Jul 1997 05:00:00 GMT"); con.Response.AddHeader("Cache-Control", "no-store, no-cache, must-revalidate"); //con.Response.AddHeader("Expires", "-1"); con.Response.AddHeader("Pragma", "no-cache"); } else { what = what.Split('?')[0].Remove(0, 1); Logger.getLogger().dbg("request " + what); try { buffer = ResourceLocator.getResources().getResource(what); } catch (Exception) { try { con.Response.StatusCode = 404; con.Response.Close(); } catch (Exception) { } return; } string ext = Path.GetExtension(what).Remove(0, 1); switch (ext) { case "html": case "xml": case "css": tp = "text/" + ext + "; charset=UTF-8"; break; case "jpg": tp = "image/jpeg"; break; case "bmp": case "png": tp = "image/" + ext; break; case "js": tp = "application/javascript; charset=UTF-8"; break; case "mid": tp = "audio/midi"; break; case "wav": tp = "audio/x-wav"; break; } } try { con.Response.ContentType = tp; con.Response.ContentLength64 = buffer.Length; con.Response.OutputStream.Write(buffer, 0, buffer.Length); con.Response.OutputStream.Close(); con.Response.Close(); } catch (Exception) { try { con.Response.Close(); } catch (Exception) { } } }
public string getsize(Paths p, Parameters prms) { return(retOK((int)ResourceLocator.getResources().resSize(getResName(prms)))); }
public byte[] getRes(Parameters prms) { return(ResourceLocator.getResources().getResource(getResName(prms))); }
public string hasres(Paths p, Parameters prms) { return(retOK(ResourceLocator.getResources().hasResource(getParam(prms, "res")))); }