📄 readme.plugins
字号:
With release 0.5, ACS introduces the concept of "plugins". Plug-ins aresimply loadable shared modules that can be used to extend thefunctionality of ACS in a modular fashion at runtime. This keeps thesize of the primary ACS image small as plug-ins should involve optional oralternate features. ACS plug-ins come in a variety of specialized forms. Some plugins supportonly one active instance, while others may allow multiple modules to beloaded. ACS plug-ins are C++ classes derived from "modules.h". Currently,the following plug-in types are defined:"mod"This covers all "generic" modules. Such modules may add one "keyword" tothe script interpreter."dba"A dba plugin implements the insert/delete/search/update script keywordsthrough a database system. The most common "dba" would likely be one thatuses gdbm. A dba module is defined in "database.h" and only one instancemay be loaded."mbox"A mbox plugin implements the commit/mailbox/extension/deliver keywords andprovides the underlying support for both mailbox database management andtransactional objects (class Mailbox). Only one instance of a mbox may beloaded at any given time.notificationA notification module is derived from MWIModule. It may be loaded as ageneric module, and more than one instance may be loaded. The module mayexport a keyword into the script interpreter like other generic modules.Notification modules are used to implement message waiting indication andpaging.Generally, a module is created by defining a dso with at least one globalmodule initializer derived from one of the module classes, as in:#include <ACS/module.h>class MyModule : public Module{ ... };MyModule myInstance(..);The module constructor is created as the class is loaded, and the destructoris called as the dso is removed from memory. If the module makes use ofservice threads, those should be started and stopped with the start/stopmethods.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -