void LocationAPIClientBase::locAPIUpdateTrackingOptions(LocationOptions& options) { pthread_mutex_lock(&mMutex); if (mLocationAPI) { uint32_t session = 0; RequestQueue* requests = mRequestQueues[REQUEST_TRACKING]; if (requests) { session = requests->getSession(); if (session > 0) { requests->push(new UpdateTrackingOptionsRequest(*this)); mLocationAPI->updateTrackingOptions(session, options); } } } pthread_mutex_unlock(&mMutex); }
void LocationAPIClientBase::locAPIGetBatchedLocations(size_t count) { pthread_mutex_lock(&mMutex); if (mLocationAPI) { uint32_t session = 0; RequestQueue* requests = mRequestQueues[REQUEST_BATCHING]; if (requests) { session = requests->getSession(); if (session > 0) { requests->push(new GetBatchedLocationsRequest(*this)); mLocationAPI->getBatchedLocations(session, count); } } } pthread_mutex_unlock(&mMutex); }
void LocationAPIClientBase::locAPIDisable() { pthread_mutex_lock(&mMutex); if (mEnabled && mLocationControlAPI) { uint32_t session = 0; RequestQueue* requests = mRequestQueues[REQUEST_CONTROL]; if (requests) { session = requests->getSession(); if (session > 0) { requests->push(new DisableRequest(*this)); mLocationControlAPI->disable(session); mEnabled = false; } } } pthread_mutex_unlock(&mMutex); }
void LocationAPIClientBase::locAPIStopTracking() { pthread_mutex_lock(&mMutex); if (mLocationAPI) { uint32_t session = 0; RequestQueue* requests = mRequestQueues[REQUEST_TRACKING]; if (requests) { session = requests->getSession(); if (session > 0) { requests->push(new StopTrackingRequest(*this)); mLocationAPI->stopTracking(session); mTracking = false; } } } pthread_mutex_unlock(&mMutex); }