gis_core_link_connect()

Подключение к картографическому ядру.

Прототип:

#include <gis/gishelper.h>
int gis_core_link_connect( gis_core_connection_t *connection, int32_t shid );

Аргументы:

connection
Указатель на дескриптор соединения.
shid
Идентификатор разделяемой области памяти (РОП).

Библиотека:

gishelper

Описание:

Функция устанавливает соединение с картографическим ядром и возвращает информацию об открытой сессии через параметр connection. Для корректного завершения соединения должна использоваться функция gis_core_link_destroy(). При создании сессии картографическое ядро производит поиск разделяемого объекта по переданному идентификатору shid. Если объект с данным идентификатором ранее был создан, происходит его ассоциация с сессией клиента, в противном случае создается новый объект. В качестве shid может быть передано значение SHID_NULL. В этом случае картографическое ядро не будет ассоциировать с сессией ни один разделяемый объект и часть операций по работе с разделяемым объектом будут недоступны. Запросы к картографическому ядру, связанные с обслуживанием картографического кэша в данном случае преимущественно доступны.

Возвращаемое значение:

EOK
Успешное завершение.
EINVAL
Некорректный указатель на дескриптор соединения.
EPERM
Соединение запрещено.
ESRCH
Не удалось поключиться.
EALREADY
Повторное подключение.
EFAULT
Ошибка в ядре.

Примеры использования:

gis_core_connection_t connection;
gis_core_link_init( &connection );
gis_core_link_connect( &connection, 777 );
if ( gis_core_request_connection_state( &connection, GIS_CORE_DRIVERS_SXF_LOCAL ) != EOK )
{
printf( "Error: SXF driver connection state request failed\n" );
return 1;
}
gis_core_link_destroy( &connection, true );

Классификация:

ПК ЦКИ для ЗОСРВ «Нейтрино»

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gis_core_connection_t, gis_core_link_init() gis_core_link_destroy()




Предыдущий раздел: Описание API картографического фреймворка