[Verification] Code compiles without errors.
Change-Id: I9fe0482f93b0c89e706941f3f9ce0e3f9f196ce2
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
string result;
switch (se_event) {
case NFC_SE_EVENT_SE_TYPE_CHANGED:
- // TODO: fill when addActiveSecureElementChangeListener will be added
+ result = NFCAdapter::GetInstance()->GetActiveSecureElement();
+ obj.insert(make_pair("listenerId", "ActiveSecureElementChanged"));
break;
case NFC_SE_EVENT_CARD_EMULATION_CHANGED:
result = NFCAdapter::GetInstance()->GetCardEmulationMode();
- obj.insert(make_pair("mode", result));
obj.insert(make_pair("listenerId", "CardEmulationModeChanged"));
break;
default:
LOGD("se_event_occured: %d", se_event);
- break;
+ return;
}
+ obj.insert(make_pair("mode", result));
NFCInstance::getInstance().PostMessage(event.serialize().c_str());
}
if (!m_is_listener_set) {
int ret = nfc_manager_set_se_event_cb(se_event_callback, NULL);
if (NFC_ERROR_NONE != ret) {
- LOGE("addCardEmulationModeChangeListener failed: %d", ret);
+ LOGE("AddCardEmulationModeChangeListener failed: %d", ret);
NFCUtil::throwNFCException(ret,
NFCUtil::getNFCErrorMessage(ret).c_str());
}
m_is_listener_set = false;
}
+void NFCAdapter::AddActiveSecureElementChangeListener() {
+ if (!m_is_listener_set) {
+ int ret = nfc_manager_set_se_event_cb(se_event_callback, NULL);
+ if (NFC_ERROR_NONE != ret) {
+ LOGE("AddActiveSecureElementChangeListener failed: %d", ret);
+ NFCUtil::throwNFCException(ret,
+ NFCUtil::getNFCErrorMessage(ret).c_str());
+ }
+ }
+
+ m_is_listener_set = true;
+}
+
+void NFCAdapter::RemoveActiveSecureElementChangeListener() {
+ if (!nfc_manager_is_supported()) {
+ throw NotSupportedException("NFC Not Supported");
+ }
+
+ if (m_is_listener_set) {
+ nfc_manager_unset_se_event_cb();
+ }
+ m_is_listener_set = false;
+}
+
}// nfc
}// extension
void AddCardEmulationModeChangeListener();
void RemoveCardEmulationModeChangeListener();
+ void AddActiveSecureElementChangeListener();
+ void RemoveActiveSecureElementChangeListener();
static NFCAdapter* GetInstance();
private:
};
var CARD_EMULATION_MODE_LISTENER = 'CardEmulationModeChanged';
+var ACTIVE_SECURE_ELEMENT_LISTENER = 'ActiveSecureElementChanged';
var cardEmulationModeListener = new ListenerManager(native_, CARD_EMULATION_MODE_LISTENER);
+var activeSecureElementChangeListener = new ListenerManager(native_, ACTIVE_SECURE_ELEMENT_LISTENER);
//enumeration NDEFRecordTextEncoding ////////////////////////////////////////////////////
var NDEFRecordTextEncoding = {
}
]);
- if (T_.isEmptyObject(cardEmulationModeListener.listeners)) {
+ if (T_.isEmptyObject(cardEmulationModeListener.listeners) &&
+ T_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
native_.callSync('NFCAdapter_addCardEmulationModeChangeListener');
}
]);
cardEmulationModeListener.removeListener(args.listenerId);
- if (T_.isEmptyObject(cardEmulationModeListener.listeners)) {
+ if (T_.isEmptyObject(cardEmulationModeListener.listeners) &&
+ T_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
}
};
};
NFCAdapter.prototype.addActiveSecureElementChangeListener = function() {
+ var args = validator_.validateArgs(arguments, [
+ {
+ name: 'callback',
+ type: types_.LISTENER,
+ values: ['onchanged']
+ }
+ ]);
+
+ if (T_.isEmptyObject(cardEmulationModeListener.listeners) &&
+ T_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
+ native_.callSync('NFCAdapter_addActiveSecureElementChangeListener ');
+ }
+ return activeSecureElementChangeListener.addListener(args.callback);
};
NFCAdapter.prototype.removeActiveSecureElementChangeListener = function() {
+ var args = validator_.validateArgs(arguments, [
+ {
+ name: 'listenerId',
+ type: types_.LONG
+ }
+ ]);
+ activeSecureElementChangeListener.removeListener(args.listenerId);
+ if (T_.isEmptyObject(cardEmulationModeListener.listeners) &&
+ T_.isEmptyObject(activeSecureElementChangeListener.listeners)) {
+ native_.callSync('NFCAdapter_removeCardEmulationModeChangeListener');
+ }
};
NFCAdapter.prototype.getCachedMessage = function() {
void NFCInstance::AddActiveSecureElementChangeListener(
const picojson::value& args, picojson::object& out) {
-
+ NFCAdapter::GetInstance()->AddActiveSecureElementChangeListener();
}
void NFCInstance::RemoveActiveSecureElementChangeListener(
const picojson::value& args, picojson::object& out) {
-
+ NFCAdapter::GetInstance()->RemoveActiveSecureElementChangeListener();
}
void NFCInstance::GetCachedMessage(