/*********************************************************************/ /* */ /* 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. */ /* */ /*********************************************************************/ namespace AgentService.Platform.Modules { /// /// Enum ModuleInfoState. Defines the state of a ModuleInfo object /// public enum ModuleInfoState { /// /// the module is pending for installation /// New, /// /// the module is installed /// Installed, /// /// the module is pending for removal /// Removed } /// /// Interface ModuleInfo. Holds information /// about a module: is name and is containing /// assembly. /// public interface IModuleInfo { /// /// Gets the module unique identifier /// string Key { get; } /// /// Gets, sets the state of the ModuleInfo object /// ModuleInfoState State { get; } /// /// Gets the full name of the type that implements the module. /// string FullTypeName { get; } /// /// Gets the name of the assembly contiaing the module. /// string AssemblyName { get; } /// /// Gets the configuration file of the module /// string ConfigFile { get; } /// /// Gets the belonging category of the module /// ModuleCategory Category { get; } /// /// Gets the name of the module /// string Name { get; } /// /// Gets a summary description of the module /// string Description { get; } } }