Project

General

Profile

Интерфейс обмена данными (DataQuerySource)

Начиная с в 2.15.102.247, 2.16.0.13

Назначение

Позволяет получать извне содержимое эфирного расписания или содержимое элементов МДБ. Возможно получение в формате XML через утилиту командной строки DataQuerySourceClient.exe или через Систему Событий. Для работы экстендера необходима настроенная Система событий, позволяющая обратиться к приложению извне. Настройка_системы_событий_в_приложениях_Дигиспот_II. Протокол обмена должен быть указан XML (PROTOCOL="XML").

Источник данных для формирования XML (может быть вещательный Джинн или планировщик):

<EVENT_SERVER HOST="SERVER">
  <CLIENTS>
    <TCP ADDR="SERVER_XML" TYPE="SERVER" IP="0.0.0.0" PORT="7777" PROTOCOL="XML"/>
  </CLIENTS>                                             
</EVENT_SERVER>

Приемник данных для формирования XML (рабочее место с DataQuerySource.dll):

<EVENT_SERVER HOST="CLIENT">
  <CLIENTS>
    <TCP TYPE="CLIENT" IP="127.0.0.1" PORT="7777" PROTOCOL="XML"/>
  </CLIENTS>                                             
</EVENT_SERVER>

Настройка

Файл библиотеки плагина: DataQuerySource.dll, необходимо разместить в папке Extenders Джинна, в которого доступно необходимое расписание и/или База Данных, при этом идентификатор плагина будет фиксированный: DataQuerySource

Утилита DataQuerySourceClient

Утилита позволяет обращаться к DataQuerySource и получать результаты в виде XML. Утилита должна находиться на рабочем месте, на котором планируется получать данные в формате XML.
Параметры запроса передаются через командную строку, результат возвращается в вид XML в стандартный поток вывода.
Параметры вызова утилиты отображаются, если ее запустить без параметров.

Parameters: <Module name> <Address> <Command> [Arguments]
  Module name  - module name of the data query plugin
  Address      - address connection to server ([ip address]:[port])
  Command      - command name
  Arguments    - arguments to command (<Value name>,<Type>=<value>|"<value>"[ ]...

Known commands:
* GET_MDB_ITEM_INFO     - gets MDB item with specified id
   id - Db id of MDB item, Int32, ex: 1234

* GET_SCHEDULE_CONTENT  - gets scheule content
   sch_folder_name          - name of schedule, as in Global settings, string
   sch_folder_path          - path to schedule, as in Global settings, string
   date                     - schedule date, string, yyyy-mm-dd

В версиях начиная с 2.16.76 и 2.17.0.121 - добавлены 2 параметра: /u, /timeout

Optional switches:
  /u           - turn output encoding to UTF-8, to avoid output character conversion, 
  /timeout=xxx - set reply timeout, where xxx is integer timeout value, seconds (socket will closed)

В примерах, приведенных ниже, DataQuerySourceClient.exe обращается к DataQuerySource, находящемуся в составе локально работающего приложения (т.к. обращается через адрес 127.0.0.1), которое использует порт 7777 для обмена событиями в формате XML.

Пример получения информации об элементе МБД с идентификатором 1.

DataQuerySourceClient.exe DataQuerySource 127.0.0.1:7777 GET_MDB_ITEM_INFO id,Int32=1

Пример получения расписания Default на 30 января 2013 года.

DataQuerySourceClient.exe DataQuerySource 127.0.0.1:7777 GET_SCHEDULE_CONTENT sch_folder_name=Default date=2013-01-30

Add picture from clipboard (Maximum size: 742 MB)