alielie
2025-03-28 dedcf4174c8540ee3a912daad2ff13e014e495b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using log4net;
using System;
using System.ComponentModel;
 
namespace HMI.Core.Api
{
    public interface IPlugin : IFolderOwner
    {
        /// <summary>
        /// 初始化
        /// </summary>
        /// <returns></returns>
        void Init();
 
        /// <summary>
        /// 初始化完成(执行完构造器,并且设置好logger folder等资源之后执行)
        /// </summary>
        void InitFinish();
 
        /// <summary>
        /// 插件被激活时的操作
        /// </summary>
        /// <returns></returns>
        void Active();
 
        /// <summary>
        /// 失活时的操作
        /// </summary>
        /// <returns></returns>
        void DeActive();
 
        /// <summary>
        /// 分配日志logger(log4net)
        /// </summary>
        /// <param name="logger"></param>
        void SetLogger(ILog logger);
 
        /// <summary>
        /// 将要关闭程序事件
        /// </summary>
        void OnClose(object sender, CancelEventArgs e);
 
        /// <summary>
        /// 关闭程序事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void DoClose(object sender, EventArgs e);
 
        /// <summary>
        /// 面板切换事件(预留)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        void OnTabChange(object sender, object args);
        /// <summary>
        /// 插件加载完之后会分配一个路径,可以存放一些独立的文件
        /// </summary>
        /// <param name="folder"></param>
        void SetBaseFolder(string folder);
    }
}