Merge "Add API to read and write GPS lock values"
This commit is contained in:
commit
b58cab8e26
5 changed files with 106 additions and 1 deletions
|
@ -425,5 +425,11 @@ void LocApiBase::
|
||||||
closeDataCall()
|
closeDataCall()
|
||||||
DEFAULT_IMPL()
|
DEFAULT_IMPL()
|
||||||
|
|
||||||
|
int LocApiBase::
|
||||||
|
setGpsLock(unsigned int lock)
|
||||||
|
DEFAULT_IMPL(-1)
|
||||||
|
|
||||||
|
int LocApiBase::
|
||||||
|
getGpsLock()
|
||||||
|
DEFAULT_IMPL(-1)
|
||||||
} // namespace loc_core
|
} // namespace loc_core
|
||||||
|
|
|
@ -180,6 +180,20 @@ public:
|
||||||
virtual void closeDataCall();
|
virtual void closeDataCall();
|
||||||
|
|
||||||
inline virtual void setInSession(bool inSession) {}
|
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,
|
typedef LocApiBase* (getLocApi_t)(const MsgTask* msgTask,
|
||||||
|
|
|
@ -115,8 +115,21 @@ public:
|
||||||
atlCloseStatus(int handle, int is_succ);
|
atlCloseStatus(int handle, int is_succ);
|
||||||
virtual enum loc_api_adapter_err
|
virtual enum loc_api_adapter_err
|
||||||
setSUPLVersion(uint32_t version);
|
setSUPLVersion(uint32_t version);
|
||||||
|
|
||||||
virtual void setInSession(bool inSession);
|
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,
|
extern "C" LocApiBase* getLocApi(const MsgTask* msgTask,
|
||||||
|
|
|
@ -1391,3 +1391,55 @@ LocApiBase* getLocApi(const MsgTask* msgTask,
|
||||||
LOC_API_ADAPTER_EVENT_MASK_T exMask) {
|
LOC_API_ADAPTER_EVENT_MASK_T exMask) {
|
||||||
return new LocApiRpc(msgTask, 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; }
|
{ return mNavigating; }
|
||||||
inline void setInSession(bool inSession)
|
inline void setInSession(bool inSession)
|
||||||
{ mNavigating = inSession; mLocApi->setInSession(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
|
#endif //LOC_API_ENG_ADAPTER_H
|
||||||
|
|
Loading…
Reference in a new issue