7 public abstract class IPlugin
10 private object _source
;
11 protected XmlDocument _xmldoc
;
12 protected bool _workdone
= false;
13 protected IBlock _block
= null;
14 protected CommSocket _in
= null, _out
= null;
16 public virtual IInfo Info { get { return _info; }
}
17 public XmlDocument XmlDoc { set { _xmldoc = value; }
}
21 get { return _source; }
22 set { _source = value; }
25 public virtual XmlNode Config
31 public virtual bool WorkDone
33 get { return _workdone; }
34 set { _workdone = value; }
39 set { _block = value; }
42 public abstract void Setup();
43 public abstract void Work();
45 public virtual void Invalidate()
51 protected void ClearInput()
55 for(int i
=0; i
<_in
.Length
; i
++)
61 protected void ClearOutput()
65 for(int i
=0; i
<_out
.Length
; i
++)
71 public virtual void Lock()
75 public virtual void Unlock()
79 public virtual bool HasSetup
84 public abstract int NumIn { get; }
85 public abstract int NumOut { get; }
97 public abstract string DescIn(int n
);
98 public abstract string DescOut(int n
);
100 public abstract string[] MatchIn { get; }
101 public abstract string[] MatchOut { get; }
103 public virtual float Progress { get { return -1; }
}
106 public abstract class IImgProcPlugin
: IPlugin
109 public abstract class IResProcPlugin
: IPlugin
112 public abstract class IComparatorPlugin
: IPlugin
115 public abstract class IOtherPlugin
: IPlugin