Add API to read and write GPS lock values
This change adds an interface to set and get values for the GPS lock Change-Id: I8c83b693fe4c3e6edc9cc5c8c5cbf8471e332c86
This commit is contained in:
parent
6e83f87256
commit
112751962e
5 changed files with 106 additions and 1 deletions
|
@ -425,5 +425,11 @@ void LocApiBase::
|
|||
closeDataCall()
|
||||
DEFAULT_IMPL()
|
||||
|
||||
int LocApiBase::
|
||||
setGpsLock(unsigned int lock)
|
||||
DEFAULT_IMPL(-1)
|
||||
|
||||
int LocApiBase::
|
||||
getGpsLock()
|
||||
DEFAULT_IMPL(-1)
|
||||
} // namespace loc_core
|
||||
|
|
|
@ -180,6 +180,20 @@ public:
|
|||
virtual void closeDataCall();
|
||||
|
||||
inline virtual void setInSession(bool inSession) {}
|
||||
|
||||
/*Values for lock
|
||||
1 = Do not lock any position sessions
|
||||
2 = Lock MI position sessions
|
||||
3 = Lock MT position sessions
|
||||
4 = Lock all position sessions
|
||||
*/
|
||||
virtual int setGpsLock(unsigned int lock);
|
||||
/*
|
||||
Returns
|
||||
Current value of GPS Lock on success
|
||||
-1 on failure
|
||||
*/
|
||||
virtual int getGpsLock(void);
|
||||
};
|
||||
|
||||
typedef LocApiBase* (getLocApi_t)(const MsgTask* msgTask,
|
||||
|
|
|
@ -115,8 +115,21 @@ public:
|
|||
atlCloseStatus(int handle, int is_succ);
|
||||
virtual enum loc_api_adapter_err
|
||||
setSUPLVersion(uint32_t version);
|
||||
|
||||
virtual void setInSession(bool inSession);
|
||||
|
||||
/*Values for lock
|
||||
1 = Do not lock any position sessions
|
||||
2 = Lock MI position sessions
|
||||
3 = Lock MT position sessions
|
||||
4 = Lock all position sessions
|
||||
*/
|
||||
virtual int setGpsLock(unsigned int lock);
|
||||
/*
|
||||
Returns
|
||||
Current value of GPS Lock on success
|
||||
-1 on failure
|
||||
*/
|
||||
virtual int getGpsLock(void);
|
||||
};
|
||||
|
||||
extern "C" LocApiBase* getLocApi(const MsgTask* msgTask,
|
||||
|
|
|
@ -1391,3 +1391,55 @@ LocApiBase* getLocApi(const MsgTask* msgTask,
|
|||
LOC_API_ADAPTER_EVENT_MASK_T exMask) {
|
||||
return new LocApiRpc(msgTask, exMask);
|
||||
}
|
||||
|
||||
/*Values for lock
|
||||
1 = Do not lock any position sessions
|
||||
2 = Lock MI position sessions
|
||||
3 = Lock MT position sessions
|
||||
4 = Lock all position sessions
|
||||
*/
|
||||
int LocApiRpc::setGpsLock(unsigned int lock)
|
||||
{
|
||||
rpc_loc_ioctl_data_u_type ioctl_data;
|
||||
boolean ret_val;
|
||||
LOC_LOGD("%s:%d]: lock: %d\n", __func__, __LINE__, lock);
|
||||
ioctl_data.rpc_loc_ioctl_data_u_type_u.engine_lock = (rpc_loc_lock_e_type)lock;
|
||||
ioctl_data.disc = RPC_LOC_IOCTL_SET_ENGINE_LOCK;
|
||||
ret_val = loc_eng_ioctl (loc_eng_data.client_handle,
|
||||
RPC_LOC_IOCTL_SET_ENGINE_LOCK,
|
||||
&ioctl_data,
|
||||
LOC_IOCTL_DEFAULT_TIMEOUT,
|
||||
NULL /* No output information is expected*/);
|
||||
|
||||
LOC_LOGD("%s:%d]: ret_val: %d\n", __func__, __LINE__, (int)ret_val);
|
||||
return (ret_val == TRUE ? 0 : -1);
|
||||
}
|
||||
|
||||
/*
|
||||
Returns
|
||||
Current value of GPS lock on success
|
||||
-1 on failure
|
||||
*/
|
||||
int LocApiRpc :: getGpsLock()
|
||||
{
|
||||
rpc_loc_ioctl_data_u_type ioctl_data;
|
||||
rpc_loc_ioctl_callback_s_type callback_payload;
|
||||
boolean ret_val;
|
||||
int ret=0;
|
||||
LOC_LOGD("%s:%d]: Enter\n", __func__, __LINE__);
|
||||
ret_val = loc_eng_ioctl (loc_eng_data.client_handle,
|
||||
RPC_LOC_IOCTL_GET_ENGINE_LOCK,
|
||||
&ioctl_data,
|
||||
LOC_IOCTL_DEFAULT_TIMEOUT,
|
||||
&callback_payload);
|
||||
if(ret_val == TRUE) {
|
||||
ret = (int)callback_payload.data.engine_lock;
|
||||
LOC_LOGD("%s:%d]: Lock type: %d\n", __func__, __LINE__, ret);
|
||||
}
|
||||
else {
|
||||
LOC_LOGE("%s:%d]: Ioctl failed", __func__, __LINE__);
|
||||
ret = -1;
|
||||
}
|
||||
LOC_LOGD("%s:%d]: Exit\n", __func__, __LINE__);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -266,6 +266,26 @@ public:
|
|||
{ return mNavigating; }
|
||||
inline void setInSession(bool inSession)
|
||||
{ mNavigating = inSession; mLocApi->setInSession(inSession); }
|
||||
|
||||
/*Values for lock
|
||||
1 = Do not lock any position sessions
|
||||
2 = Lock MI position sessions
|
||||
3 = Lock MT position sessions
|
||||
4 = Lock all position sessions
|
||||
*/
|
||||
inline int setGpsLock(unsigned int lock)
|
||||
{
|
||||
return mLocApi->setGpsLock(lock);
|
||||
}
|
||||
/*
|
||||
Returns
|
||||
Current value of GPS lock on success
|
||||
-1 on failure
|
||||
*/
|
||||
inline int getGpsLock()
|
||||
{
|
||||
return mLocApi->getGpsLock();
|
||||
}
|
||||
};
|
||||
|
||||
#endif //LOC_API_ENG_ADAPTER_H
|
||||
|
|
Loading…
Reference in a new issue