Клиентский компонент шлюза

Клиентский компонент шлюза представляет собой стандартный COM-компонент, реализующий ряд предопределённых интерфейсов, в частности:

  • Интерфейс IObjectUI — стандартный для всех клиентских объектов СУБП (функций и шлюзов) интерфейс, который определяет наличие у объекта идентификатора, названия, иконки и хранимых данных.

  • Интерфейс IGateUI — стандартный интерфейс клиентского компонента шлюза. Реализует свойства и методы для работы с доступными типами переменных (объектов шлюза). Например, шлюз к файловой системе может обрабатывать два типа переменных — файлы и папки файловой системы.

  • Интерфейс IDVObjectUI (необязательный) — стандартный интерфейс для компонент, использующих объекты Docsvision. Позволяет получить доступ к текущей сессии и окну Windows-клиента.

Наиболее важными в реализации клиентского компонента шлюза являются следующие методы:
  • GetObjectTypes — возвращает коллекцию описаний регистрируемых шлюзом типов переменных.

  • GetMethods — возвращает коллекцию описаний методов, предоставляемых шлюзом для манипуляций над объектами.

  • SelectObject — выбор значения переменной указанного типа. Обычно, вызов данного метода влечет за собой открытие одного или нескольких диалоговых окон.

  • GetObjectDisplayValue — возвращает отображаемое значение переменной указанного типа по её числовому значению.

Шлюз может иметь собственные хранимые данные (например, настройки соединения с внешней системой или иные необходимые настройки), которые могут меняться в зависимости от того, в каком процессе используется шлюз. В таком случае эти данные передаются и возвращаются при помощи свойства Data интерфейса IObjectUI и сохраняются в базе данных Docsvision. Пользовательский интерфейс для изменения этих настроек (в случае необходимости) также реализуется клиентским компонентом шлюза с помощью страниц свойств.

Для передачи шлюзу настроек, общих для всех экземпляров шлюза одного типа, также предусмотрен интерфейс IGateInit. В существующих шлюзах он используется для установки xml-описания шлюза.

Для разработки страниц свойств рекомендуется использовать компонент Property Page Designer (DDPropPageD.ocx), входящий в комплект поставки Docsvision.

Настройки (данные) шлюза используются в дальнейшем в серверном компоненте шлюза при его инициализации.

При занесении шлюза в справочник необходимо указать программный идентификатор (ProgID) разработанного клиентского компонента.

Клиентский компонент может быть разработан с использованием Visual Basic или Visual C++.