FlpLocationInterface Yapı Referansı
#include <
fused_location.h
>
Veri Alanları |
|
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 )() |
Ayrıntılı Açıklama
Standart FLP arayüzünü temsil eder.
Tanımı, fused_location.h dosyasının 321 satırı
Alan Belgeleri
void(* cleanup)() |
Arayüzü kapatır. Devam eden toplu işlemler varsa durdurulmalıdır.
Tanımı, fused_location.h dosyasının 398 satırı
void(* flush_batched_locations)() |
Şu anda depolanan tüm toplu konumları alın ve arabelleği temizleyin. Temizlenecek konum olmasa bile (bu durumda num_locations 0 olmalıdır) yanıt olarak flp_location_callback çağrılmalıdır. get_batched_location veya flush_batched_locations için yapılan sonraki çağrılar, bu çağrıda döndürülen konumlardan hiçbirini döndürmemelidir.
Tanımı, fused_location.h dosyasının 436 satırı
int(* get_batch_size)() |
Donanımda kullanılabilen grup boyutunu ( FlpLocation sayısı olarak) döndürür. Farklı donanım uygulamalarının farklı örnek boyutlarına sahip olabileceğini unutmayın. Bu işlev, FlpLocation biçiminde tanımlanan örnek sayısını döndürür. Bu değer, üst katman tarafından gruplandırma aralığına ve AP'nin uyandırılıp uyandırılmayacağına karar vermek için kullanılır.
Tanımı, fused_location.h dosyasının 343 satırı
void(* get_batched_location)(int last_n_locations) |
Toplu olarak birleştirilen birleştirilmiş konumu alın. flp_location_callback, konumu döndürmek için kullanılır. Yer nesnesi yalnızca arabellek dolu olduğunda arabellekten çıkarılır. Geri çağırma işlevi kullanılarak döndürüldüğü için arabellekten kaldırmayın. Diğer bir deyişle, yeni bir konum nesnesi olmadığında get_batched_location(1) işlevinin iki çağrısı aynı konum nesnesini döndürmelidir. Parametreler: last_n_locations: Alınacak konum sayısı. Bu, bir veya daha fazla olabilir. last_n_locations 1 ise donanım tarafından bilinen en son konumu alırsınız.
Tanımı, fused_location.h dosyasının 412 satırhindedir.
const void*(* get_extension)(const char *name) |
Uzantı bilgilerine işaretçi alın.
Tanımı, fused_location.h dosyasının 427 satırhindedir.
int(* init)( FlpCallbacks *callbacks) |
Arayüzü açar ve bu arayüzün uygulanması için geri çağırma rutinlerini sağlar. Çağrıldıktan sonra, uygulamanızın desteklediği özellikleri belirtmek için FlpCallbacks içinde flp_capabilities_callback işlevini çağırarak yanıt vermeniz gerekir.
Tanımı, fused_location.h dosyasının 333 satırdadır.
int(* inject_location)( FlpLocation *location) |
Mevcut konumu başka bir konum sağlayıcıdan ekler. Enlem ve boylam derece cinsinden, beklenen doğruluk ise metre cinsinden ölçülür. Parametreler: location: Eklenecek konum nesnesi. Döndürülen değer: FLP_RESULT_SUCCESS veya FLP_RESULT_ERROR.
Tanımı, fused_location.h dosyasının 422 satırhindedir.
size_t boyutu |
sizeof(FlpLocationInterface) olarak ayarlandı
Tanımı, fused_location.h dosyasının 325 satırdadır.
int(* start_batching)(int id, FlpBatchOptions *options) |
Konumları gruplandırmaya başlayın. Bu API, temel olarak AP uykudayken ve cihaz donanımda konumları toplu olarak gönderebiliyorken kullanılır. Konumları döndürmek için flp_location_callback kullanılır. Arabellek dolu olduğunda ve FLP_BATCH_WAKEUP_ON_FIFO_FULL kullanıldığında AP uyandırılır. Arabellek doluysa ve FLP_BATCH_WAKEUP_ON_FIFO_FULL ayarlanmamışsa en eski konum nesnesi bırakılır. Bu durumda AP uyandırılmaz. Üst katman, konumu açıkça istemek için get_batched_location API'yi kullanır. FLP_BATCH_CALLBACK_ON_LOCATION_FIX ayarlanırsa uygulama, konum düzeltmesi her gerçekleştiğinde flp_location_callback işlevini çağırır. Bu, FLP_BATCH_WAKEUP_ON_FIFO_FULL işaret ayarını geçersiz kılar. AP'nin uykuya geçebileceğini biliyorsa üst katmanların (arayan) kapatması gerekir. Bu, sistem yüksek güç modundayken navigasyon uygulamaları için yararlıdır. Parametreler: id: İsteğin kimliği. options: FlpBatchOptions yapı tanımına bakın. Döndürülen değer: Başarılı olduğunda FLP_RESULT_SUCCESS, başarısız olduğunda FLP_RESULT_INSUFFICIENT_MEMORY, FLP_RESULT_ID_EXISTS, FLP_RESULT_ERROR.
fused_location.h dosyasının 367 satırı
int(* stop_batching)(int id) |
Gruplandırmayı durdurun. Parametreler: id: İsteğin kimliği. Döndürülen Değer: Başarılı olduğunda FLP_RESULT_SUCCESS, başarısız olduğunda FLP_RESULT_ID_UNKNOWN veya FLP_RESULT_ERROR.
Tanımı, fused_location.h dosyasının 392 satırdadır.
int(* update_batching_options)(int id, FlpBatchOptions *new_options) |
Bir gruplandırma isteğiyle ilişkili FlpBatchOptions öğesini güncelleyin. Bir gruplandırma işlemi devam ederken ve FLP_BATCH_WAKEUP_ON_FIFO_FULL gibi bir gruplandırma seçeneğinin güncellenmesi gerektiğinde bu API kullanılır. Örneğin, AP açıkken ve haritalar uygulaması kullanılırken bu durumla karşılaşabilirsiniz. Parametreler: id - Mevcut bir toplu istek kimliği. new_options - Güncellenen FlpBatchOptions Dönüş değeri: Başarılı olduğunda FLP_RESULT_SUCCESS, hata olduğunda FLP_RESULT_ID_UNKNOWN, FLP_RESULT_ERROR.
Tanımı, fused_location.h dosyasının 382 satırı
Bu yapının dokümanları aşağıdaki dosyadan oluşturulmuştur:
- hardware/libhardware/include/hardware/ fused_location.h