/*********************************************************************/ /* */ /* 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.Collections.Generic; using System.Text; namespace AgentService.Platform.Configuration { /// /// Class ManagerFactory. This class exposes methods to /// create a family of related managers object (namely /// ConfigurationManager and InstallationManager derived /// classes). Implementor classes have to provide a family /// of related objects which are connected by the file /// format used for configuration and installation files. /// /// This class is bsed on the Factory pattern. public abstract class ManagerFactory { /// /// Gets the file format for this /// ManagerFactory. /// public abstract string Format { get; } /// /// Creates a ConfigurationManager object. ConfigurationManager /// objects are used to read and write files configuration files. /// /// configuration file /// ConfigurationManager derived instance public abstract ConfigurationManager CreateConfigurationManager(string configFile); /// /// Creates a InstallationManager object. InstallationManager /// objects are used to read and write installation files. /// /// installation file /// InmstallationManager derived instance public abstract InstallManager CreateInstallManager(string installFile); } }