/*********************************************************************/
/* */
/* 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;
}
}
}