
Страница проекта на Google Code
Модуль предназначен для использования DM API внешними программами.
Модуль принимает через подключение TCP внешние команды, оформленные должным образом, вызывает функцию DM API и отправляет через подключение TCP результат функции.
Модуль транслирует всем подключённым клиентам события DM API.
Модуль НЕ контролирует безопасность подключения.
Подключение клиента выполняется на локальный адрес 127.0.0.1 и порт, указанный в настройках (по умолчанию 9999).
Команда представляет собой строку, содержащую XML:
<action>функция</action><params>параметры</params>
где
"функция" - одна из указанных в readme.txt функций DM API,
"параметры" - соответствующие этой функции параметры.
Результат передаётся "как есть".
Ограничения:
1) Если "функция" не поддерживается DM, результат не передаётся.
2) Результаты GetCategoriesList, GetSpeedsList и GetConnectionsList передаются в виде списка, разделённого запятыми.
3) События передаются в виде строки, содержащей XML:
<event>событие</event><params>параметры</params>
где
"событие" - одно из указанных в readme.txt событий DM API (содержимое eventType), кроме plugin_start и plugin_stop,
"параметры" - содержимое eventData; если eventData содержит пустую строку, токен params отсутствует.
Версия 1.0
1.1 (21.10.2009)
[*] В событиях передаётся токен data вместо params.
[*] Результат "заворачивается" в токен data.
[+] Для идентификации конкретных данных в команде может присутствовать токен id, содержащий уникальный идентификатор. Он копируется в результат.
Пояснения.
Команда:
<action>функция</action><params>параметры</params><id>идентификатор</id>
id необязателен
Результат:
<data>результат</data><id>идентификатор</id>
id есть, если был в команде
Событие:
<event>событие</event><data>данные</data>
Версия 1.1