Плагины программы jFap v2. Тех-справка
Плагины - это средства обучения работы программы с конкретными сайтами
и серверами с целью облегчения доступа пользователю к данным на них.
Принцип работы таков:
- Изначально система опрашивает твой плагин с целью составления
списка особо обрабатываемых сайтов и серверов и конечных обработчиков
(плагинов) данных с таких сайтов. На этом этапе твой плагин должен
ответить списком URI и IP адресов, с данными от которых он работает, и
другой сопроводительной информацией. Эти данные запрашиваются единожды
и сохраняются в файл конфигурации (система НЕ опрашивает доступные её
библиотеки при каждой своей загрузке).
- На втором этапе, при попытке пользователя загрузить данные с
одного из указанных тобой серверов система загружает твой плагин и
передаёт ему полученные данные. Далее ты можешь обработать их с целью
выдачи системе, и в конечном счёте пользователю, эффективных ссылок на
полезные данные (например выдернуть ссылку на поток из страницы
просмотра видео какого нибудь видеохостинга.
- И Завершающий этап. Представляет собой непосредственно выдачу
системе эффективной ссылки, или ссылок, на загрузку и отказа от
дальнейшей работы с этим запросом, загрузкой. Далее твой плагин может
оказаться выгружен, если пока больше нет запросовна обрабатываемые им данные.
Что есть плагин:
Плагин это динамически подключаемая библиотека (.dll) формата PE32
(Windows). Помимо этого данная библиотека должна экспортировать три
функции с именами:
GetAbout - Первичный этап. Обеспечивает способ запроса сведений с какими сайтами работает твой плагин.
GetProcAndIddForUrl
- Первый этап второго этапа - Обеспечивает открытие особого,
создаваемого и управляемого твоим плагином, блока интерфейса
пользователя в окне добавления или свойств загрузки.
HasAction - Второй этап
второго этапа. Обеспечивает обработку принятых из сети данных. Таковую
обработку можно делать и в составе средств, обеспечиваемых GetProcAndIddForUrl,
однако это настоятельно не рекомендуется т. к. лишает пользователя
возможности закрыть диалог добавления до завершения фазы участия твоего
плагина в процессе запроса конечных полезных пользователю данных.
Помимо возможностей этих трёх функций программа предлагает тебе и средства:
Наборы особых сообщений, позволяющих запрашивать, управлять и контролировать различные аспекты процесса запроса данных с сервера из процедур, порождаемых GetProcAndIddForUrl.
Наборы средств, обеспечивающих управление процессом получения данных и организацией интерфейса пользователя из процедур HasAction, а также и GetProcAndIddForUrl.
Библиотеку средств помощи разбора данных и вопросов сохранения настроек.
Контрол, организующий таблицу с древовидной структурой и сворачиваемыми группами её строк.
Заметки:
Один URI или IP может обрабатываться несколькими
плагинами. В таком случае в окне добавления загрузки будет более двух
вариантов выбора. Средств выставления приоритетов пока не предусмотрено
(выставляется редактированием файла settings.ini)
В виду текущих технических проблем нельзя чтоб имя твоего файла библиотеки содержало пробелы и знаки ";" (точка с запятой)
ВАЖНО! Плагины должны собираться со связыванием с msvcrt.dll.
В частных случаях это правило допустимо нарушить, но в таком случае
твой плагин ни в коем случае никогда не должен вызывать какие-либо CRT
функции применительно к любым данным предоставляемым и посылаемым
системе!!!
Отладка:
Программа поддерживает запуск с аргументом -l:dllName.dll для удобства отладки. Запускай отладчик с аргументами:
2Fap.exe http://твой_URL -l:your.dll,
что не исключает того что http://твой_URL должен
обрабатываться твоим плагином, ну и базовые: отлаживаемый плагин должен
находится в папке с программой, и не забывай про рабочий каталог, если
у тебя что-либо сложней единственной библиотеки или CURL и OpenSSL у
тебя не установлены централизованно в операционную систему.
Далее система после своего запуска выведет сообщение "Библиотека загружена" - это специальная "точка останова", провоцируемая сразу после успешного выполнения LoadLibrary(),
но до какой либо "полезной" работы с твоей библиотекой. для твоей
библиотеки. Это сделано специально для того чтоб чётко обозначить что
твоя библиотека найдена и дать тебе прицепиться отладчиком, если он не
может это отслеживать сразу.
Понятия:
URL - Ссылка на конечные запрашиваемые данные с какого либо сервера в сети. Состоит из URI и пути к запрашиваемому объекту.
IP - "аппаратный" адрес сервера в сети. Каждый компьютер в сети имеет
свой IP, некоторые также имеют доменные имена, как средство удобного
представления этого сервера пользователю.
URI - Стандартное обозначение доменного имени. Имя сайта,
сервера, из
URL ссылки. Доменное имя - не только средство удобного представления
какого-либо сервера пользователю, но и средство автоматизации и
абстракции. Один URI может соответствовать нескольким физическим
серверам, так и на оборот у одного сервера может быть несколько URI,
причём он может их рассматривать как часть пути к запрашиваемым данным,
тем самым обеспечивая работу нескольких разных веб-сайтов.
Основная, базовая программа, система (без "операционная") -
указания на основной исполняющий модуль (jFap.exe) и внутренние
процессы в нём, обеспечивающие работу средств, в описании которых
приведено это понятие.
Плагин - динамически подключаемая библиотека, расширяющая работу базовой программы.
Пользователь (без конкретики) - отсылка потенциальных действий с
визуальным интерфейсом управления программой. Также иногда в
документации пользователем обозначается и разработчик плагина, но это
можно отличить по контексту.
Загрузка - Совокупность данных, описывающих запрос на получение чего либо из сети, включая уже полученные данные.
Быстрая справка
ОС |
С поддержкой WinAPI v4
|
DLL |
2Fap.exe, 2fapShare.dll
|
Библиотека |
2fapShare.lib
|
Заголовок |
***
|
Смотри также