- это методы для размещения в моем ядре приложения.
Первый метод который просматривает папку, загружает файл, и отдает второму методу для добавления пунктов меню.
Второй метод получает указатель (INSTANCE) загруженного плагина. Согласно ранее определенного виртуального класса "интерфейса" вызывает метод operations() и получает возможности плагина. В данном случае получает набор строк для пунктов меню.
Получается, что таким образом, можно создать меню от плагина или пункты меню в окне главного окна или в системном трее?
Тут, ну допустим я понял.
Что пока не понятно что к чему. Получается класс интерфейса с виртуальными методами является болванкой и точкой входа для будущих плагинов нашего приложения. Определение этого интерфейса может быть и больше. Верно понимаю?
Так как мы определили болванку, то мы и назначаем метод который будет из нее вызываться первым для получения "точки входа". А кто будет писать плагин он должен использовать этот метод для первоначального взаимодействия с ядром приложения.
Получается, что вместо функции работы со строками можно определить метод создания какого-то QWidget или там пользовательского AppWidget и показа его на экране. Так?
Еще этот плагин будет работать в процессе ядра приложения. А возможно и нужно ли ему накинуть другой поток от процесса? Я в этой теме совсем пока плаваю. Но как я понимаю для паралельной работы нужен новый (отдельный поток) для данного GUI или плагина в целом.
Еще плагин загрузился в ядро, находится в одном процессе. Это значит что он использует одно адресное пространство с ядром приложения. Значит имеется возможность обмениваться какой-либо информацией или функциональностью. К примеру виджет из плагина обнаружив плагин по работе с БД обращается к плагину, получает соединение к БД и совершает запрос с последующим показом информации к примеру в QDockWidget . Верно?
Пока писал такое большое сообщение, меня посетила мысль, что у меня просто глаза боятся, так как такого еще никогда не делал. (
Нужно начать писать, а там уже будет поглядеть.
Тебе нужно резиновую уточку купить и ей всё это рассказывать
Один большой вопрос: зачем тебе это все, зачем "система расширений"? Без этого всего можно жить.
Обсуждают сегодня