// found in the LICENSE file.
var validator_ = xwalk.utils.validator;
+var privilege_ = xwalk.utils.privilege;
var types_ = validator_.Types;
var type_utils = xwalk.utils.type;
var native_ = new xwalk.utils.NativeManager(extension);
};
ListenerManager.prototype.addListener = function(callback) {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var id = this.nextId;
if (!this.nativeSet) {
this.native.addListener(this.listenerName, this.onListenerCalled.bind(this));
};
ListenerManager.prototype.removeListener = function(watchId) {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
if (this.listeners.hasOwnProperty(watchId)) {
delete this.listeners[watchId];
}
}
SEService.prototype.getReaders = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var args = validator_.validateArgs(arguments, [
{ name: "successCallback", type: types_.FUNCTION },
{ name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
}
SEService.prototype.shutdown = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var result = native_.callSync('SEService_shutdown', {});
if (native_.isFailure(result)) {
}
Reader.prototype.getName = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var callArgs = { handle: this._handle };
var result = native_.callSync('SEReader_getName', callArgs);
};
Reader.prototype.openSession = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var args = validator_.validateArgs(arguments, [
{ name: "successCallback", type: types_.FUNCTION },
{ name: "errorCallback", type: types_.FUNCTION, optional: true, nullable: true }
};
Reader.prototype.closeSessions = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
native_.call('SEReader_closeSessions', callArgs);
};
}
Channel.prototype.close = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
native_.callSync('SEChannel_close', callArgs);
};
Channel.prototype.transmit = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var args = validator_.validateArgs(arguments, [
{ name: "command", type: types_.ARRAY, values: types_.BYTE },
{ name: "successCallback", type: types_.FUNCTION },
}
Channel.prototype.getSelectResponse = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
native_.callSync('SEChannel_getSelectResponse', callArgs);
}
}
Session.prototype.openBasicChannel = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var args = validator_.validateArgs(arguments, [
{ name: "aid", type: types_.ARRAY, values: types_.BYTE },
{ name: "successCallback", type: types_.FUNCTION },
};
Session.prototype.openLogicalChannel = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
+
var args = validator_.validateArgs(arguments, [
{ name: "aid", type: types_.ARRAY, values: types_.BYTE },
{ name: "successCallback", type: types_.FUNCTION },
}
Session.prototype.getATR = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
return native_.callSync('SESession_getATR', callArgs);
}
Session.prototype.close = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
native_.callSync('SESession_close', callArgs);
}
Session.prototype.closeChannels = function() {
+ xwalk.utils.checkPrivilegeAccess(privilege_.SECUREELEMENT);
var callArgs = { handle: this._handle };
native_.callSync('SESession_closeChannels', callArgs);
}
using namespace common;
using namespace smartcard_service_api;
-namespace {
-const std::string kPrivilegeSecureElement = "http://tizen.org/privilege/secureelement";
-}
-
SecureElementInstance::SecureElementInstance()
: service_(*this) {
using std::placeholders::_1;
void SecureElementInstance::GetReaders(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
double callback_id = 0.0;
if (args.contains("callbackId")) {
callback_id = args.get("callbackId").get<double>();
void SecureElementInstance::RegisterSEListener(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
service_.RegisterSEListener();
ReportSuccess(out);
}
void SecureElementInstance::UnregisterSEListener(
const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
service_.UnregisterSEListener();
ReportSuccess(out);
}
void SecureElementInstance::Shutdown(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
service_.Shutdown();
ReportSuccess(out);
}
void SecureElementInstance::GetName(
const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
Reader* reader_ptr = (Reader*) static_cast<long>(args.get("handle").get<double>());
SEReader seReader(reader_ptr);
picojson::value result = seReader.getName();
void SecureElementInstance::CloseSessions(
const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
Reader* reader_ptr = (Reader*) static_cast<long>(args.get("handle").get<double>());
SEReader seReader(reader_ptr);
seReader.closeSessions();
void SecureElementInstance::CloseChannel( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
ClientChannel* channel_ptr = (ClientChannel*) static_cast<long>(args.get("handle").get<double>());
SEChannel seChannel(channel_ptr);
seChannel.close();
void SecureElementInstance::GetSelectResponse( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
ClientChannel* channel_ptr = (ClientChannel*) static_cast<long>(args.get("handle").get<double>());
SEChannel seChannel(channel_ptr);
void SecureElementInstance::OpenSession(
const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
const double callback_id = args.get("callbackId").get<double>();
Reader* reader_ptr = (Reader*) static_cast<long>(args.get("handle").get<double>());
void SecureElementInstance::OpenBasicChannel( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
const double callback_id = args.get("callbackId").get<double>();
const picojson::array v_aid = args.get("aid").get<picojson::value::array>();
Session* session_ptr = (Session*) static_cast<long>(args.get("handle").get<double>());
void SecureElementInstance::OpenLogicalChannel( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
const double callback_id = args.get("callbackId").get<double>();
const picojson::array v_aid = args.get("aid").get<picojson::value::array>();
Session* session_ptr = (Session*) static_cast<long>(args.get("handle").get<double>());
void SecureElementInstance::GetATR( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
Session* session_ptr = (Session*) static_cast<long>(args.get("handle").get<double>());
SESession seSession(session_ptr);
void SecureElementInstance::CloseSession( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
Session* session_ptr = (Session*) static_cast<long>(args.get("handle").get<double>());
SESession seSession(session_ptr);
seSession.close();
void SecureElementInstance::CloseChannels( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
Session* session_ptr = (Session*) static_cast<long>(args.get("handle").get<double>());
SESession seSession(session_ptr);
seSession.closeChannels();
void SecureElementInstance::Transmit( const picojson::value& args, picojson::object& out) {
LoggerD("Enter");
-
- CHECK_PRIVILEGE_ACCESS(kPrivilegeSecureElement, &out);
-
const double callback_id = args.get("callbackId").get<double>();
const picojson::array v_command = args.get("command").get<picojson::value::array>();
ClientChannel* channel_ptr = (ClientChannel*) static_cast<long>(args.get("handle").get<double>());