gis_core_request_maps_list()

Получение списка доступных карт для выбранного драйвера.

Прототип:

#include <gis/gishelper.h>
int gis_core_request_maps_list( gis_core_connection_t *connection, gis_core_request_parameters_t *params, gis_core_driver_id_t driver_id, gis_core_map_list_t *map_list );

Аргументы:

connection
Указатель на дескриптор соединения.
params
Указатель на структуру параметров запроса к картографическому ядру.
driver_id
Идентификатор драйвера.
map_list
Указатель на список карт.

Библиотека:

gishelper

Описание:

Функция позволяет запросить у картографического ядра список карт во внутреннем формате (GCM), которые доступны драйверу driver_id для заданного региона params (анализируется лишь поле borders данной структуры). При успешном выполнении запроса функция выделяет память для возвращаемого списка карт map_list самостоятельно.

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

EOK
Успешное завершение.
ESRCH
Запрос не выполнен.
EPIPE
Соединение с картографическим ядром не установлено.
EINVAL
Передан некорректный указатель.
EFAULT
Чтение списка карт завершилось с ошибкой.
ENOMEM
Не удалось выделить память для списка карт.
ENODATA
Отсутствуют данные, удовлетворяющие параметрам запроса.

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

gis_core_connection_t connection;
gis_core_link_init( &connection );
gis_core_link_connect( &connection, 777 );
gis_core_request_parameters_t map_desc;
gis_core_request_parameters_init( &map_desc );
gis_core_map_list_t map_list;
gis_core_map_list_init( &map_list );
if ( gis_core_request_maps_list( &connection, &map_desc, GIS_CORE_DRIVERS_SXF_LOCAL, &map_list ) != EOK ) {
printf( "gis_core_request_maps_list() failed\n" );
return 1;
}
if ( map_list.entry_count != 2 ) {
printf( "Incorrect number of maps: %d\n", map_list.entry_count );
return 1;
}
gis_core_map_list_free( &map_list );
gis_core_link_destroy( &connection, true );

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

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

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

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

gis_core_connection_t, gis_core_request_parameters_t, gis_core_driver_id_t gis_core_map_list_t gis_core_map_list_free() gis_core_map_list_get_entry()




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