///
/// Copyright © 2003-2008 JetBrains s.r.o.
/// You may distribute under the terms of the GNU General Public License, as published by the Free Software Foundation, version 2 (see License.txt in the repository root folder).
///
using JetBrains.Annotations;
using JetBrains.Build.InstallationData;
namespace JetBrains.Omea.Base.Install
{
///
/// A class marked with must implement this interface in order to be called for processing each of the assembly attributes it handles.
///
public interface IInstallAttributes
{
#region Operations
///
/// Called for each of the attributes of the requested type encountered in the known assemblies.
///
/// The installer object that provides the installation data.
/// Instance of the attribute to process.
/// The list of the Registry entries to write, or Null if none.
[CanBeNull]
InstallationDataXml InstallInstance(Installer installer, [NotNull] object attributeInstance);
///
/// Called once on the object during the registration process.
///
/// The installer object that provides the installation data.
/// The list of the Registry entries to write, or Null if none.
[CanBeNull]
InstallationDataXml InstallStatic(Installer installer);
#endregion
}
}