מידע על המבנה של FlpLocationInterface
#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 . השכבה העליונה תשתמש בנתונים האלה כדי להחליט על מרווח הזמן לאיסוף הבקשות ולקבוע אם צריך להעיר את נקודת הגישה או לא.
ההגדרה מופיעה בשורה 343 בקובץ fused_location.h .
void(* get_batched_location)(int last_n_locations) |
אחזור המיקום הממוזג שהצטבר. הפונקציה flp_location_callback משמשת להחזרת המיקום. אובייקט המיקום יוסר מהמאגר רק כאשר המאגר מלא. אל תסירו אותו מהמאגר רק בגלל שהוא הוחזר באמצעות פונקציית ה-callback. במילים אחרות, כשאין אובייקט מיקום חדש, שתי קריאות ל-get_batched_location(1) אמורות להחזיר את אותו אובייקט מיקום. פרמטרים: last_n_locations – מספר המיקומים שרוצים לקבל. יכול להיות לכם חשבון אחד או כמה חשבונות. אם הערך של last_n_locations הוא 1, מקבלים את המיקום האחרון הידוע לחומרה.
ההגדרה מופיעה בשורה 412 בקובץ fused_location.h .
const void*(* get_extension)(const char *name) |
קבלת הפניה למידע על התוסף.
ההגדרה מופיעה בשורה 427 בקובץ fused_location.h .
int(* init)( FlpCallbacks *callbacks) |
פתיחת הממשק ומתן פונקציות ה-callback להטמעה של הממשק הזה. אחרי הקריאה, צריך להשיב עליה באמצעות קריאה לפונקציה 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 לא מוגדרת, אובייקט המיקום הישן ביותר מושמט. במקרה כזה, נקודת הגישה לא תתעורר. השכבה העליונה תשתמש ב-API של get_batched_location כדי לבקש במפורש את המיקום. אם ההגדרה FLP_BATCH_CALLBACK_ON_LOCATION_FIX מוגדרת, ההטמעה תפנה לפונקציה flp_location_callback בכל פעם שיש תיקון מיקום. ההגדרה הזו מבטלת את הגדרת הדגל FLP_BATCH_WAKEUP_ON_FIFO_FULL. השכבות העליונות (מבצע הקריאה) אחראיות לכבות אותו, אם הן יודעות שה-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 שמשויך לבקשת אצווה. כשמתבצעת פעולת קיבוץ, ויש צורך לעדכן אפשרות קיבוץ כמו FLP_BATCH_WAKEUP_ON_FIFO_FULL, המערכת תשתמש ב-API הזה. לדוגמה, זה יכול לקרות כשה-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