gis_data_raw_map_select_next_object()

Выбор следующего объекта в текущей карте разделяемой области памяти.

Прототип:

#include <gis/gis_raw.h>
int gis_data_raw_map_select_next_object( gis_data_raw_context_t ctx );

Аргументы:

ctx
Контекст gis_data_raw_context_t.

Библиотека:

gishelper

Описание:

Функция выбирает следующий объект в текущей карте разделяемой области памяти.

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

EOK
Успешное завершение.
EINVAL
Некорректный указатель на контекст.
EBADFD
Некорректный указатель на разделяемую область памяти.
EFAULT
Некорректный указатель на текущую карту в разделяемой области памяти.
EIO
Некорректный указатель на текущий объект
EDOM
Индекс объекта превышает количество объектов в карте
EAGAIN
Достигнут последний объект в карте.

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

gis_core_connection_t connection;
gis_core_request_parameters_t map;
gis_data_raw_context_t raw_ctx;
gis_core_link_init( &connection );
gis_core_link_connect( &connection, 777 );
gis_core_databuffer_attach( &connection );
gis_core_request_parameters_init( &map );
gis_core_databuffer_data_request( &connection, &map, 1 );
gis_data_raw_ctx_alloc( &raw_ctx );
gis_data_raw_ctx_import_databuffer( raw_ctx );
gis_data_raw_select_first_map( raw_ctx );
int counter = 0;
do {
if ( ! GIS_IS_CORE_MAP_DATA_SOURCE_VECTOR( gis_data_raw_map_get_data_source( raw_ctx ) ) )
continue;
if ( gis_data_raw_map_select_first_object( raw_ctx ) != EOK ) {
printf( "gis_data_raw_map_select_first_object() failed\n" );
gis_data_raw_ctx_free( &raw_ctx );
gis_core_databuffer_detach();
gis_core_link_destroy( &connection, true );
return 1;
}
do {
counter++;
} while ( gis_data_raw_map_select_next_object( raw_ctx ) == EOK );
} while ( gis_data_raw_select_next_map( raw_ctx ) == EOK );
if ( counter != 29391 )
{
printf( "Incorrect number of objects: %d\n", counter );
gis_data_raw_ctx_free( &raw_ctx );
gis_core_databuffer_detach();
gis_core_link_destroy( &connection, true );
return 1;
}
gis_data_raw_ctx_free( &raw_ctx );
gis_core_databuffer_detach();
gis_core_link_destroy( &connection, true );

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

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

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

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

gis_data_raw_context_t, gis_data_raw_map_select_object()




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