define

package
v0.4.26 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2026 License: LGPL-2.1 Imports: 6 Imported by: 43

Documentation

Overview

Package define 利用泛型特性,简化插件代码编写。

  • 支持定义插件与插件接口,按安装位置分类,共有通用插件、运行时插件、服务插件三种。
  • 使用 GoLand 作为 IDE 时,需要更新至 2023.2 版本以上,否则可能会有误报错。
  • 可以参考官方示例:https://git.golaxy.org/examples,学习如何使用。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddInDefinition added in v0.3.66

type AddInDefinition[ADDIN_IFACE, SETTING any] struct {
	Id        uint64                                                        // 插件Id
	Name      string                                                        // 插件名称
	Install   generic.ActionVar1[extension.AddInProvider, SETTING]          // 安装插件
	Uninstall generic.Action1[extension.AddInProvider]                      // 卸载插件
	Require   generic.Func1[extension.AddInProvider, ADDIN_IFACE]           // 依赖插件
	Lookup    generic.FuncPair1[extension.AddInProvider, ADDIN_IFACE, bool] // 查找插件
}

AddInDefinition 通用插件定义

func AddIn added in v0.3.66

func AddIn[ADDIN_IFACE, SETTING any](creator generic.FuncVar0[SETTING, ADDIN_IFACE], name ...string) AddInDefinition[ADDIN_IFACE, SETTING]

AddIn 定义通用插件,支持安装至运行时上下文和服务上下文

type AddInInterfaceDefinition added in v0.3.66

type AddInInterfaceDefinition[ADDIN_IFACE any] struct {
	Id      uint64                                                        // 插件Id
	Name    string                                                        // 插件名称
	Require generic.Func1[extension.AddInProvider, ADDIN_IFACE]           // 依赖插件
	Lookup  generic.FuncPair1[extension.AddInProvider, ADDIN_IFACE, bool] // 查找插件
}

AddInInterfaceDefinition 通用插件接口定义

func AddInInterface added in v0.3.66

func AddInInterface[ADDIN_IFACE any](name ...string) AddInInterfaceDefinition[ADDIN_IFACE]

AddInInterface 定义通用插件接口,支持安装至运行时上下文和服务上下文,通常用于为同类插件的不同实现提供统一的接口

type RuntimeAddInDefinition added in v0.3.66

type RuntimeAddInDefinition[ADDIN_IFACE, SETTING any] struct {
	Id        uint64                                                // 插件Id
	Name      string                                                // 插件名称
	Install   generic.ActionVar1[extension.AddInProvider, SETTING]  // 安装插件
	Uninstall generic.Action1[extension.AddInProvider]              // 卸载插件
	Require   generic.Func1[runtime.Context, ADDIN_IFACE]           // 依赖插件
	Lookup    generic.FuncPair1[runtime.Context, ADDIN_IFACE, bool] // 查找插件
}

RuntimeAddInDefinition 运行时插件定义

func RuntimeAddIn added in v0.3.66

func RuntimeAddIn[ADDIN_IFACE, SETTING any](creator generic.FuncVar0[SETTING, ADDIN_IFACE], name ...string) RuntimeAddInDefinition[ADDIN_IFACE, SETTING]

RuntimeAddIn 定义运行时插件,支持安装至运行时上下文

type RuntimeAddInInterfaceDefinition added in v0.3.66

type RuntimeAddInInterfaceDefinition[ADDIN_IFACE any] struct {
	Id      uint64                                                // 插件Id
	Name    string                                                // 插件名称
	Require generic.Func1[runtime.Context, ADDIN_IFACE]           // 依赖插件
	Lookup  generic.FuncPair1[runtime.Context, ADDIN_IFACE, bool] // 查找插件
}

RuntimeAddInInterfaceDefinition 运行时插件接口定义

func RuntimeAddInInterface added in v0.3.66

func RuntimeAddInInterface[ADDIN_IFACE any](name ...string) RuntimeAddInInterfaceDefinition[ADDIN_IFACE]

RuntimeAddInInterface 定义运行时插件接口,支持安装至运行时上下文,通常用于为同类插件的不同实现提供统一的接口

type ServiceAddInDefinition added in v0.3.66

type ServiceAddInDefinition[ADDIN_IFACE, SETTING any] struct {
	Id        uint64                                                // 插件Id
	Name      string                                                // 插件名称
	Install   generic.ActionVar1[extension.AddInProvider, SETTING]  // 安装插件
	Uninstall generic.Action1[extension.AddInProvider]              // 卸载插件
	Require   generic.Func1[service.Context, ADDIN_IFACE]           // 依赖插件
	Lookup    generic.FuncPair1[service.Context, ADDIN_IFACE, bool] // 查找插件
}

ServiceAddInDefinition 服务插件定义

func ServiceAddIn added in v0.3.66

func ServiceAddIn[ADDIN_IFACE, SETTING any](creator generic.FuncVar0[SETTING, ADDIN_IFACE], name ...string) ServiceAddInDefinition[ADDIN_IFACE, SETTING]

ServiceAddIn 定义服务插件,支持安装至服务上下文

type ServiceAddInInterfaceDefinition added in v0.3.66

type ServiceAddInInterfaceDefinition[ADDIN_IFACE any] struct {
	Id      uint64                                                // 插件Id
	Name    string                                                // 插件名称
	Require generic.Func1[service.Context, ADDIN_IFACE]           // 依赖插件
	Lookup  generic.FuncPair1[service.Context, ADDIN_IFACE, bool] // 查找插件
}

ServiceAddInInterfaceDefinition 服务插件接口定义

func ServiceAddInInterface added in v0.3.66

func ServiceAddInInterface[ADDIN_IFACE any](name ...string) ServiceAddInInterfaceDefinition[ADDIN_IFACE]

ServiceAddInInterface 定义服务插件接口,支持安装至服务上下文,通常用于为同类插件的不同实现提供统一的接口

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL