/*********************************************************************/ /* */ /* 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.Reflection; using AgentService.Platform.AMS; using AgentService.Platform.MTS; using AgentService.Platform.Modules; namespace AgentService.Platform { /// /// Interface IModuleController. Manages the operation /// with the modules exposed by the platform ocntroller. /// public interface IModuleController { #region Storage IModuleInfo[] GetInstalledModules(bool bAdditional); /// /// Gets all the Assembly contained in the repository /// /// List of assemblies AssemblyName[] GetStoredAssemblies(); /// /// Gets the list of the stored AgentTemplate types /// used to instantiate agents. /// /// an array containing a AgentTemplateDescriptor object for each AgentTemplate AgentTemplateDescriptor[] GetStoredAgentTemplates(); /// /// Gets the list of the stored Behaviour types /// used to instantiate agents. /// /// an array containing a BehaviourDescriptor object for each Behavoiur BehaviourDescriptor[] GetStoredBehaviours(); /// /// Gets the list of the stored Knowledge types /// used to instantiate agents. /// /// an array containing a KnowledgeDescriptor object for each Knowledge KnowledgeDescriptor[] GetStoredKnowledges(); /// /// Uploads an assembly to the platform's storage /// /// path to the assembly /// null if successfull a description of the error otherwise IModuleError UpLoadAssembly(string asmPath, bool bReplaceIfExists); /// /// Uploads an assembly to the platform's storage /// /// path to the assembly /// null if successfull a description of the error otherwise IModuleError RemoveAssembly(string asmPath); #endregion #region Logging /// /// Gets the log file of an agent. /// /// AID identifing the agent /// content of the log string GetLogFile(AID aid); #endregion #region Messaging /// /// Gets a collection of filtered messages /// /// aid of the agent /// filter criteria /// list of filtered messages AgentMessageCollection FilterMessage(AID aid, MessageFilter filter); /// /// Clears all the messages in the storage. /// void ClearAllMessages(); /// /// Clears all the messages in the storage for a given agent. /// /// AID identifing the agent /// true, if the process is successful bool ClearAllMessages(AID aid); #endregion } }