Написание плагинов
Чтобы написать плагин, нужно реализовать некоторые интерфейсы ипоместить вашу реализацию в динамическую библиотеку (.dll
в Windowsили .so
в Linux), которую называют модулем плагина или просто модулем.В большинстве случаев одиночный плагин размещается в динамическойбиблиотеке, но не обязательно. Один из этих интерфейсов —IPluginModule
— является модульным(как более или менее ясно из его имени), другие отвечают за плагин.Также каждый модуль плагина должен содержать специальнуюэкспортированную точку входа firebird_plugin()
, имя которой указано вфайле include/firebird/Interfaces.h
как FB_PLUGIN_ENTRY_POINT
.
В предыдущей части мы в основном описывали, как использоватьсуществующие интерфейсы, здесь основное внимание будет уделеносамостоятельной реализации интерфейсов. Разумеется, для этого можно инужно использовать уже существующие интерфейсы, общие для доступа кбазам данных Firebird (уже описанные) и некоторые дополнительныеинтерфейсы, специально предназначенные для плагинов.
Далее активно используется пример плагина шифрования базы данныхexamples/dbcrypt/DbCrypt.cpp
. Будет хорошей идеей собрать этот примерсамостоятельно и изучить его при чтении позже.