public void OnInitialised() { MyPaddock.Subscribe(SetEvent, OnSetEvent); MyPaddock.Subscribe(ReSetEvent, OnReSetEvent); _Value = PreEventValue.Value; }
public void OnInitialised() { MyPaddock.Subscribe(Event, OnEvent); }
public void OnInitialised() { if (Title == null) { Component Simulation = Paddock.LinkByType("Simulation") as Component; if (Simulation != null) { Simulation.Get("Title", out Title); } } FileName = Title + "-" + My.Name + ".db"; #if __MonoCS__ Connection = new SqliteConnection("Data Source=" + FileName + ";Version=3;New=False;Compress=True;"); Connection.Open(); SqliteCommand sql_cmd = new SqliteCommand(Connection); #else Connection = new SQLiteConnection("Data Source=" + FileName + ";Version=3;New=False;Compress=True;"); Connection.Open(); SQLiteCommand sql_cmd = new SQLiteCommand(Connection); #endif #if __MonoCS__ using (SqliteTransaction dbTrans = Connection.BeginTransaction()) #else using (SQLiteTransaction dbTrans = Connection.BeginTransaction()) #endif { // Make sure we have a Simulations table. if (!TableNames.Contains("Simulations")) { sql_cmd = Connection.CreateCommand(); sql_cmd.CommandText = "CREATE TABLE Simulations (ID INTEGER PRIMARY KEY ASC, Title TEXT)";; sql_cmd.ExecuteNonQuery(); } dbTrans.Commit(); } #if __MonoCS__ using (SqliteTransaction dbTrans = Connection.BeginTransaction()) #else using (SQLiteTransaction dbTrans = Connection.BeginTransaction()) #endif { // Make sure we have a Data table. if (!TableNames.Contains("Data")) { string Cmd = "CREATE TABLE Data (SimulationID INTEGER)"; sql_cmd = Connection.CreateCommand(); sql_cmd.CommandText = Cmd; sql_cmd.ExecuteNonQuery(); } dbTrans.Commit(); } // Try and get our SimulationID. If it's not in the Simulations table // then add it. The title is used as the simulation name. SimulationID = GetSimulationID(); if (SimulationID == -1) { sql_cmd.CommandText = "INSERT INTO [Simulations] (Title) VALUES ('" + Title + "')"; sql_cmd.ExecuteNonQuery(); SimulationID = GetSimulationID(); } // Remove existing data for this simulation. sql_cmd.CommandText = "DELETE FROM [Data] WHERE SimulationID = " + SimulationID.ToString(); sql_cmd.ExecuteNonQuery(); SimulationID = GetSimulationID(); // Give Sqlite some commands to speed up the adding of data. sql_cmd = Connection.CreateCommand(); sql_cmd.CommandText = "PRAGMA synchronous=OFF"; sql_cmd.ExecuteNonQuery(); // subscribe to all events. Paddock.Subscribe(Variables.OutputFrequency, OnDoReport); }