/*********************************************************************/ /* */ /* AgentService Framework */ /* www.agentservice.it */ /* */ /* Copyright (C) 2007 l.i.d.o. - DIST, University of Genoa, Italy */ /* GNU Lesser General Public License */ /* */ /* This library is free software; you can redistribute it and/or */ /* modify it under the terms of the GNU Lesser General Public */ /* License as published by the Free Software Foundation, */ /* version 2.1 of the License. */ /* */ /* This library is distributed in the hope that it will be useful, */ /* but WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ /* Lesser General Public License for more details. */ /* */ /* You should have received a copy of the GNU Lesser General Public */ /* License along with this library; if not, write to the */ /* Free Software Foundation, Inc., 59 Temple Place - Suite 330, */ /* Boston, MA 02111-1307, USA. */ /* */ /*********************************************************************/ using System; using System.IO; using System.Text; using AgentService.Interop; namespace AgentService.Platform { /// /// Interface IPlatformController. Gives access and /// manages the platform. /// public interface IPlatformController : ICommandContext { /// /// Gets access to the platform console sub-system. /// IConsole Console { get; } /* /// /// Gets the module controller reference. /// IModuleController Modules { get; } /// /// Gets the service controller reference. /// IServiceController Services { get; } #region Platform Related Members /// /// Gets the platform state if the /// Platform has been bound otherwise /// it returns the PlatformState.Unknown /// state /// PlatformState PlatformState { get; } /// /// Gets the platform description, null if the /// platform has not been bound /// IPlatformDescription PlatformDescription { get; } #endregion */ /// /// Starts the AgentService platform, and puts it in the ready state. /// void StartPlatform(); /// /// Makes the platform running, by acivating first the core agents and /// then the user agents. /// void RunPlatform(); /// /// Stops the platform and puts it into the ready state. /// void StopPlatform(); /// /// Restarts the AgentService platform. Restart implies the shutdown and start. /// void RestartPlatform(); /// /// Shuts down the AgentService platform. /// void ShutdownPlatform(); /// /// Attaches a shell to the platform. /// /// platform shell, if null the current shell is detached from the platform void BindToInput(TextReader inputConsole); /// /// Sets the output console for the AgentService platform. /// /// Reference to the TextWriter object used as error console. /// Reference to the TextWriter object used as main console. /// Reference to the TextWriter object used by agents as console. void BindToOutputs(TextWriter mainConsole, TextWriter errorConsole, TextWriter platformConsole); /// /// Sets the output console for the AgentService platform. /// /// reference to the TextWriter object used as error console /// reference to the TextWriter object used as main console /// reference to the RextWriter object used as warning console /// reference to the TextWriter object used by agents as console void BindToOutputs(TextWriter mainConsole, TextWriter errorConsole, TextWriter warningConsole, TextWriter platformConsole); } }