Название: Зависимость плагинов один от другого в приложении Отправлено: SeverusSnape от Августа 30, 2011, 15:14 Добрый день! Пишу небольшую программку - все работает отлично, но однажды захотелось встроить систему плагинов.
Опять все получилось и даже работает, но захотелось еще чтобы плагины могли взаимодействовать между собой. Здесь тоже, как мне кажется, проблем не должно возникнуть. Но! Возникла необходимость проверять зависимости плагинов одного от другого. То есть при загрузке программа пробегается по папке, создает список плагинов. Один плагин может зависеть от другого и без этого другого плагина работа первого невозможна. Может кто поделиться опытом/советом как сам реализовывал (бы) данный вопрос? Весьма благодарен! Название: Re: Зависимость плагинов один от другого в приложении Отправлено: Пантер от Августа 30, 2011, 15:17 Посмотри QtCreator - там много плагинов.
Название: Re: Зависимость плагинов один от другого в приложении Отправлено: Igors от Августа 30, 2011, 16:02 Я крутил примерно так
Код Получив GetPluginList, плагин может повесить себя в список чтобы др. могли его звать - или позвать тех кто предоставляет стервис Название: Re: Зависимость плагинов один от другого в приложении Отправлено: SeverusSnape от Августа 30, 2011, 16:14 Ну вот я так примерно и думал, просто хотелось услышать мнение более опытных товарищей.
Спасибо! Название: Re: Зависимость плагинов один от другого в приложении Отправлено: Igors от Августа 30, 2011, 16:31 Дальше там заморочки с тем что хост может выгрузить (перезагрузить) плагин и он должен оповестить об этом плагины которые его пользуют - ну или наоборот
Название: Re: Зависимость плагинов один от другого в приложении Отправлено: SASA от Августа 30, 2011, 16:44 А зачем зависимости плагинов?
Название: Re: Зависимость плагинов один от другого в приложении Отправлено: Авварон от Августа 30, 2011, 18:52 Погляди https://gitorious.org/andromeda/andromeda/trees/master/src/libs/extensionsystem Вдруг пригодится.
Название: Re: Зависимость плагинов один от другого в приложении Отправлено: iroln от Августа 30, 2011, 20:53 А не смотрели, как сделано в qutIM 0.3?
Вроде бы у них плагины могут зависеть друг от друга, и программа как раз на Qt пишется. http://wiki.qutim.org/ru/how_to_create_plugin_sdk03 Название: Re: Зависимость плагинов один от другого в приложении Отправлено: navrocky от Сентября 02, 2011, 11:40 У плагина должна быть функция, которая возвращает описатель плагина. Собственно, в описателе и будут перечислена вся информация, зависимости и т.д.
Название: Re: Зависимость плагинов один от другого в приложении Отправлено: Авварон от Сентября 02, 2011, 13:23 navrocky
Да, первая мысля именно такая. Однако при попытке загрузить плагин он автоматом загрузит те либы, к к-м он слинкован (в тч плагины) Инстанс естессно у зависимых плагинов никто не вызовет, инициализация не пройдет. Как-то так. Кроме того, описание зависимотей внешними файлами позволяет не грузить либу, если плагин отключен; а кроме того, можно подгружать описания по сети с сервера плагинов. |