const std::string BtActionAudioConnect::NAME = "audioConnect";
BtActionAudioConnect::BtActionAudioConnect()
- : BtAction(NAME), cb(NULL), cbData(NULL)
+ : BtAction(NAME), cb(nullptr), cbData(nullptr)
{
bt_audio_initialize();
}
int BtActionAudioConnect::set(const std::string &val)
{
- if (!isBtAdapterEnabled()) {
+ if (!getAdapterStatus()) {
ERR("BT is disabled");
return MODES_ERROR_SYSTEM;
}
bt_major_device_class_e devClass = devInfo->bt_class.major_device_class;
bt_adapter_free_device_info(devInfo);
- return btAudioConnect(devClass, val.c_str());
+ return connectAudio(devClass, val.c_str());
} else if (BT_ERROR_REMOTE_DEVICE_NOT_BONDED == ret) {
DBG("BT device(%s) is not bonded", val.c_str());
} else {
return MODES_ERROR_SYSTEM;
}
- ret = bt_device_set_bond_created_cb(btDeviceBondCreatedCb, this);
+ ret = bt_device_set_bond_created_cb(bondCreatedCB, this);
if (ret != BT_ERROR_NONE) {
ERR("bt_device_set_bond_created_cb(%s) Fail(%s)", val.c_str(), get_error_message(ret));
return MODES_ERROR_SYSTEM;
return MODES_ERROR_NONE;
}
-int BtActionAudioConnect::setChangedCallback(valueChangedCB callback, void * userData)
+int BtActionAudioConnect::setChangedCallback(valueChangedCB callback, void *userData)
{
- RETV_IF(NULL == callback, MODES_ERROR_INVALID_PARAMETER);
+ RETV_IF(nullptr == callback, MODES_ERROR_INVALID_PARAMETER);
- int ret = bt_audio_set_connection_state_changed_cb(connectionStateChangedCb, userData);
+ int ret = bt_audio_set_connection_state_changed_cb(connStateChangedCb, this);
if (BT_ERROR_NONE != ret) {
ERR("bt_audio_set_connection_state_changed_cb() Fail(%s)", get_error_message(ret));
return MODES_ERROR_SYSTEM;
return MODES_ERROR_NONE;
}
-void BtActionAudioConnect::unSetChangedCallback(valueChangedCB callback, void * userData)
+void BtActionAudioConnect::unSetChangedCallback(valueChangedCB callback, void *userData)
{
- RET_IF(NULL == callback);
+ RET_IF(nullptr == callback);
int ret = bt_audio_unset_connection_state_changed_cb();
if (BT_ERROR_NONE != ret)
ERR("bt_audio_unset_connection_state_changed_cb() Fail(%s)", get_error_message(ret));
- cb = NULL;
- cbData = NULL;
+ cb = nullptr;
+ cbData = nullptr;
}
-bool BtActionAudioConnect::isBtAdapterEnabled()
-{
- bt_adapter_state_e state;
- int btRet = bt_adapter_get_state(&state);
- if (BT_ERROR_NONE != btRet) {
- ERR("bt_adapter_get_state() Fail(%d)", btRet);
- return false;
- }
-
- if (state != BT_ADAPTER_ENABLED)
- return false;
- else
- return true;
-}
-
-void BtActionAudioConnect::connectionStateChangedCb(int result, bool connected,
- const char *address, bt_audio_profile_type_e type, void *userData)
+void BtActionAudioConnect::connStateChangedCb(int result, bool connected, const char *address,
+ bt_audio_profile_type_e type, void *userData)
{
BtActionAudioConnect *action = (BtActionAudioConnect*)userData;
+ RET_IF(nullptr == userData);
+ RETM_IF(true == connected, "BT Device(%s) is Connected", address);
+
INFO("BT device(%s) connection(%d)", address, connected);
if (BT_ERROR_NONE != result) {
ERR("connectionStateChangedCb() Fail(%d)", result);
return;
}
- if (false == connected && action->requestVal == address)
+ if (action->cb && address == action->requestVal)
action->cb(action->cbData);
}
-void BtActionAudioConnect::btDeviceBondCreatedCb(int result, bt_device_info_s *devInfo, void *userData)
+void BtActionAudioConnect::bondCreatedCB(int result, bt_device_info_s *devInfo, void *userData)
{
if (BT_ERROR_NONE != result) {
ERR("btDeviceBondCreatedCb Fail(%s)", get_error_message(result));
}
BtActionAudioConnect *action = (BtActionAudioConnect*)userData;
- printBtDeviceInfo(devInfo);
if (action->requestVal != devInfo->remote_address) {
ERR("Unknown BT device(%s)", devInfo->remote_address);
return;
} else {
bt_device_unset_bond_created_cb();
}
+ action->printBtDeviceInfo(devInfo);
- int ret = btAudioConnect(devInfo->bt_class.major_device_class, devInfo->remote_address);
- if (BT_ERROR_NONE != ret) {
- ERR("btAudioConnect() Fail(%d)", ret);
+ int ret = action->connectAudio(devInfo->bt_class.major_device_class, devInfo->remote_address);
+ if (MODES_ERROR_NONE != ret) {
+ ERR("connectAudio(%s) Fail(%d)", devInfo->remote_address, ret);
return;
}
-
- DBG("BtActionAudioConnect(%s, %s) Success!", devInfo->remote_name, devInfo->remote_address);
}
-int BtActionAudioConnect::btAudioConnect(bt_major_device_class_e devClass, const char *address)
+int BtActionAudioConnect::connectAudio(bt_major_device_class_e devClass, const char *address)
{
if (BT_MAJOR_DEVICE_CLASS_AUDIO_VIDEO != devClass) {
ERR("BT device(%s) is not AUDIO MAJOR Class", address);
void BtActionAudioConnect::printBtDeviceInfo(bt_device_info_s *devInfo)
{
- RET_IF(devInfo == NULL);
+ RET_IF(nullptr == devInfo);
DBG("BT Bonded Device Info ========================================");
DBG("remote_address : [%s]", devInfo->remote_address);
#include "plugin-log.h"
MODES_NAMESPACE_USE;
-#define SAFE_POINTER_ASSIGN( arg1, arg2) if ( arg1 != NULL ) { *arg1 = arg2; }
const std::string BtActionPower::NAME = "power";
BtActionPower::BtActionPower()
- : BtAction(NAME), cb(NULL), cbData(NULL), undoVal(false), requestVal(false)
+ : BtAction(NAME), requestVal(false), oldVal(false), cb(nullptr), cbData(nullptr)
{
}
int BtActionPower::set(bool val)
{
+ requestVal = val;
if (val) {
- undoVal = false;
+ oldVal = false;
int ret = bt_adapter_enable();
if (BT_ERROR_NONE != ret) {
if (BT_ERROR_ALREADY_DONE == ret) {
- undoVal = true;
+ oldVal = true;
} else {
ERR("bt_adapter_enable() Fail(%d)", ret);
return MODES_ERROR_SYSTEM;
}
}
} else {
- undoVal = true;
+ oldVal = true;
int ret = bt_adapter_disable();
if (BT_ERROR_NONE != ret) {
if (BT_ERROR_NOT_ENABLED == ret) {
- undoVal = false;
+ oldVal = false;
} else {
ERR("bt_adapter_disable() Fail(%d)", ret);
return MODES_ERROR_SYSTEM;
}
}
- requestVal = val;
- INFO("BT power changed to (%s) from (%s)", val ? "On" : "Off", undoVal ? "On" : "Off");
+ INFO("BT power (%s -> %s)", val ? "On" : "Off", oldVal ? "On" : "Off");
return MODES_ERROR_NONE;
}
void BtActionPower::undo()
{
- set(undoVal);
+ set(oldVal);
}
std::string BtActionPower::serialize()
{
std::ostringstream ostr;
- ostr << undoVal;
+ ostr << oldVal;
return ostr.str();
}
int BtActionPower::parse(const std::string &archive)
{
std::istringstream iss(archive);
- iss >> undoVal;
+ iss >> oldVal;
return MODES_ERROR_NONE;
}
int BtActionPower::setChangedCallback(valueChangedCB callback, void *userData)
{
- RETV_IF(NULL == callback, MODES_ERROR_INVALID_PARAMETER);
+ RETV_IF(nullptr == callback, MODES_ERROR_INVALID_PARAMETER);
- int ret = bt_adapter_set_state_changed_cb(btStateChangedCB, this);
+ int ret = bt_adapter_set_state_changed_cb(stateChangedCB, this);
if (BT_ERROR_NONE != ret) {
ERR("bt_adapter_set_state_changed_cb() Fail(%s)", get_error_message(ret));
return MODES_ERROR_SYSTEM;
cb = callback;
cbData = userData;
- DBG("BtActionPower setChangedCallback() Success");
return MODES_ERROR_NONE;
}
+
void BtActionPower::unSetChangedCallback(valueChangedCB callback, void *userData)
{
- RET_IF(NULL == callback);
+ RET_IF(nullptr == callback);
int ret = bt_adapter_unset_state_changed_cb();
if (BT_ERROR_NONE != ret)
ERR("bt_adapter_unset_state_changed_cb() Fail(%s)", get_error_message(ret));
- cb = NULL;
- cbData = NULL;
-
- DBG("BtActionPower unSetChangedCallback() Success");
+ cb = nullptr;
+ cbData = nullptr;
}
-void BtActionPower::btStateChangedCB(int result, bt_adapter_state_e state, void *user_data)
+void BtActionPower::stateChangedCB(int result, bt_adapter_state_e state, void *userData)
{
- BtActionPower *action = (BtActionPower*)user_data;
+ BtActionPower *action = (BtActionPower*)userData;
- RET_IF(NULL == user_data);
+ RET_IF(nullptr == userData);
bool changedVal = action->requestVal;
if (state == BT_ADAPTER_ENABLED)
INFO("state:%d", state);
- if (changedVal != action->requestVal)
+ if (action->cb && changedVal != action->requestVal)
action->cb(action->cbData);
}