/// <summary> /// Service execution method /// </summary> /// <param name="name">Name of service</param> /// <param name="communicator">Ice communicator</param> /// <param name="args">Arguments from command line</param> public void start(string name, Ice.Communicator communicator, string[] args) { Debug.Listeners.Clear(); Debug.Listeners.Add(new TextWriterTraceListener(name + ".log")); Debug.AutoFlush = true; Debug.WriteLine("Starting service..."); _adapter = communicator.createObjectAdapter(name); ObjectFactoryForPropertyTypes factory = new ObjectFactoryForPropertyTypes(); ObjectFactoryForPropertyTypes.addFactoryToCommunicator( communicator, factory); Debug.WriteLine("Activating adapter..."); _adapter.activate(); reaper = new ReapThread(); reaperThread = new Thread(new ThreadStart(reaper.Run)); reaperThread.Start(); Debug.WriteLine("Registering boxes..."); registerBoxes(); if (havePropertyBoxes) { propertyReaper = new PropertyReapThread(); propertyReaperThread = new Thread(new ThreadStart(propertyReaper.Run)); propertyReaperThread.Start(); Debug.WriteLine("Registering property boxes..."); registerPropertyBoxes(); } }
/// <summary> /// Initializes a new instance of the <see cref="T:Ferda.Modules.BoxModuleFactoryCreatorI"/> class. /// </summary> /// <param name="boxInfo">The box info.</param> /// <param name="reapThread">The reap thread.</param> public BoxModuleFactoryCreatorI(IBoxInfo boxInfo, ReapThread reapThread) { this.boxInfo = boxInfo; this.reaper = reapThread; }