using System; using System.Collections.Generic; using System.Text; using System.Xml; using Peltarion.Core; using Peltarion.Deployed; namespace SynapsePlugin { public class SPlug : Atom, IPlugin, SignalReceiver, SignalEmitter { private Signal[] output; private GoodCopBadCop gbcop = new GoodCopBadCop(false); #region IPlugin Members public Version RequiredVersion { get { return new Version(); } } #endregion #region NamedItem Members public string Name { get { return "Your Plugin"; } } #endregion #region SignalReciever Members public int[] Inputs { //get { return new int[] { 1 }; } get { return new int[] { gbcop.Data.CSV.CSV_Input.Features }; } set { } } public void SetSignal(params Signal[] signal) { //output = new Signal[] { new Signal(signal[0].Data.MClone().Sign()) }; gbcop.Input_CSV = signal[0].Data; gbcop.StepEpoch(); output = new Signal[] { new Signal(gbcop.Output_Port0) }; } #endregion #region SignalEmitter Members public Signal[] GetSignal() { return output; } public int[] Outputs { get { return new int[] { 2 }; } set { } } #endregion public override XmlDocument ToXml() { XMLProducer x = new XMLProducer(GUID, typeof(SPlug), true); x.EncloseBaseXML(base.ToXml()); return x.Close(); } public override void FromXml(XmlDocument xml) { base.FromXml(XMLProducer.ExtractBaseXML(xml)); } } }