using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.InteropServices; using System.Threading; using System.IO; using System.Net; using ReaderLibrary; namespace Logging { public abstract class LoggingManager { public ArrayList newTags; public ArrayList logList = new ArrayList(); public LoggingManager() { DefaultCmb(); } public abstract void DefaultCmb(); public void CloseAllLogs() { // close each logger for (int i = 0; i < logList.Count; i++) { ((Logger)logList[i]).CloseLog(); } } public ArrayList getLogList() { return logList; } public abstract void AddNewLogger(string text); public void AddNewLogger(Logger newLogger) { logList.Add(newLogger); } public Logger FindLogger(string logName) { // for each logger for (int i = 0; i < logList.Count; i++) { if(((Logger)logList[i]).GetName() == logName) return (Logger)logList[i]; } return null; } public void WriteToLog(Object thingToLog) { // for each logger for (int i = 0; i < logList.Count; i++) { Logger current = (Logger)logList[i]; // write to logger current.LogToFile(thingToLog); current.Flush(); // make sure the tags actually get written to hard drive. } } public void WriteToLog(ArrayList thingsToLog) { System.Collections.IEnumerator myEnumerator = thingsToLog.GetEnumerator(); // for each logger for (int i = 0; i < logList.Count; i++) { Logger current = (Logger)logList[i]; // for each tag while (myEnumerator.MoveNext()) { // write MyTag to logger current.LogToFile(myEnumerator.Current); } current.Flush(); // make sure the tags actually get written to hard drive. } } } }