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