/*
* Copyright (c) 2004-2006, Netherlands Forensic Institute
* All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the Institute nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Text;
using TULP2G;
using usingstatement;
namespace namespacename{
$$attributeName$$
public class $safeprojectname$ : $interfacename$
{
private Option[] _settings;
private Progress _progress;
private IFrameworkFacade _framework;
$$privateMembers$$
$$pluginInterface$$
#region IPlugin Members
/// <summary>
/// This method is called when an instance of a configuration screen
/// containing the in the Settings-member defined options is about to be
/// hidden.
/// </summary>
/// <returns>
/// Specifies whether the action for what this method was called should be
/// cancelled. This only applies when closing the configuration screen.
/// </returns>
public bool CloseSettings()
{
return true;
}
/// <summary>
/// An instance of the Progress class detailing the progress during the
/// execution of the plug-in. Used to display a progressbar in the GUI.
/// </summary>
/// <remarks>
/// After the Initialize()-method has been called by the framework, the
/// CurrentProgress property must return a valid Progress instance.
/// </remarks>
public Progress CurrentProgress
{
get { throw new Exception("The method or operation is not implemented."); }
}
/// <summary>
/// A user-readable name for the plug-in.
/// </summary>
public string DisplayName
{
get { return _framework.GetLocalizedString("$safeprojectname$", "$displayname$"); }
}
/// <summary>
/// This method is called when an instance of a configuration screen
/// containing the in the Settings-member defined options is about to be
/// displayed.
/// </summary>
public void DisplaySettings()
{
}
/// <summary>
/// A reference to the framework implementing IFrameworkFacade.
/// </summary>
/// <remarks>
/// Upon creating an instance of a plug-in class, the framework will set
/// this property to point to its IFrameworkFacade interface. The
/// framework will set this property before calling the
/// Initialize()-method. Do not use this reference before then.
/// </remarks>
public IFrameworkFacade Framework
{
set { _framework = value; }
}
/// <summary>
/// This method is called by the framework to allow the plug-in to
/// perform initialization operations.
/// </summary>
/// <remarks>
/// The Framework property has been set prior to this method being called
/// by the framework, so using it is allowed. When this method returns,
/// the framework will retrieve the Settings Hashtable and expect it to
/// contain all configurable options. The keys should represent the
/// displaynames and the values the default values of the options.
/// </remarks>
public void Initialize()
{
_progress = new Progress(100, "Initialization", 0);
_settings = new Option[4] { new Option("Port", OptionType.Pulldown, 0, null, new string[3]{"0","1","2"}),
new Option("Databits", OptionType.TextBox, "8", null),
new Option("Status", OptionType.InfoBox, "Unknown", null),
new Option("Timeout", OptionType.CheckBox, true, null)
};
}
/// <summary>
/// An array of Option instances containing plug-in options.
/// </summary>
/// <remarks>
/// After the Initialize()-method has been called by the framework, the
/// Settings array must be initialized by the plug-in to contain all
/// user-configurable settings.
/// </remarks>
public Option[] Settings
{
get
{
return _settings;
}
}
#endregion
}
}
|