const std::string &type,
bool* patternStatus) {
LoggerD("Entered");
+
auto &pattern_e = m_feedbackMapsPtr->getPatternFromMap(pattern);
auto &type_e = m_feedbackMapsPtr->getTypeFromMap(type);
+
if (m_feedbackMapsPtr->isPatternSupportChecked(pattern_e, type_e)) {
*patternStatus = m_feedbackMapsPtr->isPatternSupported(pattern_e, type_e);
return PlatformResult(ErrorCode::NO_ERROR);
}
+
int ret = feedback_is_supported_pattern(type_e, pattern_e, patternStatus);
if (ret != FEEDBACK_ERROR_NONE) {
LoggerE("isPatternSupported failed: %d", ret);
- return CodeToResult(ret, getFeedbackErrorMessage(ret).c_str());
+ return CodeToResult(FEEDBACK_ERROR_NOT_SUPPORTED, "Pattern not supported");
}
+
m_feedbackMapsPtr->setPatternSupport(pattern_e, type_e, *patternStatus);
+
return PlatformResult(ErrorCode::NO_ERROR);
}
} else {
bool patternSupport = false;
auto result = isPatternSupported(pattern, type, &patternSupport);
+
if (!result) {
return result;
}
+
if (patternSupport) {
ret = feedback_play_type(m_feedbackMapsPtr->getTypeFromMap(type),
m_feedbackMapsPtr->getPatternFromMap(pattern));
return CodeToResult(FEEDBACK_ERROR_NOT_SUPPORTED, "Not supported device");
}
}
+
if (ret != FEEDBACK_ERROR_NONE) {
LoggerE("play failed: %d", ret);
return CodeToResult(ret, getFeedbackErrorMessage(ret).c_str());
}
+
return PlatformResult(ErrorCode::NO_ERROR);
}
common::PlatformResult FeedbackManager::stop() {
LoggerD("Entered");
+
int ret = feedback_stop();
if(ret != FEEDBACK_ERROR_NONE && ret != FEEDBACK_ERROR_NOT_SUPPORTED) {
LoggerE("stop failed: %d", ret);
return CodeToResult(ret, getFeedbackErrorMessage(ret).c_str());
- }
+ }
+
return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult FeedbackManager::CodeToResult(const int errorCode,
const std::string& message) {
LoggerD("Entered");
+
switch(errorCode) {
- case FEEDBACK_ERROR_INVALID_PARAMETER:
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, message);
- case FEEDBACK_ERROR_OPERATION_FAILED:
- return LogAndCreateResult(ErrorCode::SECURITY_ERR, message);
case FEEDBACK_ERROR_NOT_SUPPORTED:
return LogAndCreateResult(ErrorCode::NOT_SUPPORTED_ERR, message);
+ case FEEDBACK_ERROR_INVALID_PARAMETER:
+ case FEEDBACK_ERROR_OPERATION_FAILED:
case FEEDBACK_ERROR_NOT_INITIALIZED:
default:
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, message);
+ return LogAndCreateResult(ErrorCode::ABORT_ERR, message);
}
}
const std::string FeedbackManager::getFeedbackErrorMessage(const int error_code) {
LoggerD("Error code : %d", error_code);
+
switch(error_code) {
case FEEDBACK_ERROR_OPERATION_FAILED:
return "Operation not permitted";
case FEEDBACK_ERROR_NOT_INITIALIZED:
return "Not initialized";
default:
- return "UnknownError";
+ return "Abort Error";
}
}