public static KLogger GetFromDatabase(int id) { Database db = DatabaseFactory.CreateDatabase(); String strSql = "SELECT * " + "FROM tblSignals " + "WHERE clv_signal = " + id; IDataReader dr = db.ExecuteReader(db.GetSqlStringCommand(strSql)); KLogger k = new KLogger(); if (dr != null && !dr.IsClosed) { if (!dr.Read()) { throw new Exception("This signal does not exist in the database"); } k.stationID = dr.GetInt64(0); if (!dr.IsDBNull(1)) { k.station = dr.GetString(1); } if (!dr.IsDBNull(2)) { k.deviceName = dr.GetString(2); } if (!dr.IsDBNull(3)) { k.lineName = dr.GetString(3); } if (!dr.IsDBNull(4)) { k.bitRate = EnumFromValue.FromBitRate(dr.GetInt32(4)); } if (!dr.IsDBNull(5)) { k.sampleRate = EnumFromValue.FromSampleRate(dr.GetInt32(5)); } if (!dr.IsDBNull(6)) { k.volume = (uint)dr.GetInt32(6); } if (!dr.IsDBNull(7)) { k.recycleInterval = dr.GetInt32(7); } if (!dr.IsDBNull(8)) { k.workingDirectory = dr.GetString(8); } if (!dr.IsDBNull(9)) { k.enabled = dr.GetBoolean(9); } } dr.Close(); return(k); }
public static List <KLogger> GetAllFromDatabase() { Database db = DatabaseFactory.CreateDatabase(); String strSql = "SELECT * " + "FROM tblSignals "; IDataReader dr = db.ExecuteReader(db.GetSqlStringCommand(strSql)); List <KLogger> loggers = new List <KLogger>(); if (dr != null && !dr.IsClosed) { while (dr.Read()) { KLogger k = new KLogger(); k.stationID = dr.GetInt64(0); if (!dr.IsDBNull(1)) { k.station = dr.GetString(1); } if (!dr.IsDBNull(2)) { k.deviceName = dr.GetString(2); } if (!dr.IsDBNull(3)) { k.lineName = dr.GetString(3); } if (!dr.IsDBNull(4)) { k.bitRate = EnumFromValue.FromBitRate(dr.GetInt32(4)); } if (!dr.IsDBNull(5)) { k.sampleRate = EnumFromValue.FromSampleRate(dr.GetInt32(5)); } if (!dr.IsDBNull(6)) { k.volume = (uint)dr.GetInt32(6); } if (!dr.IsDBNull(7)) { k.recycleInterval = dr.GetInt32(7); } if (!dr.IsDBNull(8)) { k.workingDirectory = dr.GetString(8); } if (!dr.IsDBNull(9)) { k.enabled = dr.GetBoolean(9); } loggers.Add(k); } } dr.Close(); return(loggers); }
public void ProcessRequest(HttpContext context) { try { currentContext = context; request = context.Request; response = context.Response; FormsAuthenticationTicket ticket = ((FormsIdentity)context.User.Identity).Ticket; if (ticket.Expired || !context.User.Identity.IsAuthenticated) { throw new ApplicationException(); } parseRequest(); KLogger k = Signal.GetFromDatabase(clv_signal); response.Clear(); response.BufferOutput = false; response.ContentType = "audio/mpeg"; response.AppendHeader("Connection", "close"); if (attachment) { response.AppendHeader("Content-Disposition", "attachment; filename=\"mediastream.mp3\""); } foreach (TimeLine t in TimeLine.getMediaContent(clv_signal, t0, t1)) { try { if (response.IsClientConnected) { response.TransmitFile(k.workingDirectory + t.Ticks.ToString() + ".mp3"); response.Flush(); FlushMemory(); } } catch {} } response.End(); } catch (Exception ex) { throw ex; } }
private KLogger getLogger() { KLogger k = CurrentLogger; k.deviceName = cmbWaveIn.SelectedItem.ToString(); k.lineName = listLines.SelectedItem.ToString(); k.workingDirectory = txtRuta.Text; k.volume = (uint)trcVolume.Value; k.bitRate = (AdminServices.BitRate)Enum.Parse(typeof(AdminServices.BitRate), (string)cmbBitRates.SelectedValue); k.sampleRate = (AdminServices.SampleRate)Enum.Parse(typeof(AdminServices.SampleRate), (string)cmbSampleRates.SelectedValue); k.station = txtStation.Text; k.enabled = chkEnabled.Checked; //k.recycleInterval return(k); }
private void setLogger(KLogger k) { cmbLoggers.SelectedItem = k; cmbWaveIn.SelectedItem = k.deviceName; listLines.SelectedItem = k.lineName; txtRuta.Text = k.workingDirectory; trcVolume.Value = (int)k.volume; cmbBitRates.SelectedItem = k.bitRate.ToString(); cmbSampleRates.SelectedItem = k.sampleRate.ToString(); txtStation.Text = k.station; lblStationID.Text = k.stationID.ToString(); chkEnabled.Checked = k.enabled; chkRecording.Checked = k.isRecording; //k.recycleInterval }
private void OnChunkWritten(KLogger k, String filename) { try { TaskInfo t = new TaskInfo(k, filename); t.onTaskFinish += new TaskInfoHandler(onTaskFinish); ThreadPool.QueueUserWorkItem(new WaitCallback(ThreadProc), t); Trace.TraceInformation("INDEXING: Device -> " + k.deviceName + " / Line -> " + k.lineName + " / File -> " + filename); } catch (Exception ex) { Trace.TraceError(ex.Message); Trace.TraceError(ex.StackTrace); Trace.Flush(); } }
public static bool Insert(KLogger k) { Database db = DatabaseFactory.CreateDatabase(); DbCommand dbc = db.GetStoredProcCommand("F_InsertSignal"); db.AddOutParameter(dbc, "@clv_signal", DbType.Int64, sizeof(Int64)); db.AddInParameter(dbc, "@signal", DbType.AnsiString, k.station); db.AddInParameter(dbc, "@deviceName", DbType.AnsiString, k.deviceName); db.AddInParameter(dbc, "@lineName", DbType.AnsiString, k.lineName); db.AddInParameter(dbc, "@bitRate", DbType.Int32, k.bitRate.GetHashCode()); db.AddInParameter(dbc, "@sampleRate", DbType.Int32, k.sampleRate.GetHashCode()); db.AddInParameter(dbc, "@volume", DbType.Int32, (int)k.volume); db.AddInParameter(dbc, "@recycleInterval", DbType.Int32, k.recycleInterval); db.AddInParameter(dbc, "@workingDirectory", DbType.AnsiString, k.workingDirectory); db.AddInParameter(dbc, "@enabled", DbType.Boolean, k.enabled); return(db.ExecuteNonQuery(dbc) > 0 ? true : false); }
public static bool Insert(KLogger k, String filename) { filename = filename.Substring(filename.LastIndexOf("\\") + 1); filename = filename.Substring(0, filename.Length - 4); Int64 ticks = Int64.Parse(filename.Split('.')[0]); DateTime timeline = new DateTime(ticks); Database db = DatabaseFactory.CreateDatabase(); DbCommand dbc = db.GetStoredProcCommand("F_InsertTimeLine"); db.AddOutParameter(dbc, "@clv_timeline", DbType.Int64, sizeof(Int64)); db.AddInParameter(dbc, "@clv_signal", DbType.Int64, k.stationID); db.AddInParameter(dbc, "@timeline", DbType.DateTime, timeline); db.AddInParameter(dbc, "@ticks", DbType.Int64, ticks); return(db.ExecuteNonQuery(dbc) > 0 ? true : false); }
public void Execute(KLogger k) { Signal.RefreshFromDatabase(k); switch (command) { case LoggerCommands.StartLogger: k.Start(); k.enabled = true; Signal.Update(k); break; case LoggerCommands.StopLogger: k.Stop(); k.enabled = false; Signal.Update(k); break; } }
public bool setConfig(KLogger k) { return(Signal.Update(k)); }
public bool newConfig(KLogger k) { return(Signal.Insert(k)); }
public string[] getLines(string deviceName) { return(KLogger.getLines(deviceName)); }
public string[] getDevices() { return(KLogger.getDevices()); }
private string GenCodeFromTemplate(Transform tran, string className, string tmplPath) { string template = File.ReadAllText(tmplPath); System.Text.StringBuilder paramsDeclaredStr = new System.Text.StringBuilder(); System.Text.StringBuilder paramsAssignmentStr = new System.Text.StringBuilder(); System.Text.StringBuilder bindEventStr = new System.Text.StringBuilder(); System.Text.StringBuilder eventFunctionDefineStr = new System.Text.StringBuilder(); var defines = tran.GetComponentsInChildren <KUIPropertyDefine>(true); for (int i = 0; i < defines.Length; i++) { defines[i].enabled = false; string typeName = defines[i].varType; string varName = defines[i].varName; string summaryStr = defines[i].varSummary; string childPath = AnimationUtility.CalculateTransformPath(defines[i].transform, tran); if (string.IsNullOrEmpty(typeName)) { //在这里逐步补充相应的类型 if (defines[i].GetComponent <Button>()) { typeName = typeof(Button).Name; string clickFuncName = "OnClick" + varName.Substring(0, 1).ToUpper() + varName.Substring(1); bindEventStr.Append(varName + ".AddClickListener(" + clickFuncName + ");\r\n "); eventFunctionDefineStr.Append("private void " + clickFuncName + "()\r\n {\r\n }\r\n "); } else if (defines[i].GetComponent <Image>()) { typeName = typeof(Image).Name; } else if (defines[i].GetComponent <Text>()) { typeName = typeof(Text).Name; } else { typeName = typeof(Transform).Name; KLogger.LogError("没有添加要处理的类型,使用默认类型|Transform|", defines[i].gameObject); } } paramsDeclaredStr.AppendFormat("\r\n /// <summary>\r\n /// {2}\r\n /// </summary>\r\n private {0} {1};\r\n", typeName, varName, summaryStr); if (typeof(Transform).Name.Equals(typeName)) { paramsAssignmentStr.AppendFormat(" {1} = tran.GetComponent<{0}>();\r\n", typeName, varName); } else { paramsAssignmentStr.AppendFormat(" {1} = tran.GetComponentByName<{0}>(\"{2}\");\r\n", typeName, varName, childPath); } } template = template.Replace("__CLASSNAME__", className); template = template.Replace("__PARAMS_DECLARED__", paramsDeclaredStr.ToString()); template = template.Replace("__PARAMS_ASSIGNMENT__", paramsAssignmentStr.ToString()); template = template.Replace("//BIND_EVENT_STATEMENT//", bindEventStr.ToString()); template = template.Replace("//EVENT_FUNCTION_DEFINE//", eventFunctionDefineStr.ToString()); return(template); }
private void GenAllCode(KUIPropertyDefine target) { //win用于实时的取得各个定义的组件,没有则生成一个文件 KUIWindow win = target.GetComponentInParent <KUIWindow>(); if (win != null) { //读取对应的目录 string path = AssetDatabase.GetAssetPath(MonoScript.FromMonoBehaviour(win).GetInstanceID()); //生成Auto目录 var fileInfo = new FileInfo(path); string autoGenPath = fileInfo.DirectoryName + "/AutoGen"; string autoGenFileName = win.GetType().Name + ".autogen.cs"; if (!Directory.Exists(autoGenPath)) { KLogger.Log("KUI|需要创建目录|path|" + autoGenPath); Directory.CreateDirectory(autoGenPath); } string outputName = autoGenPath + "/" + autoGenFileName; KLogger.Log("KUI|输出目录|outputName|" + outputName); string codeContent = GenCodeFromTemplate(win.transform, win.GetType().Name, KCoreEditorUtil.kuiEditorPath + "/AutoGenCodeTemplate.txt"); File.WriteAllText(outputName, codeContent, System.Text.Encoding.UTF8); } else { //生成一个文件 string theClassName = target.transform.root.name; string autoGenPath = KCoreEditorUtil.kuiDefAutoGenPath + "/AutoGen"; string autoGenFileName = theClassName + ".autogen.cs"; if (!Directory.Exists(autoGenPath)) { KLogger.Log("KUI|需要创建目录|path|" + autoGenPath); Directory.CreateDirectory(autoGenPath); } string outputName = autoGenPath + "/" + autoGenFileName; KLogger.Log("KUI|输出目录|outputName|" + outputName); string codeContent = GenCodeFromTemplate(target.transform.root, theClassName, KCoreEditorUtil.kuiEditorPath + "/AutoGenCodeTemplate.txt"); File.WriteAllText(outputName, codeContent, System.Text.Encoding.UTF8); //同时生成主的class string mainClassFileName = KCoreEditorUtil.kuiDefAutoGenPath + "/" + theClassName + ".cs"; if (!File.Exists(mainClassFileName)) { KLogger.Log("KUI|输出目录|mainClassFileName|" + mainClassFileName); string mainCodeContent = GenCodeFromTemplate(target.transform.root, theClassName, KCoreEditorUtil.kuiEditorPath + "/UIMainCodeTemplate.txt"); File.WriteAllText(mainClassFileName, mainCodeContent, System.Text.Encoding.UTF8); } } AssetDatabase.Refresh(); }
public TaskInfo(KLogger k, String filename) { this.k = k; this.filename = filename; }