FlpLocationInterface 구조체 참조
#include <
fused_location.h
>
데이터 필드 |
|
size_t | 크기 |
int(* | init )( FlpCallbacks *callbacks) |
int(* | get_batch_size )() |
int(* | start_batching )(int id, FlpBatchOptions *options) |
int(* | update_batching_options )(int id, FlpBatchOptions *new_options) |
int(* | stop_batching )(int id) |
void(* | cleanup )() |
void(* | get_batched_location )(int last_n_locations) |
int(* | inject_location )( FlpLocation *location) |
const void *(* | get_extension )(const char *name) |
void(* | flush_batched_locations )() |
상세 설명
표준 FLP 인터페이스를 나타냅니다.
fused_location.h 파일의 321 줄에 정의가 있습니다.
필드 문서
void(* cleanup)() |
인터페이스를 닫습니다. 일괄 작업이 진행 중인 경우 중지해야 합니다.
fused_location.h FILE의 398 라인에 정의가 있습니다.
void(* flush_batched_locations)() |
현재 저장된 모든 일괄 위치를 검색하고 버퍼를 지웁니다. 플러시할 위치가 없는 경우에도 응답으로 flp_location_callback을 호출해야 합니다 (이 경우 num_locations는 0이어야 함). 이후에 get_batched_location 또는 flush_batched_locations를 호출해도 이 호출에서 반환된 위치는 반환되지 않아야 합니다.
fused_location.h 파일의 436 줄에 있는 정의입니다.
int(* get_batch_size)() |
하드웨어에서 사용할 수 있는 일괄 크기 ( FlpLocation 객체 수)를 반환합니다. HW 구현에 따라 샘플 크기가 다를 수 있습니다. FlpLocation 형식으로 정의된 샘플 수를 반환합니다. 이는 상위 레이어에서 일괄 처리 간격과 AP를 깨울지 여부를 결정하는 데 사용됩니다.
fused_location.h 파일의 343 행에 있는 정의입니다.
void(* get_batched_location)(int last_n_locations) |
일괄 처리된 통합 위치를 가져옵니다. flp_location_callback은 위치를 반환하는 데 사용됩니다. 위치 객체는 버퍼가 가득 찬 경우에만 버퍼에서 삭제됩니다. 콜백을 사용하여 반환되었다고 해서 버퍼에서 삭제하지 마세요. 즉, 새 위치 객체가 없으면 get_batched_location(1)을 두 번 호출해도 동일한 위치 객체가 반환됩니다. 매개변수: last_n_locations - 가져올 위치 수입니다. 이 값은 1개 이상일 수 있습니다. last_n_locations가 1이면 하드웨어에 알려진 최신 위치를 가져옵니다.
fused_location.h 파일의 412 줄에 있는 정의입니다.
const void*(* get_extension)(const char *name) |
확장 프로그램 정보에 대한 포인터를 가져옵니다.
fused_location.h FILE의 427 라인에 정의가 있습니다.
int(* init)( FlpCallbacks *callbacks) |
인터페이스를 열고 이 인터페이스의 구현에 콜백 루틴을 제공합니다. 호출되면 FlpCallbacks 에서 flp_capabilities_callback을 호출하여 구현에서 지원하는 기능을 지정하여 응답해야 합니다.
fused_location.h 파일의 333 줄에 있는 정의입니다.
int(* inject_location)( FlpLocation *location) |
다른 위치 정보 제공업체의 현재 위치를 삽입합니다. 위도와 경도는 도 단위로 측정되며 예상 정확도는 미터 단위로 측정됩니다. 매개변수: 위치 - 삽입되는 위치 객체입니다. 반환 값: FLP_RESULT_SUCCESS 또는 FLP_RESULT_ERROR
fused_location.h 파일의 422 줄에 있는 정의입니다.
size_t 크기 |
sizeof(FlpLocationInterface)로 설정
fused_location.h FILE의 325 라인에 정의되어 있습니다.
int(* start_batching)(int id, FlpBatchOptions *options) |
위치 일괄 처리를 시작합니다. 이 API는 주로 AP가 절전 모드이고 기기가 하드웨어에서 위치를 일괄 처리할 수 있는 경우에 사용됩니다. flp_location_callback은 위치를 반환하는 데 사용됩니다. 버퍼가 가득 차고 FLP_BATCH_WAKEUP_ON_FIFO_FULL이 사용되면 AP가 깨어납니다. 버퍼가 가득 차고 FLP_BATCH_WAKEUP_ON_FIFO_FULL이 설정되지 않으면 가장 오래된 위치 객체가 삭제됩니다. 이 경우 AP가 깨어나지 않습니다. 상위 레이어는 get_batched_location API를 사용하여 위치를 명시적으로 요청합니다. FLP_BATCH_CALLBACK_ON_LOCATION_FIX가 설정된 경우 구현은 위치 수정이 있을 때마다 flp_location_callback을 호출합니다. 이렇게 하면 FLP_BATCH_WAKEUP_ON_FIFO_FULL 플래그 설정이 재정의됩니다. AP가 절전 모드로 전환될 수 있음을 알면 상위 레이어 (호출자)에서 전원을 끄는 것이 좋습니다. 이는 시스템이 고전력 모드일 때 탐색 애플리케이션에 유용합니다. 매개변수: id - 요청의 ID입니다. options - FlpBatchOptions 구조체 정의를 참고하세요. 반환 값: 성공 시 FLP_RESULT_SUCCESS, 실패 시 FLP_RESULT_INSUFFICIENT_MEMORY, FLP_RESULT_ID_EXISTS, FLP_RESULT_ERROR입니다.
fused_location.h 파일의 367 행에 정의가 있습니다.
int(* stop_batching)(int id) |
일괄 처리를 중지합니다. 매개변수: id - 요청의 ID입니다. 반환 값: 성공 시 FLP_RESULT_SUCCESS, 실패 시 FLP_RESULT_ID_UNKNOWN 또는 FLP_RESULT_ERROR
fused_location.h FILE의 392 행에 정의가 있습니다.
int(* update_batching_options)(int id, FlpBatchOptions *new_options) |
일괄 처리 요청과 연결된 FlpBatchOptions 를 업데이트합니다. 일괄 처리 작업이 진행 중이고 FLP_BATCH_WAKEUP_ON_FIFO_FULL과 같은 일괄 처리 옵션을 업데이트해야 하는 경우 이 API가 사용됩니다. 예를 들어 AP가 깨어 있고 지도 애플리케이션이 사용 중일 때 이러한 문제가 발생할 수 있습니다. 매개변수: id - 기존 일괄 요청의 ID입니다. new_options - 업데이트된 FlpBatchOptions 반환 값: 성공 시 FLP_RESULT_SUCCESS, 오류 시 FLP_RESULT_ID_UNKNOWN, FLP_RESULT_ERROR입니다.
fused_location.h 파일의 382 번 라인에 정의가 있습니다.
이 구조체에 관한 문서는 다음 파일에서 생성되었습니다.
- hardware/libhardware/include/hardware/ fused_location.h