* limitations under the License.
*/
-#ifndef __RPC_PORT_DOC_H__
-#define __RPC_PORT_DOC_H__
+#ifndef DOC_RPC_PORT_DOC_H_
+#define DOC_RPC_PORT_DOC_H_
/**
*/
-#endif /* __RPC_PORT_DOC_H__ */
+#endif // DOC_RPC_PORT_DOC_H_
trusted_ = trusted;
}
-int AccessController::CheckPrivilege(Cynara& c) {
+int AccessController::CheckPrivilege(const Cynara& c) {
for (auto& privilege : privileges_) {
if (c.Check(privilege) != 0) {
return -1;
LOGD("CheckCertificate : %s :: %s", appid_.c_str(), sender_appid);
pkgmgrinfo_cert_compare_result_type_e res;
- int ret = pkgmgrinfo_pkginfo_compare_usr_app_cert_info(appid_.c_str(), sender_appid, getuid(), &res);
+ int ret = pkgmgrinfo_pkginfo_compare_usr_app_cert_info(appid_.c_str(),
+ sender_appid, getuid(), &res);
if (ret < 0) {
LOGE("CheckCertificate() Failed");
return -1;
}
if (res != PMINFO_CERT_COMPARE_MATCH) {
- LOGE("CheckCertificate() Failed : MESSAGE_PORT_ERROR_CERTIFICATE_NOT_MATCH");
+ LOGE("CheckCertificate() Failed : " \
+ "MESSAGE_PORT_ERROR_CERTIFICATE_NOT_MATCH");
return -1;
}
cynara_finish(cynara_);
}
-int AccessController::Cynara::FetchCredsFromDBus(GDBusConnection* connection, const char* sender) {
+int AccessController::Cynara::FetchCredsFromDBus(GDBusConnection* connection,
+ const char* sender) {
int ret;
if (client_) {
user_ = nullptr;
}
- ret = cynara_creds_gdbus_get_user(connection, sender, USER_METHOD_DEFAULT, &user_);
+ ret = cynara_creds_gdbus_get_user(connection, sender, USER_METHOD_DEFAULT,
+ &user_);
if (ret != CYNARA_API_SUCCESS) {
LOGE("cynara_creds_gdbus_get_user() is failed : %d", ret);
return -1;
}
- ret = cynara_creds_gdbus_get_client(connection, sender, CLIENT_METHOD_DEFAULT, &client_);
+ ret = cynara_creds_gdbus_get_client(connection, sender, CLIENT_METHOD_DEFAULT,
+ &client_);
if (ret != CYNARA_API_SUCCESS) {
LOGE("cynara_creds_gdbus_get_client() is failed : %d", ret);
return -1;
return 0;
}
-int AccessController::Cynara::Check(const std::string& privilege) {
+int AccessController::Cynara::Check(const std::string& privilege) const {
LOGD("check privilege %s", privilege.c_str());
- if (cynara_check(cynara_, client_, "", user_, privilege.c_str()) != CYNARA_API_ACCESS_ALLOWED) {
+ if (cynara_check(cynara_, client_, "", user_, privilege.c_str()) !=
+ CYNARA_API_ACCESS_ALLOWED) {
LOGD("cynara_check() is not allowed : %s", privilege.c_str());
return -1;
}
class AccessController {
public:
- AccessController(bool trusted = false) : trusted_(trusted) {}
+ explicit AccessController(bool trusted = false) : trusted_(trusted) {}
virtual ~AccessController();
void AddPrivilege(const std::string& privilege);
void SetTrusted(const bool trusted);
- int Check(GDBusConnection *connection, const char *sender, const char* sender_appid);
+ int Check(GDBusConnection *connection, const char *sender,
+ const char* sender_appid);
private:
class Cynara {
~Cynara();
int FetchCredsFromDBus(GDBusConnection *connection, const char *sender);
- int Check(const std::string& privilege);
+ int Check(const std::string& privilege) const;
private:
cynara *cynara_;
int SetCache(const std::string& sender);
int CheckTrusted(const char *sender_appid);
- int CheckPrivilege(Cynara& c);
+ int CheckPrivilege(const Cynara& c);
private:
std::vector<std::string> privileges_;
}
g_dbus_message_set_unix_fd_list(msg, fd_list.GetRaw());
- reply = g_dbus_connection_send_message_with_reply_sync(DBusConnectionManager::GetInst().GetConnection(),
- msg, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 500,
- nullptr, nullptr, &err);
+ reply = g_dbus_connection_send_message_with_reply_sync(
+ DBusConnectionManager::GetInst().GetConnection(),
+ msg, G_DBUS_SEND_MESSAGE_FLAGS_NONE, 500, nullptr, nullptr, &err);
if (reply == nullptr) {
LOGE("No reply. error = %s", err->message);
g_error_free(err);
LOGE("Access Denied[sender_appid : %s]", sender_appid);
g_object_unref(msg);
g_object_unref(reply);
- return -1;
+ return -1;
}
LOGD("[Reply : %d]", ret);
int sender_pid;
sender_pid = broker->GetSenderPid(conn, sender);
- if (aul_app_get_appid_bypid(sender_pid, sender_appid, sizeof(sender_appid)) < 0) {
- g_dbus_method_invocation_return_value(invocation, g_variant_new("(i)", ret));
+ if (aul_app_get_appid_bypid(sender_pid, sender_appid,
+ sizeof(sender_appid)) < 0) {
+ g_dbus_method_invocation_return_value(invocation,
+ g_variant_new("(i)", ret));
return;
}
DBUS_PATH_DBUS,
DBUS_INTERFACE_DBUS,
"RequestName",
- g_variant_new("(su)", interface_name.c_str(), G_BUS_NAME_OWNER_FLAGS_NONE),
+ g_variant_new("(su)", interface_name.c_str(),
+ G_BUS_NAME_OWNER_FLAGS_NONE),
G_VARIANT_TYPE("(u)"),
G_DBUS_CALL_FLAGS_NONE,
-1,
GVariant *body;
int pid = 0;
- msg = g_dbus_message_new_method_call("org.freedesktop.DBus", "/org/freedesktop/DBus",
- "org.freedesktop.DBus", "GetConnectionUnixProcessID");
+ msg = g_dbus_message_new_method_call("org.freedesktop.DBus",
+ "/org/freedesktop/DBus", "org.freedesktop.DBus",
+ "GetConnectionUnixProcessID");
if (!msg) {
LOGE("Can't allocate new method call");
goto out;
virtual void OnPortRejected(const std::string& appid) = 0;
};
- FdBroker(bool mock = false) : mock_(mock) {}
+ explicit FdBroker(bool mock = false) : mock_(mock) {}
~FdBroker();
static void Dispose() {
RECEIVER = 1
};
- SocketPair(bool mock = false);
+ explicit SocketPair(bool mock = false);
~SocketPair();
int Request();
int GetOwnerId(const std::string& interface_name);
int GetSenderPid(GDBusConnection *connection, const gchar *sender);
int RegisterDbusInterface(const std::string& port_name);
- void ReceiveMessage(const char* sender_appid, GDBusMethodInvocation* invocation);
+ void ReceiveMessage(const char* sender_appid,
+ GDBusMethodInvocation* invocation);
std::string GetInterfaceName(const std::string& target_appid,
const std::string& port_name);
static void OnNameAppeared(GDBusConnection *connection,
return data_;
}
-} // namespace rpc_port
\ No newline at end of file
+} // namespace rpc_port
} // namespace rpc_port
-#endif // PARCEL_INTERNAL_H_
\ No newline at end of file
+#endif // PARCEL_INTERNAL_H_
return -1;
}
- src_= g_io_add_watch(gioc_,
- (GIOCondition)(G_IO_IN),
- OnDataReceived, this);
+ src_ = g_io_add_watch(gioc_,
+ (GIOCondition)(G_IO_IN),
+ OnDataReceived, this);
if (src_ == 0) {
LOGE("fail to add watch on socket");
g_source_remove(disconn_src_);
}
port_.reset(new Port(fd, port_name));
- listener_->OnConnected(appid, *port_);
+ listener_->OnConnected(appid, port_.get());
Watch(fd);
}
class Proxy : public FdBroker::IEventWatcher {
public:
- Proxy(bool mock = false);
+ explicit Proxy(bool mock = false);
virtual ~Proxy();
class IEventListener {
public:
- virtual void OnConnected(const std::string& endpoint, Port& port) = 0;
+ virtual void OnConnected(const std::string& endpoint, Port* port) = 0;
virtual void OnDisconnected(const std::string& endpoint) = 0;
virtual void OnRejected(const std::string& endpoint) = 0;
virtual void OnReceived(const std::string& endpoint) = 0;
}
RPC_API int rpc_port_parcel_read_byte(rpc_port_parcel_h h, char* b) {
-
if (h == nullptr)
return RPC_PORT_ERROR_INVALID_PARAMETER;
class ProxyExt : public Proxy, public Proxy::IEventListener {
public:
- ProxyExt(bool mock = false) : Proxy(mock) {}
+ explicit ProxyExt(bool mock = false) : Proxy(mock) {}
virtual ~ProxyExt() = default;
void AddConnectedEventListener(rpc_port_proxy_connected_event_cb cb,
new Event<rpc_port_proxy_received_event_cb>(cb, user_data));
}
- void OnConnected(const std::string& endpoint, Port& port) override {
+ void OnConnected(const std::string& endpoint, Port* port) override {
for (auto& ev : connected_events_) {
- ev->cb_(endpoint.c_str(), GetPortName().c_str(), &port,
+ ev->cb_(endpoint.c_str(), GetPortName().c_str(), port,
ev->user_data_);
}
}
class StubExt : public Stub, public Stub::IEventListener {
public:
- StubExt(const std::string& port, bool mock = false) : Stub(port, mock) {}
+ explicit StubExt(const std::string& port, bool mock = false)
+ : Stub(port, mock) {}
virtual ~StubExt() = default;
void AddConnectedEventListener(rpc_port_stub_connected_event_cb cb,
- void* user_data) {
+ void* user_data) {
connected_events_.emplace_back(
new Event<rpc_port_stub_connected_event_cb>(cb, user_data));
}
}
int OnReceived(const std::string& sender,
- const std::string& instance, Port& port) override {
+ const std::string& instance, Port* port) override {
for (auto& ev : received_events_) {
- int ret = ev->cb_(sender.c_str(), instance.c_str(), &port,
+ int ret = ev->cb_(sender.c_str(), instance.c_str(), port,
ev->user_data_);
if (ret != 0)
return -1;
return FALSE;
}
- int ret = stub->listener_->OnReceived(p->GetId(), p->GetInstance(), *p);
+ int ret = stub->listener_->OnReceived(p->GetId(), p->GetInstance(),
+ p.get());
if (ret != 0) {
LOGW("Invalid protocol");
return -1;
}
- disconn_src_= g_io_add_watch(gioc_,
- (GIOCondition)(G_IO_ERR | G_IO_HUP | G_IO_NVAL),
- Stub::OnSocketDisconnected, parent_);
+ disconn_src_ = g_io_add_watch(gioc_,
+ (GIOCondition)(G_IO_ERR | G_IO_HUP | G_IO_NVAL),
+ Stub::OnSocketDisconnected, parent_);
if (disconn_src_ == 0) {
LOGE("fail to add watch on socket");
g_io_channel_unref(gioc_);
return -1;
}
- src_= g_io_add_watch(gioc_,
- (GIOCondition)(G_IO_IN),
- Stub::OnDataReceived, parent_);
+ src_ = g_io_add_watch(gioc_,
+ (GIOCondition)(G_IO_IN),
+ Stub::OnDataReceived, parent_);
if (src_ == 0) {
LOGE("fail to add watch on socket");
g_source_remove(disconn_src_);
virtual void OnDisconnected(const std::string& sender,
const std::string& instance) = 0;
virtual int OnReceived(const std::string& sender,
- const std::string& instance, Port& port) = 0;
+ const std::string& instance, Port* port) = 0;
};
- Stub(const std::string& port_name, bool mock = false);
+ explicit Stub(const std::string& port_name, bool mock = false);
virtual ~Stub();
int Listen(IEventListener* ev);
--- /dev/null
+#!/bin/bash
+# Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+if [ ! `which cpplint.py` ]; then
+ echo -e "\nPlease make sure cpplint.py is in your PATH. It is part of depot_tools inside Chromium repository."
+ exit 1
+fi
+
+OLDPWD=$PWD
+BASE=`dirname $0`
+cd $BASE/..
+
+# filters
+FILTERS="-readability/streams,-build/c++11"
+
+cpplint.py --root=src --filter="$FILTERS" $(find . \( -name '*.h' -o -name '*.cc' \) )
+RET=$?
+
+JS_RET_VAL=$?
+cd $OLDPWD
+
+if [ "x$RET" == "x0" ]; then
+ exit 0
+else
+ exit 1
+fi
#include <gtest/gtest.h>
#include <gmock/gmock.h>
-int main(int argc, char** argv){
+int main(int argc, char** argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
#include "rpc-port-parcel.h"
-using namespace std;
using ::testing::AtLeast;
namespace {
class CStringHolder {
public:
- CStringHolder(char* ptr) noexcept
+ explicit CStringHolder(char* ptr) noexcept
: ptr_(ptr) {}
~CStringHolder() {
if (ptr_)
private:
char* ptr_;
};
-}
+} // namespace
class ParcelTest : public ::testing::Test {
public:
#include "rpc-port-internal.h"
-using namespace std;
using ::testing::AtLeast;
class RpcPortBase : public ::testing::Test {
private:
static GMainLoop* mainloop_;
-
};
GMainLoop* RpcPortBase::mainloop_ = nullptr;