Есть несколько идей по расширению API
Posted: 16 Oct 2006, 10:59 Mon
Есть несколько идей по расширению API
Для DoAction
AddingURL
Новый тэг в параметре:
<request>...</request>
или
<rawrequest>...</rawrequest>
При наличие этого тэга все остальные связанные с запросом DM по идеи должен игнорировать, а всю информацию брать из запроса (собственно ее брать то и не надо, просто послать запрос на сервер).
Здесь надо отметить, что если используется PROXY сервер DM должен в запросе прописать полный URL и параметр Host вставить, ели его не было. Может еще что-то, я точно не знаю.
Пример:
<request>GET \files\1.zip HTTP/1.0
Host: dl.com
...
...
</request>
GetDownloadDir (без параметра) - возвращает каталог загрузки по умолчанию
GetDMParam (где параметр имя ключа в реестре) - для получения его значения
Для того чтобы читать значения из "HKEY_CURRENT_USER\Software\2VG\Download Master"
В принципе можно и из плагина читать реестр, но вдруг разработчики решат изменить название фирмы например, или программы, или перенесут в раздел HKLN.
GetDMParamsPath (без параметра) - возвращает "HKEY_CURRENT_USER\Software\2VG\Download Master"
Альтернативный вариант.
Для EventRaised
dm_addingurl
Возникает когда DM пытается добавить новую закачку при этим в качестве параметра передается полное XML описание.
Работать должно как фильтр, т.е. плагин может внести изменение в это описание и вернуть его в обновленном виде.
Если в плагине отсутствует реакция на это событие, то он возвращает пустую строку – что будет означать ничего не изменять!
Если плагин вернет строку “canceled” это значит полное отменение добавление закачки (после получения этого ответа DM больше ничего не должен делать).
(Плагин который сам инициировал AddingURL пусть тоже получает это событие)
dm_clipbrdchange
Если DM контролирует изменение в буфере обмена, то почему бы не сделать это событие.
В параметре можно передавать новый текст.
Проблемка:
Мне показалось что plugin_stop вызывается только при остановке плагина, но если плагин включен, а пользователь вырубил DM то это событие не происходит =(
Для DoAction
AddingURL
Новый тэг в параметре:
<request>...</request>
или
<rawrequest>...</rawrequest>
При наличие этого тэга все остальные связанные с запросом DM по идеи должен игнорировать, а всю информацию брать из запроса (собственно ее брать то и не надо, просто послать запрос на сервер).
Здесь надо отметить, что если используется PROXY сервер DM должен в запросе прописать полный URL и параметр Host вставить, ели его не было. Может еще что-то, я точно не знаю.
Пример:
<request>GET \files\1.zip HTTP/1.0
Host: dl.com
...
...
</request>
GetDownloadDir (без параметра) - возвращает каталог загрузки по умолчанию
GetDMParam (где параметр имя ключа в реестре) - для получения его значения
Для того чтобы читать значения из "HKEY_CURRENT_USER\Software\2VG\Download Master"
В принципе можно и из плагина читать реестр, но вдруг разработчики решат изменить название фирмы например, или программы, или перенесут в раздел HKLN.
GetDMParamsPath (без параметра) - возвращает "HKEY_CURRENT_USER\Software\2VG\Download Master"
Альтернативный вариант.
Для EventRaised
dm_addingurl
Возникает когда DM пытается добавить новую закачку при этим в качестве параметра передается полное XML описание.
Работать должно как фильтр, т.е. плагин может внести изменение в это описание и вернуть его в обновленном виде.
Если в плагине отсутствует реакция на это событие, то он возвращает пустую строку – что будет означать ничего не изменять!
Если плагин вернет строку “canceled” это значит полное отменение добавление закачки (после получения этого ответа DM больше ничего не должен делать).
(Плагин который сам инициировал AddingURL пусть тоже получает это событие)
dm_clipbrdchange
Если DM контролирует изменение в буфере обмена, то почему бы не сделать это событие.
В параметре можно передавать новый текст.
Проблемка:
Мне показалось что plugin_stop вызывается только при остановке плагина, но если плагин включен, а пользователь вырубил DM то это событие не происходит =(