#region License Information
/* HeuristicLab
* Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
*
* This file is part of HeuristicLab.
*
* HeuristicLab is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* HeuristicLab 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with HeuristicLab. If not, see .
*/
#endregion
using System;
using System.Collections.Generic;
using System.Text;
namespace HeuristicLab.PluginInfrastructure {
///
/// Enumerator of available file types for a plugin.
///
public enum PluginFileType {
Assembly,
Executable,
Data,
License
};
///
/// PluginFileAttribute can be used to declare which files make up an plugin.
/// Multiple files can be associated to an plugin. Each file should be associated to only one plugin.
///
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
public class PluginFileAttribute : System.Attribute {
private string filename;
///
/// Gets or sets the filename of the plugin.
///
public string Filename {
get { return filename; }
set { filename = value; }
}
private PluginFileType filetype = PluginFileType.Data;
///
/// Gets or sets the filetype of the plugin file.
///
public PluginFileType Filetype {
get { return filetype; }
set { filetype = value; }
}
///
/// Initializes a new instance of .
/// Name of the file
/// Type of the file (Assembly, Executable, Data, License)
///
public PluginFileAttribute(string filename, PluginFileType type) {
this.filename = filename;
this.filetype = type;
}
}
}