מידע על המבנה של FlpLocationInterface

הפניה ל-Struct של 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 .


התיעוד של המבנה הזה נוצר מהקובץ הבא: