การอ้างอิง FlpLocationInterface Struct
#include <
fused_location.h
>
ฟิลด์ข้อมูล |
|
size_t | size |
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 มาตรฐาน
คําจํากัดความที่บรรทัด 321 ของไฟล์ fused_location.h
เอกสารประกอบในสนาม
void(* cleanup)() |
ปิดอินเทอร์เฟซ หากมีการดำเนินการแบบเป็นกลุ่มที่อยู่ระหว่างดำเนินการ ให้หยุดการดำเนินการดังกล่าว
คําจํากัดความที่บรรทัด 398 ของไฟล์ fused_location.h .
void(* flush_batched_locations)() |
เรียกข้อมูลสถานที่แบบเป็นกลุ่มทั้งหมดที่จัดเก็บไว้ในปัจจุบันและล้างบัฟเฟอร์ ต้องมีการเรียก flp_location_callback เพื่อตอบกลับ แม้ว่าจะไม่มีสถานที่ที่จะล้าง (ในกรณีนี้ num_locations ควรเป็น 0) การเรียก get_batched_location หรือ flush_batched_locations ในภายหลังไม่ควรแสดงผลลัพธ์ตำแหน่งใดๆ ที่แสดงในการเรียกนี้
คําจํากัดความที่บรรทัด 436 ของไฟล์ fused_location.h .
int(* get_batch_size)() |
แสดงผลขนาดกลุ่ม (เป็นจํานวน FlpLocation วัตถุ) ที่มีอยู่ในฮาร์ดแวร์ โปรดทราบว่าการติดตั้งใช้งานฮาร์ดแวร์ที่แตกต่างกันอาจมีขนาดตัวอย่างแตกต่างกัน ซึ่งจะแสดงผลจํานวนตัวอย่างที่กําหนดในรูปแบบของ FlpLocation เลเยอร์บนจะใช้ข้อมูลนี้เพื่อตัดสินใจเกี่ยวกับช่วงเวลาการแบ่งกลุ่มและควรปลุก AP หรือไม่
คําจํากัดความที่บรรทัด 343 ของไฟล์ fused_location.h .
void(* get_batched_location)(int last_n_locations) |
รับตำแหน่งที่ผสานซึ่งจัดกลุ่มไว้ ระบบจะใช้ flp_location_callback เพื่อแสดงตำแหน่ง ระบบจะทิ้งออบเจ็กต์ตำแหน่งออกจากบัฟเฟอร์ก็ต่อเมื่อบัฟเฟอร์เต็มเท่านั้น อย่านำข้อมูลออกจากบัฟเฟอร์เพียงเพราะมีการคืนค่าโดยใช้การเรียกกลับ กล่าวคือ เมื่อไม่มีออบเจ็กต์ตำแหน่งใหม่ การเรียก get_batched_location(1) 2 ครั้งควรแสดงผลออบเจ็กต์ตำแหน่งเดียวกัน พารามิเตอร์: last_n_locations - จํานวนสถานที่ที่จะรับ ซึ่งอาจเป็น 1 รายการหรือหลายรายการก็ได้ หาก last_n_locations เป็น 1 คุณจะได้รับตำแหน่งล่าสุดที่ฮาร์ดแวร์ทราบ
คําจํากัดความที่บรรทัด 412 ของไฟล์ fused_location.h .
const void*(* get_extension)(const char *name) |
รับเคอร์เซอร์ไปยังข้อมูลส่วนขยาย
คําจํากัดความที่บรรทัด 427 ของไฟล์ fused_location.h .
int(* init)( FlpCallbacks *callbacks) |
เปิดอินเทอร์เฟซและระบุรูทีนการเรียกกลับเพื่อใช้งานอินเทอร์เฟซนี้ เมื่อมีการเรียกใช้ คุณควรตอบกลับด้วยการเรียก flp_capabilities_callback ใน FlpCallbacks เพื่อระบุความสามารถที่การติดตั้งใช้งานของคุณรองรับ
คําจํากัดความที่บรรทัด 333 ของไฟล์ fused_location.h .
int(* inject_location)( FlpLocation *location) |
แทรกตำแหน่งปัจจุบันจากผู้ให้บริการตำแหน่งรายอื่น โดยละติจูดและลองจิจูดจะวัดเป็นองศาและความแม่นยำที่คาดไว้จะวัดเป็นเมตร พารามิเตอร์: location - ออบเจ็กต์ตำแหน่งที่แทรก ผลลัพธ์: FLP_RESULT_SUCCESS หรือ FLP_RESULT_ERROR
คําจํากัดความที่บรรทัด 422 ของไฟล์ fused_location.h .
size_t size |
ตั้งค่าเป็น sizeof(FlpLocationInterface)
คําจํากัดความที่บรรทัด 325 ของไฟล์ fused_location.h .
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 ทุกครั้งที่มีการแก้ไขตำแหน่ง ซึ่งจะลบล้างการตั้งค่า Flag FLP_BATCH_WAKEUP_ON_FIFO_FULL เลเยอร์บน (ผู้เรียก) มีหน้าที่รับผิดชอบในการปิด AP หากทราบว่า AP อาจเข้าสู่โหมดสลีป ซึ่งมีประโยชน์สำหรับแอปพลิเคชันการนำทางเมื่อระบบอยู่ในโหมดพลังงานสูง พารามิเตอร์: id - รหัสสําหรับคําขอ options - ดู FlpBatchOptions คําจํากัดความของโครงสร้าง ผลลัพธ์ที่ได้: FLP_RESULT_SUCCESS หากสำเร็จ, FLP_RESULT_INSUFFICIENT_MEMORY, FLP_RESULT_ID_EXISTS, FLP_RESULT_ERROR หากไม่สำเร็จ
คําจํากัดความที่บรรทัด 367 ของไฟล์ fused_location.h .
int(* stop_batching)(int id) |
หยุดการแยกกลุ่ม พารามิเตอร์: id - รหัสสําหรับคําขอ ผลลัพธ์ที่ได้: FLP_RESULT_SUCCESS หากสําเร็จ FLP_RESULT_ID_UNKNOWN หรือ FLP_RESULT_ERROR หากไม่สําเร็จ
คําจํากัดความที่บรรทัด 392 ของไฟล์ fused_location.h .
int(* update_batching_options)(int id, FlpBatchOptions *new_options) |
อัปเดต FlpBatchOptions ที่เชื่อมโยงกับคําขอการรวม ระบบจะใช้ API นี้เมื่อการดำเนินการเป็นกลุ่มอยู่ระหว่างดำเนินการและจำเป็นต้องอัปเดตตัวเลือกการทํางานเป็นกลุ่ม เช่น FLP_BATCH_WAKEUP_ON_FIFO_FULL เช่น กรณีนี้อาจเกิดขึ้นเมื่อ AP เปิดอยู่และมีการใช้แอปพลิเคชันแผนที่ พารามิเตอร์: id - รหัสของคําขอกลุ่มที่มีอยู่ new_options - อัปเดตแล้ว FlpBatchOptions ผลลัพธ์: FLP_RESULT_SUCCESS หากสําเร็จ, FLP_RESULT_ID_UNKNOWN, FLP_RESULT_ERROR หากเกิดข้อผิดพลาด
คําจํากัดความที่บรรทัด 382 ของไฟล์ fused_location.h .
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ fused_location.h