old_flsystem/类库/Api.Framework/SDK/Plugin.cs

163 lines
3.8 KiB
C#
Raw Permalink Normal View History

2022-09-20 03:10:29 +00:00
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Api.Framework.SDK
{
/// <summary>
/// 插件版本
/// </summary>
public class PluginVersion
{
/// <summary>
/// 软件最低版本
/// </summary>
public Version SoftVersion { get; set; }
/// <summary>
/// 当前版本号
/// </summary>
public Version CurVersion { get; set; }
/// <summary>
/// 当前版本更新内容
/// </summary>
public string CurMessage { get; set; }
/// <summary>
/// 下载地址
/// </summary>
public string DownURL { get; set; }
}
/// <summary>
/// 插件基础类 - 插件开发继承后重写
/// </summary>
public class Plugin : IDisposable, IComparable
{
internal SDKEvent _SDK { get; set; }
/// <summary>
/// 事件
/// </summary>
public SDKEvent SDK
{
get
{
if (_SDK == null)
{
_SDK = new SDKEvent(this);
}
return _SDK;
}
}
//public bool IsNet { get; internal set; }
/// <summary>
/// 插件名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 插件简介
/// </summary>
public string Note { get; set; }
/// <summary>
/// XML版本信息
/// </summary>
public string VersionXML { get; set; }
/// <summary>
/// 当前版本号
/// </summary>
public Version CurVersion { get; internal set; }
/// <summary>
/// 文件路径
/// </summary>
public string FilePath { get; internal set; }
/// <summary>
/// 插件MD5信息
/// </summary>
public string Md5 { get; internal set; }
/// <summary>
/// 插件顺序
/// </summary>
public int Level { get; internal set; }
public bool IsRun { get; internal set; }
/// <summary>
/// 插件图标
/// </summary>
public Image Logo { get; set; }
public void Dispose()
{
}
///// <summary>
///// 安装s
///// </summary>
//public virtual void Install() { }
///// <summary>
///// 卸载
///// </summary>
//public virtual void UnInstall() { }
/// <summary>
/// 启动
/// </summary>
public virtual void Start() { }
/// <summary>
/// 窗体
/// </summary>
public virtual void ShowForm()
{
MessageBox.Show("这个插件没有设置窗口!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
/// <summary>
/// 停用
/// </summary>
public virtual void Stop() { }
public int CompareTo(object obj)
{
try
{
Plugin info = obj as Plugin;
string str = obj.GetType().ToString();
//Console.WriteLine();
if (str == "AutoAnswer.Class1") return -1;
else if (this.GetType().ToString() == "AutoAnswer.Class1") return 1;
if (str == "MessageSupervises.Class1") return 1;
else if (this.GetType().ToString() == "MessageSupervises.Class1") return -1;
if (this.Level < info.Level)
return -1;
if (this.Level == info.Level)
return 0;
else
return 1;
}
catch (Exception) { return 0; }
}
}
}