// This file is compiled into each plugin, hence its size should be minimized.
#include "common/extension.h"
+#include "common/logger.h"
namespace {
};
int32_t Extension::Detail::XW_Initialize(XW_Extension extension, XW_GetInterface get_interface) {
+ LoggerD("Enter");
g_extension = CreateExtension();
if (!g_extension) {
std::cerr << "Can't initialize extension: "
}
void Extension::Detail::OnInstanceCreated(XW_Instance xw_instance) {
+ LoggerD("Enter");
if (!g_extension) {
return;
}
}
void Extension::Detail::OnShutdown(XW_Extension) {
+ LoggerD("Enter");
delete g_extension;
g_extension = nullptr;
}
*/
#include "common/converter.h"
+#include "common/logger.h"
#include <stdexcept>
#include <string>
const picojson::value& FindValue(const picojson::object& in,
const char* name) {
+ LoggerD("Enter");
auto it = in.find(name);
if (it == in.end()) {
throw common::UnknownException(
return std::stol(str, pos, base);
}
catch (const std::invalid_argument& e) {
+ LoggerE("invalid_argument");
throw common::InvalidValuesException(e.what());
}
catch (const std::out_of_range& e) {
+ LoggerE("InvalidValuesException");
throw common::InvalidValuesException(e.what());
}
}
namespace common {
CurrentApplication& CurrentApplication::GetInstance() {
+ LoggerD("Enter");
static CurrentApplication current_application;
return current_application;
}
pid_t CurrentApplication::GetProcessId() const {
+ LoggerD("Enter");
return pid_;
}
std::string CurrentApplication::GetApplicationId() const {
+ LoggerD("Enter");
return app_id_;
}
std::string CurrentApplication::GetPackageId() const {
+ LoggerD("Enter");
return package_id_;
}
pid_(getpid()),
app_id_(FetchApplicationId()),
package_id_(FetchPackageId()) {
+ LoggerD("Enter");
}
std::string CurrentApplication::FetchApplicationId() const {
+ LoggerD("Enter");
std::string app_id;
char* tmp_str = nullptr;
}
std::string CurrentApplication::FetchPackageId() const {
+ LoggerD("Enter");
std::string package_id;
char* tmp_str = nullptr;
namespace common {
DBusOperationArguments::DBusOperationArguments() {
+ LoggerD("Enter");
}
DBusOperationArguments::~DBusOperationArguments() {
+ LoggerD("Enter");
for (auto iter = arguments_.begin(); iter != arguments_.end(); ++iter) {
ArgType type = iter->first;
void* p_val = iter->second;
}
void DBusOperationArguments::AddArgumentBool(bool val) {
+ LoggerD("Enter");
int32_t* p_val = new int32_t;
*p_val = val;
}
void DBusOperationArguments::AddArgumentInt32(int val) {
+ LoggerD("Enter");
int32_t* p_val = new int32_t;
*p_val = val;
}
void DBusOperationArguments::AddArgumentUInt32(unsigned int val) {
+ LoggerD("Enter");
uint32_t* p_val = new uint32_t;
*p_val = val;
}
void DBusOperationArguments::AddArgumentUInt64(uint64_t val) {
+ LoggerD("Enter");
uint64_t* p_val = new uint64_t;
*p_val = val;
}
void DBusOperationArguments::AddArgumentString(const std::string& val) {
+ LoggerD("Enter");
const int length = val.length();
char* p_val = new char[length * 2];
}
PlatformResult DBusOperationArguments::AppendVariant(DBusMessageIter* bus_msg_iter) {
+ LoggerD("Enter");
for (auto iter = arguments_.begin(); iter != arguments_.end(); ++iter) {
ArgType type = iter->first;
void *p_val = iter->second;
path_(path),
interface_(interface),
connection_(nullptr) {
+ LoggerD("Enter");
s_objects_.insert(this);
}
DBusOperation::~DBusOperation() {
+ LoggerD("Enter");
if (connection_) {
dbus_connection_close(connection_);
dbus_connection_unref(connection_);
int DBusOperation::InvokeSyncGetInt(const std::string& method,
DBusOperationArguments* args) {
+ LoggerD("Enter");
if (!connection_) {
connection_ = dbus_bus_get_private(DBUS_BUS_SYSTEM, nullptr);
}
PlatformResult DBusOperation::InvokeSyncGetInt(const std::string& method,
DBusOperationArguments* args, int* result) {
+ LoggerD("Enter");
if (!connection_) {
connection_ = dbus_bus_get_private(DBUS_BUS_SYSTEM, nullptr);
}
PlatformResult DBusOperation::RegisterSignalListener(const std::string& signal_name,
DBusOperationListener* listener) {
+ LoggerD("Enter");
PlatformResult ret = AddDBusSignalFilter();
if (ret.IsError()) return ret;
PlatformResult DBusOperation::UnregisterSignalListener(const std::string& signal_name,
DBusOperationListener* listener) {
+ LoggerD("Enter");
bool signal_found = false;
for (auto iter = listeners_.begin(); iter != listeners_.end(); ++iter) {
}
PlatformResult DBusOperation::AddDBusSignalFilter() {
+ LoggerD("Enter");
if (!connection_) {
connection_ = dbus_bus_get_private(DBUS_BUS_SYSTEM, nullptr);
}
}
PlatformResult DBusOperation::RemoveDBusSignalFilter() {
+ LoggerD("Enter");
DBusError err;
dbus_error_init(&err);
dbus_bus_remove_match(connection_, rule_.c_str(), &err);
DBusHandlerResult DBusOperation::DBusSignalFilter(DBusConnection* /* conn */,
DBusMessage* message) {
+ LoggerD("Enter");
DBusError err;
dbus_error_init(&err);
DBusHandlerResult DBusOperation::DBusSignalFilterHandler(DBusConnection* conn,
DBusMessage* message,
void* user_data) {
+ LoggerD("Enter");
DBusOperation* that = static_cast<DBusOperation *>(user_data);
if (s_objects_.end() == s_objects_.find(that)) {
const XW_Internal_PermissionsInterface* g_permission = NULL;
bool InitializeInterfaces(XW_GetInterface get_interface) {
+ LoggerD("Enter");
static bool initialized = false;
if (!initialized) {
namespace common {
Extension::Extension() : xw_extension_(g_xw_extension_) {
+ LoggerD("Enter");
}
-Extension::~Extension() {}
+Extension::~Extension() {
+ LoggerD("Enter");
+}
void Extension::SetExtensionName(const char* name) {
+ LoggerD("Enter");
g_core->SetExtensionName(xw_extension_, name);
}
void Extension::SetJavaScriptAPI(const char* api) {
+ LoggerD("Enter");
g_core->SetJavaScriptAPI(xw_extension_, api);
}
void Extension::SetExtraJSEntryPoints(const char** entry_points) {
+ LoggerD("Enter");
if (g_entry_points)
g_entry_points->SetExtraJSEntryPoints(xw_extension_, entry_points);
}
bool Extension::RegisterPermissions(const char* perm_table) {
+ LoggerD("Enter");
if (g_permission)
return g_permission->RegisterPermissions(xw_extension_, perm_table);
return false;
}
bool Extension::CheckAPIAccessControl(const char* api_name) {
+ LoggerD("Enter");
if (g_permission)
return g_permission->CheckAPIAccessControl(xw_extension_, api_name);
return false;
}
Instance* Extension::CreateInstance() {
+ LoggerD("Enter");
return NULL;
}
std::string Extension::GetRuntimeVariable(const char* var_name, unsigned len) {
+ LoggerD("Enter");
if (!g_runtime)
return "";
// static
void Extension::OnInstanceCreated(XW_Instance xw_instance, Instance* instance) {
+ LoggerD("Enter");
assert(!g_core->GetInstanceData(xw_instance));
if (!instance)
return;
// static
void Extension::OnInstanceDestroyed(XW_Instance xw_instance) {
+ LoggerD("Enter");
Instance* instance =
reinterpret_cast<Instance*>(g_core->GetInstanceData(xw_instance));
if (!instance)
// static
void Extension::HandleMessage(XW_Instance xw_instance, const char* msg) {
+ LoggerD("Enter");
Instance* instance =
reinterpret_cast<Instance*>(g_core->GetInstanceData(xw_instance));
if (!instance)
// static
void Extension::HandleSyncMessage(XW_Instance xw_instance, const char* msg) {
+ LoggerD("Enter");
Instance* instance =
reinterpret_cast<Instance*>(g_core->GetInstanceData(xw_instance));
if (!instance)
XW_Initialize_Func initialize,
XW_CreatedInstanceCallback created_instance,
XW_ShutdownCallback shutdown) {
+ LoggerD("Enter");
assert(extension);
if (!InitializeInterfaces(get_interface)) {
}
-Instance::Instance()
- : xw_instance_(0) {}
+Instance::Instance() :
+ xw_instance_(0)
+{
+ LoggerD("Enter");
+}
Instance::~Instance() {
+ LoggerD("Enter");
assert(xw_instance_ == 0);
}
void Instance::PostMessage(const char* msg) {
+ LoggerD("Enter");
if (!xw_instance_) {
std::cerr << "Ignoring PostMessage() in the constructor or after the "
<< "instance was destroyed.";
}
void Instance::SendSyncReply(const char* reply) {
+ LoggerD("Enter");
if (!xw_instance_) {
std::cerr << "Ignoring SendSyncReply() in the constructor or after the "
<< "instance was destroyed.";
ParsedInstance::ParsedInstance() {
+ LoggerD("Enter");
}
ParsedInstance::~ParsedInstance() {
+ LoggerD("Enter");
}
void ParsedInstance::RegisterHandler(const std::string& name, const NativeHandler& func) {
+ LoggerD("Enter");
handler_map_.insert(std::make_pair(name, func));
}
void ParsedInstance::RegisterSyncHandler(const std::string& name, const NativeHandler& func) {
+ LoggerD("Enter");
handler_map_.insert(std::make_pair("#SYNC#" + name, func));
}
void ParsedInstance::ReportSuccess(picojson::object& out) {
+ LoggerD("Enter");
tools::ReportSuccess(out);
}
void ParsedInstance::ReportSuccess(const picojson::value& result, picojson::object& out) {
+ LoggerD("Enter");
tools::ReportSuccess(result, out);
}
void ParsedInstance::ReportError(picojson::object& out) {
+ LoggerD("Enter");
tools::ReportError(out);
}
void ParsedInstance::ReportError(const PlatformException& ex, picojson::object& out) {
+ LoggerD("Enter");
tools::ReportError(ex, out);
}
void ParsedInstance::ReportError(const PlatformResult& error, picojson::object* out) {
+ LoggerD("Enter");
tools::ReportError(error, out);
}
void ParsedInstance::HandleMessage(const char* msg) {
+ LoggerD("Enter");
HandleMessage(msg, false);
}
void ParsedInstance::HandleSyncMessage(const char* msg) {
+ LoggerD("Enter");
HandleMessage(msg, true);
}
void ParsedInstance::HandleMessage(const char* msg, bool is_sync) {
+ LoggerD("Enter");
try {
picojson::value value;
std::string err;
}
void ParsedInstance::HandleException(const PlatformException& ex) {
+ LoggerD("Enter");
std::cerr << "Exception: " << ex.message();
picojson::value result = picojson::value(picojson::object());
ReportError(ex, result.get<picojson::object>());
namespace tools {
void ReportSuccess(picojson::object& out) {
+ LoggerD("Enter");
out.insert(std::make_pair("status", picojson::value("success")));
}
void ReportSuccess(const picojson::value& result, picojson::object& out) {
+ LoggerD("Enter");
out.insert(std::make_pair("status", picojson::value("success")));
out.insert(std::make_pair("result", result));
}
void ReportError(picojson::object& out) {
+ LoggerD("Enter");
out.insert(std::make_pair("status", picojson::value("error")));
}
void ReportError(const PlatformException& ex, picojson::object& out) {
+ LoggerD("Enter");
out.insert(std::make_pair("status", picojson::value("error")));
out.insert(std::make_pair("error", ex.ToJSON()));
}
void ReportError(const PlatformResult& error, picojson::object* out) {
+ LoggerD("Enter");
out->insert(std::make_pair("status", picojson::value("error")));
out->insert(std::make_pair("error", error.ToJSON()));
}
~AccessControlImpl() {}
bool CheckAccess(const std::vector<std::string>& privileges) {
+ LoggerD("Enter");
if (!initialized_) {
return false;
}
}
bool CheckAccess(const std::vector<std::string>& privileges) {
+ LoggerD("Enter");
int ret = 0;
for (size_t i = 0; i < privileges.size(); ++i) {
ret = privilege_checker_check_privilege(privileges[i].c_str());
}
PlatformResult CheckAccess(const std::vector<std::string>& privileges) {
+ LoggerD("Enter");
if (AccessControl::GetInstance().CheckAccess(privileges)) {
return PlatformResult(ErrorCode::NO_ERROR);
} else {
PlatformResult AttributeMatchFlagFromString(
const std::string &str, AttributeMatchFlag *filter_match_flag) {
+ LoggerD("Enter");
if (str == "EXACTLY") {
*filter_match_flag = AttributeMatchFlag::kExactly;
} else if (str == "FULLSTRING") {
PlatformResult CompositeFilterTypeFromString(
const std::string &str, CompositeFilterType *comp_filter_type) {
+ LoggerD("Enter");
if (str == "UNION") {
*comp_filter_type = CompositeFilterType::kUnion;
} else if (str == "INTERSECTION") {
}
void FilterVisitor::SetOnAttributeFilter(const AttributeFilterOnVisit &func) {
- m_attributeFilterOnVisit = func;
+ LoggerD("Enter");
+ m_attributeFilterOnVisit = func;
}
void FilterVisitor::SetOnAttributeRangeFilter(const AttributeRangeFilterOnVisit &func) {
- m_attributeRangeFilterOnVisit = func;
+ LoggerD("Enter");
+ m_attributeRangeFilterOnVisit = func;
}
void FilterVisitor::SetOnCompositeFilterBegin(const CompositeFilterOnBegin &func) {
- m_compositeFilterOnBegin = func;
+ LoggerD("Enter");
+ m_compositeFilterOnBegin = func;
}
void FilterVisitor::SetOnCompositeFilterEnd(const CompositeFilterOnEnd &func) {
- m_compositeFilterOnEnd = func;
+ LoggerD("Enter");
+ m_compositeFilterOnEnd = func;
}
PlatformResult FilterVisitor::Visit(const picojson::object &filter) {
+ LoggerD("Enter");
const std::string &filterType = FromJson<std::string>(filter, "filterType");
if (filterType == "AttributeFilter") {
PlatformResult status = VisitAttributeFilter(filter);
PlatformResult FilterVisitor::VisitAttributeFilter(
const picojson::object &filter) {
+ LoggerD("Enter");
const std::string &attribute_name =
FromJson<std::string>(filter, "attributeName");
PlatformResult FilterVisitor::VisitAttributeRangeFilter(
const picojson::object &filter) {
+ LoggerD("Enter");
const std::string &attributeName =
FromJson<std::string>(filter, "attributeName");
const picojson::value &initialValue = FindValue(filter, "initialValue");
PlatformResult FilterVisitor::VisitCompositeFilter(
const picojson::object &filter) {
+ LoggerD("Enter");
CompositeFilterType filter_type;
PlatformResult status = CompositeFilterTypeFromString(
FromJson<std::string>(filter, "type"), &filter_type);
*/
#include "common/platform_result.h"
+#include "common/logger.h"
namespace common {
-PlatformResult::PlatformResult(const ErrorCode& error_code,
- const std::string& message)
- : error_code_(error_code), message_(message) {
+PlatformResult::PlatformResult(const ErrorCode& error_code, const std::string& message) :
+ error_code_(error_code),
+ message_(message)
+{
+ LoggerD("Enter");
}
picojson::value PlatformResult::ToJSON() const {
+ LoggerD("Enter");
picojson::value::object obj;
obj["code"] = picojson::value(static_cast<double>(error_code_));
if (!message_.empty())
std::map<const std::string, common::VirtualRoot> g_virtual_roots;
void AddVirtualRoot(const std::string& name, const std::string& path) {
+ LoggerD("Enter");
g_virtual_roots.insert(std::make_pair(name, common::VirtualRoot(name, path)));
}
void OnStorageStateChanged(int storage_id, storage_state_e state, void *user_data) {
+ LoggerD("Enter");
const auto it = g_storages.find(storage_id);
if (it != g_storages.end()) {
bool OnStorageDeviceSupported(int storage_id, storage_type_e type,
storage_state_e state, const char *path,
void *user_data) {
+ LoggerD("Enter");
g_storages.insert(std::make_pair(storage_id, common::VirtualStorage(storage_id, type, state, path)));
storage_set_state_changed_cb(storage_id, OnStorageStateChanged, nullptr);
}
common::optional<std::string> GetRootDir() {
+ LoggerD("Enter");
std::string app_id = common::GetCurrentExtension()->GetRuntimeVariable("app_id", 64);
app_info_h app_info;
type_(type),
state_(state),
path_(path) {
+ LoggerD("Enter");
switch (type_) {
case STORAGE_TYPE_INTERNAL:
name_ = "internal";
}
VirtualFs::VirtualFs() : app_root_(GetRootDir()) {
+ LoggerD("Enter");
if (app_root_) {
AddVirtualRoot(kVirtualRootWgtPackage, *app_root_ + "/res/wgt");
AddVirtualRoot(kVirtualRootWgtPrivate, *app_root_ + "/data");
}
VirtualFs::~VirtualFs() {
+ LoggerD("Enter");
for (const auto kv : g_storages) {
storage_unset_state_changed_cb(kv.second.id_, OnStorageStateChanged);
}
}
optional<std::string> VirtualFs::GetVirtualRootDirectory(const std::string& name) const {
+ LoggerD("Enter");
const auto it = g_virtual_roots.find(name);
if (it != g_virtual_roots.end()) {
return it->second.path_;
}
std::string VirtualFs::GetRealPath(const std::string& path_or_uri) const {
+ LoggerD("Enter");
std::string realpath;
std::size_t pos = path_or_uri.find(kFileUriPrefix);
if (pos != std::string::npos) {
}
std::string VirtualFs::GetVirtualPath(const std::string& real_path) const {
+ LoggerD("Enter");
for (const auto& kv : g_virtual_roots) {
if (0 == real_path.compare(0, kv.second.path_.size(), kv.second.path_)) {
return std::string(real_path).replace(0, kv.second.path_.size(), kv.first);
}
std::vector<VirtualRoot> VirtualFs::GetVirtualRoots() const {
+ LoggerD("Enter");
std::vector<VirtualRoot> r;
for (const auto kv : g_virtual_roots) {
}
std::vector<VirtualStorage> VirtualFs::GetStorages() const {
+ LoggerD("Enter");
std::vector<VirtualStorage> r;
for (const auto kv : g_storages) {
*/
bool FilesystemBuffer::DecodeData(const std::string& data) {
+ LoggerD("Enter");
if (data.length() % 4) {
LoggerE("Buffer has invalid length");
return false;
}
std::string FilesystemBuffer::EncodeData() const {
+ LoggerD("Enter");
std::string out;
for (size_t i = 0; i < size(); i += 3) {
bool FilesystemFile::Read(FilesystemBuffer* data,
size_t offset,
size_t length) {
+ LoggerD("Enter");
if (!data) {
LoggerE("Missing output buffer");
return false;
}
bool FilesystemFile::Write(const FilesystemBuffer& data, size_t offset) {
+ LoggerD("Enter");
FILE* file = fopen(path.c_str(), "r+");
if (!file) {
LoggerE("Cannot open file %s to write!", path.c_str());
using namespace extension::filesystem;
FilesystemInstance::FilesystemInstance() {
+ LoggerD("Enter");
using std::placeholders::_1;
using std::placeholders::_2;
FilesystemManager::GetInstance().AddListener(this);
}
-FilesystemInstance::~FilesystemInstance() {}
+FilesystemInstance::~FilesystemInstance() {
+ LoggerD("enter");
+}
#define CHECK_EXIST(args, name, out) \
if (!args.contains(name)) { \
void FilesystemInstance::StartListening(
const picojson::value& args,
picojson::object& out) {
+ LoggerD("enter");
FilesystemManager::GetInstance().StartListening();
ReportSuccess(out);
}
void FilesystemInstance::StopListening(
const picojson::value& args,
picojson::object& out) {
+ LoggerD("enter");
FilesystemManager::GetInstance().StopListening();
ReportSuccess(out);
}
}
void FilesystemInstance::onFilesystemStateChangeErrorCallback() {
+ LoggerD("enter");
picojson::value event = picojson::value(picojson::object());
picojson::object& obj = event.get<picojson::object>();
ReportError(UnknownException(std::string("Failed to registerd listener")), obj);
FilesystemManager::FilesystemManager()
: listener_(nullptr), is_listener_registered_(false) {}
FilesystemManager::~FilesystemManager() {
+ LoggerD("enter");
if (is_listener_registered_) {
for (auto id : ids_) {
storage_unset_state_changed_cb(id, storage_cb);
}
FilesystemManager& FilesystemManager::GetInstance() {
+ LoggerD("enter");
static FilesystemManager instance;
return instance;
}
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemStat statData = FilesystemStat::getStat(path);
if (!statData.valid) {
error_cb(FilesystemError::NotFound);
void FilesystemManager::GetVirtualRoots(
const std::function<void(const std::vector<common::VirtualRoot>&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
success_cb(common::VirtualFs::GetInstance().GetVirtualRoots());
}
const std::string& path,
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
const mode_t create_mode = S_IRWXU | S_IRWXG | S_IRWXO;
int status;
status =
const std::function<void(const FilesystemStat&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
int status = rename(oldPath.c_str(), newPath.c_str());
if (0 == status) {
FilesystemStat fileStat = FilesystemStat::getStat(newPath);
const std::string& path,
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
if (unlink(path.c_str()) != 0) {
LoggerE("Error occured while deleting file");
error_cb(FilesystemError::Other);
const std::string& path,
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
const int maxDirOpened = 64;
if (nftw(path.c_str(), unlink_cb, maxDirOpened, FTW_DEPTH | FTW_PHYS) != 0) {
LoggerE("Error occured");
const std::function<void(const std::string&)>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemFile file(path);
FilesystemBuffer buffer;
if (!file.Read(&buffer, offset, length)) {
const std::function<void()>& success_cb,
const std::function<void(FilesystemError)>& error_cb) {
+ LoggerD("enter");
FilesystemFile file(path);
FilesystemBuffer buffer;
// Decode buffer data
if (FilesystemError::None == retval) {
success_cb();
} else {
+ LoggerE("Failed: perform_deep_copy()");
error_cb(retval);
}
}
FilesystemStat::FilesystemStat() : valid(false) {}
picojson::value FilesystemStat::toJSON() const {
+ LoggerD("Enter");
picojson::value retval = picojson::value(picojson::object());
picojson::object& obj = retval.get<picojson::object>();
}
FilesystemStat FilesystemStat::getStat(const std::string& path) {
+ LoggerD("Enter");
struct stat aStatObj;
LoggerD("enter");
if (0 != stat(path.c_str(), &aStatObj)) {
namespace FilesystemUtils {
std::string get_storage_dir_path(int id, storage_directory_e typeToCheck) {
+ LoggerD("Enter");
int result = STORAGE_ERROR_NONE;
char* platformPath = NULL;
result = storage_get_directory(id, typeToCheck, &platformPath);
using common::QuotaExceededException;
MessageportInstance::MessageportInstance() {
+ LoggerD("Enter");
using std::placeholders::_1;
using std::placeholders::_2;
#define REGISTER_SYNC(c, x) \
}
MessageportInstance::~MessageportInstance() {
+ LoggerD("Enter");
}
};
static void BundleJsonIterator(const char *k, const char *v, void *d) {
+ LoggerD("Enter");
picojson::value::array *array = static_cast<picojson::value::array *>(d);
picojson::value::object o;
o["key"] = picojson::value(k);
static void OnReceiveLocalMessage(int local_port_id,
const char* remote_app_id, const char* remote_port,
bool trusted_remote_port, bundle* message, void* user_data) {
+
+ LoggerD("Enter");
MessageportInstance* object = static_cast<MessageportInstance*>(user_data);
picojson::value::object o;
picojson::value::array data;
void MessageportInstance::MessagePortManagerRequestlocalmessageport
(const picojson::value& args, picojson::object& out) {
+ LoggerD("Enter");
CHECK_EXIST(args, "localMessagePortName", out)
int portId;
if (portId < 0) {
switch (portId) {
case MESSAGE_PORT_ERROR_INVALID_PARAMETER:
+ LoggerE("The input parameter contains an invalid value");
ReportError(InvalidValuesException
("The input parameter contains an invalid value."), out);
break;
case MESSAGE_PORT_ERROR_OUT_OF_MEMORY:
+ LoggerE("Out of memory");
ReportError(UnknownException("Out of memory."), out);
break;
case MESSAGE_PORT_ERROR_IO_ERROR:
+ LoggerE("Internal I/O error ocurred");
ReportError(UnknownException("Internal I/O error ocurred."), out);
break;
default:
+ LoggerE("Unknown Exception");
ReportError(UnknownException("Unknown Exception"), out);
break;
}
void MessageportInstance::
MessagePortManagerRequesttrustedlocalmessageport
(const picojson::value& args, picojson::object& out) {
+
+ LoggerD("Enter");
CHECK_EXIST(args, "localMessagePortName", out)
int portId;
if (portId < 0) {
switch (portId) {
case MESSAGE_PORT_ERROR_INVALID_PARAMETER:
+ LoggerE("The input parameter contains an invalid value");
ReportError(InvalidValuesException
("The input parameter contains an invalid value."), out);
break;
case MESSAGE_PORT_ERROR_OUT_OF_MEMORY:
+ LoggerE("Out of memory");
ReportError(UnknownException("Out of memory."), out);
break;
case MESSAGE_PORT_ERROR_IO_ERROR:
+ LoggerE("Internal I/O error ocurred");
ReportError(UnknownException("Internal I/O error ocurred."), out);
break;
default:
+ LoggerE("Unknown Exception");
ReportError(UnknownException("Unknown Exception"), out);
break;
}
void MessageportInstance::
MessagePortManagerRequestremotemessageport
(const picojson::value& args, picojson::object& out) {
+ LoggerD("Enter");
CHECK_EXIST(args, "remoteMessagePortName", out)
const std::string& remoteMessagePortName =
LoggerD("Checking remote port of %s: %s", remoteMessagePortName.c_str(),
portCheck ? "true" : "false");
+ LoggerD("Error code: -0x%X", -ret);
if (ret == MESSAGE_PORT_ERROR_NONE) {
- if (portCheck) ReportSuccess(out);
- else
- ReportError(NotFoundException
- ("The port of the target application is not found"), out);
+ if (portCheck) {
+ ReportSuccess(out);
+ } else {
+ LoggerE("The port of the target application is not found");
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
+ }
} else if (ret == MESSAGE_PORT_ERROR_INVALID_PARAMETER) {
- ReportError(InvalidValuesException
- ("An input parameter contains an invalid value."), out);
+ LoggerE("An input parameter contains an invalid value");
+ ReportError(
+ InvalidValuesException("An input parameter contains an invalid value."),
+ out);
} else if (ret == MESSAGE_PORT_ERROR_OUT_OF_MEMORY) {
- ReportError(UnknownException("Out of memory."), out);
+ LoggerE("Out of memory");
+ ReportError(UnknownException("Out of memory."), out);
} else if (ret == MESSAGE_PORT_ERROR_IO_ERROR) {
- ReportError(UnknownException("Internal I/O error ocurred."), out);
+ // IO error means that remote port does not exist
+ LoggerE("The port of the target application is not found");
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
+ } else if (ret == MESSAGE_PORT_ERROR_PORT_NOT_FOUND) {
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
} else {
- ReportError(UnknownException("Unknown Error"), out);
+ LoggerE("Unknown Error");
+ ReportError(UnknownException("Unknown Error"), out);
}
}
void MessageportInstance::
MessagePortManagerRequesttrustedremotemessageport
(const picojson::value& args, picojson::object& out) {
+ LoggerD("Enter");
CHECK_EXIST(args, "remoteMessagePortName", out)
const std::string& remoteMessagePortName =
ret = message_port_check_trusted_remote_port
(appId.c_str(), remoteMessagePortName.c_str(), &portCheck);
- LoggerD("Checking trusted remoteport of %s:%s",
+ LoggerD("Checking trusted remote port of %s: %s",
remoteMessagePortName.c_str(), portCheck ? "true":"false");
+ LoggerD("Error code: -0x%X", -ret);
- if (ret == MESSAGE_PORT_ERROR_NONE) {
- if (portCheck) ReportSuccess(out);
- else
- ReportError(NotFoundException
- ("The port of the target application is not found"), out);
- } else if (ret == MESSAGE_PORT_ERROR_INVALID_PARAMETER) {
- ReportError(InvalidValuesException
- ("An input parameter contains an invalid value."), out);
- } else if (ret == MESSAGE_PORT_ERROR_OUT_OF_MEMORY) {
- ReportError(UnknownException("Out of memory."), out);
- } else if (ret == MESSAGE_PORT_ERROR_IO_ERROR) {
- ReportError(UnknownException("Internal I/O error ocurred."), out);
- } else if (ret == MESSAGE_PORT_ERROR_CERTIFICATE_NOT_MATCH) {
- ReportError(UnknownException(
- "The remote application is not signed with the same certificate"), out);
+ if (ret == MESSAGE_PORT_ERROR_NONE) {
+ if (portCheck) {
+ ReportSuccess(out);
} else {
- ReportError(UnknownException("Unknown Error"), out);
+
+ LoggerE("The port of the target application is not found");
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
}
+ } else if (ret == MESSAGE_PORT_ERROR_INVALID_PARAMETER) {
+ LoggerE("An input parameter contains an invalid value");
+ ReportError(
+ InvalidValuesException("An input parameter contains an invalid value."),
+ out);
+ } else if (ret == MESSAGE_PORT_ERROR_OUT_OF_MEMORY) {
+ LoggerE("Out of memory");
+ ReportError(UnknownException("Out of memory."), out);
+ } else if (ret == MESSAGE_PORT_ERROR_IO_ERROR) {
+ // IO error means that remote port does not exist
+ LoggerE("The port of the target application is not found");
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
+ } else if (ret == MESSAGE_PORT_ERROR_PORT_NOT_FOUND) {
+ ReportError(
+ NotFoundException("The port of the target application is not found"),
+ out);
+ } else if (ret == MESSAGE_PORT_ERROR_CERTIFICATE_NOT_MATCH) {
+ LoggerE("The remote application is not signed with the same certificate");
+ ReportError(
+ UnknownException(
+ "The remote application is not signed with the same certificate"),
+ out);
+ } else {
+ LoggerE("Unknown Error");
+ ReportError(UnknownException("Unknown Error"), out);
+ }
}
void MessageportInstance::RemoteMessagePortSendmessage
(const picojson::value& args, picojson::object& out) {
+ LoggerD("Enter");
const std::string& appId = args.get("appId").get<std::string>();
const std::string& message_port_name =
args.get("messagePortName").get<std::string>();