public void Load() { Console.SetValue("Debugging_Level", new ConsoleVarable() { ValidCheck = CheckConsoleInput, Value = "0", TabFunction = GetTabCompletionValues, HelpInfo = DefaultLanguage.Strings.GetString("Debugging_Level_Help"), }); Console.ProcessFile(Filename); Program.ProgramEnding += Save; }
public static string GetPage(HttpListenerContext context) { string ACTION = ""; int id; if (context.Request.QueryString.Count != 0) { foreach (string key in context.Request.QueryString.AllKeys) { switch (key) { case "stops": if (int.TryParse(context.Request.QueryString[key], out id)) { if (Console.GetOnOff(string.Format(Variables.V_camera_stream_enabled, id)).Value) { ConsoleResponse cr = Console.SetValue(string.Format(Variables.V_camera_stream_enabled, id), "false"); if (cr.State == ConsoleCommandState.Sucess) { ACTION += "Sucess! Camera " + id + " disabled.<br/>"; } else { ACTION += "Failure while disabling camera " + id + ": " + cr.Value + "<br/>"; } } } break; case "starts": if (int.TryParse(context.Request.QueryString[key], out id)) { if (!Console.GetOnOff(string.Format(Variables.V_camera_stream_enabled, id)).Value) { ConsoleResponse cr = Console.SetValue(string.Format(Variables.V_camera_stream_enabled, id), "true"); if (cr.State == ConsoleCommandState.Sucess) { ACTION += "Sucess! Camera " + id + " enabled.<br/>"; } else { ACTION += "Failure while enabling camera " + id + ": " + cr.Value + "<br/>"; } } } break; } } } string camerafor = ""; // Count is protected from having non numurical values so if this fails look elsewhere int count = int.Parse(Console.GetValue(Variables.V_camera_count).Value); for (int i = 0; i < count; i++) { camerafor += TemplateProcessor.Process(Environment.CurrentDirectory + "\\HTTP\\templates\\control.camerafor.template", new Dictionary <string, Func <string> >() { { "URI", () => { return(context.Request.Url.LocalPath); } }, { "STATUS", () => { return(Console.GetValue(string.Format(Variables.V_camera_stream_enabled, i)).Value); } }, { "ID", () => { return(i.ToString()); } }, }); } return(TemplateProcessor.Process(Environment.CurrentDirectory + "\\HTTP\\templates\\control.template", new Dictionary <string, Func <string> >() { { "URI", () => { return context.Request.Url.LocalPath; } }, { "ACTION", () => { return ACTION; } }, { "control.camerafor.template", () => { return camerafor; } }, })); }
private void StartStream() { string filename = string.Format(Console.GetValue(Variables.V_camera_save_path).Value, ID) + DateTime.Now.ToString(Console.GetValue(string.Format(Variables.V_camera_save_format, ID)).Value); Debugging.DebugLog(Debugging.DebugLevel.Info, "Starting Camera " + ID); //We need to make sure the stream task is started also so we can pull the data from it ConsoleResponseBoolean variable = Console.GetOnOff(string.Format(Variables.V_camera_stream_enabled, ID)); if (variable.State == ConsoleCommandState.Failure) { throw new LogicException(string.Format("{0} is not a boolean variable!", Variables.V_camera_stream_enabled)); } if (!variable.Value) { Console.SetValue(string.Format(Variables.V_camera_stream_enabled, ID), "True"); } try { stream?.Close(); } catch { }; File.Delete(filename); stream = File.OpenWrite(filename); Program.CameraManager.GetGamera(ID) .StreamTask.Repeater.AddStream( new StreamClient(stream, (data, offset, length) => { try { stream.Write(data, offset, length); /* string s = ASCIIEncoding.ASCII.GetString(data, 0, data.Length); * var sb = new StringBuilder(); * int i = 0; * * sb.Append(" Capture Pattern: ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append(" Version: ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append(" Header Type: ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append("Granule Position: ") * .Append(BitConverter.ToUInt64(new byte[] { data[6], data[7], data[8], data[9], data[10], data[11], data[12], data[13] }, 0)).Append("\n"); * * sb.Append("Granule Position: ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append("Bitstream Number: ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append(" Page Seq Number: ") * .Append(data[i++].ToString("X2")).Append(" ") // 18 * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append("\n"); * * sb.Append(" Checksum: ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append(" ") * .Append(data[i++].ToString("X2")).Append("\n"); * * * sb.Append("\n"); * Console.Write(sb.ToString());*/ return(true); } catch { } return(false); }) ); NextSegment = DateTime.Now.AddMinutes(30); NextFlush = DateTime.Now.AddMinutes(1); }