Скачиваний:
113
Добавлен:
10.12.2013
Размер:
3.89 Mб
Скачать

4.4. Реализация интерфейсных функций

Из четырех интерфейсных функций (GateInit, GetNEData, GateClose, GetGateInfo) интерес представляют только первые две, так как две оставшиеся выполняют второстепенные задачи (удаление лишних экземпляров объектов и возвращение текстовой информации о версии шлюза).

4.4.1. ФункцияGateInit

GateInit - возвращает список сетевых элементов (инициализация шлюза).

procedure GateInit (

idGate: word; // идентификатор шлюза

path:PChar; // путь к каталогу, в котором искать файлы конфигурации

varNEList:TStringList// возвращаемый список сетевых элементов

);

В данном случае под списком сетевых элементов понимается список поддиректорий, которые находятся в директории «Path», имеют имена, удовлетворяющие правиламIP-адресации (например 192.168.001.255) и включают в себя файлы конфигурации ВТК-12 («vtk.cfg» и «switch.cfg»). При сканировании директории «Path» заполняются два списка, один из которых будет передан вызывающему приложению, а второй будет использоваться функциейGetNEData. Блок-схема алгоритма приведена в приложении 2.

4.4.2. ФункцияGetNeData.

GetNEData– возвращает информации о сетевом элементе

functionGetNEData(

index:LongInt; // порядковый номер сетевого элемента, соответствует номеру записи в списке, возвращаемом процедуройGateInit;

varList:Tlist// список указателей на объекты блока с номеромindex.

):Byte; // код ошибки (0 - ошибок нет; 1 - параметрindexпревышает максимальное значение, т.е. больше, чем количество элементов списка, возвращаемого функциейGateInit; 2 - файлы с конфигурацией не найдены; 3 - неверная версия файлов конфигурации.

GateNEDate– основная функция шлюза. Именно она, а точнее функцияLoadVTK, которая является внутренней функцией шлюза, обеспечивает преобразование данных о конфигурации оборудования ВТК-12 из формата производителя этого оборудования в формат ИСУМ.

Следует отметить, что в настоящее время алгоритм функционирует не в полном объеме из-за ограничений, накладываемых информационной моделью:

  • обрабатывается только одна конфигурация, находящаяся в файле коммутации (switch.cfg) первой, хотя их может быть больше;

  • игнорируются конференц-связи, т.е. соединения для трансляции по групповым каналам.

Необходимо также определить структуру ответов, т.е. ту последовательность, с которой объекты будут находиться в списке, возвращаемом функцией GetNEData. Перебрав несколько вариантов, следующая структура ответов показалась более привлекательной:

  1. ссылка на объект NetworkElement;

  2. Nссылок на объекты типаCircuitPack, гдеN– количество установленных плат канальных окончаний;

  3. ссылка на объект AccessGroup(группа канальных окончаний);

  4. Nссылок на объектыTTP(если точка доступа является однонаправленной, то в список помещается ссылка на соответствующий объект (TTPSink/TTPSource), если же точка доступа двунаправленная, то первой идет ссылка на объектTTPBid, а затем наTTPSourceиTTPSink), гдеN– количество точек доступа в группе;

(пункты 3 и 4 повторяются для второй группы доступа)

  1. ссылка на объект типа LinkEnd(SinkилиSourceв зависимости от направления связи);

  2. 30 ссылок на объекты CTP, принадлежащихLinkEnd’у.

(пункты 5 и 6 повторяются для всех оставшихся LinkEnd’ов)

В графическом виде эта последовательность приведена в приложении 3.

Соседние файлы в папке Диплом1