From: Pawel Andruszkiewicz
Date: Thu, 19 Mar 2015 15:17:14 +0000 (+0100)
Subject: [Push] Added privilege checks.
X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~231
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f3014a8ddc4eadad4b7bf3d4bf813830d0a98f09;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Push] Added privilege checks.
Change-Id: I6c0051634fbc8870ab2868cb57f876ac04a8cbf3
---
diff --git a/src/push/push_instance.cc b/src/push/push_instance.cc
index 5b1821a0..fc169368 100644
--- a/src/push/push_instance.cc
+++ b/src/push/push_instance.cc
@@ -11,6 +11,12 @@
namespace extension {
namespace push {
+namespace {
+
+const std::string kPrivilegePush = "http://tizen.org/privilege/push";
+
+} // namespace
+
PushInstance::PushInstance(): m_ignoreNotificationEvents(true) {
LoggerD("Enter");
using std::placeholders::_1;
@@ -42,6 +48,9 @@ PushInstance::PushInstance(): m_ignoreNotificationEvents(true) {
void PushInstance::registerService(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
PushManager::ApplicationControl appControl;
appControl.operation = args.get("operation").get();
if (args.get("uri").is()) {
@@ -80,6 +89,9 @@ void PushInstance::registerService(const picojson::value& args,
void PushInstance::unregisterService(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
common::PlatformResult result = PushManager::getInstance()
.unregisterService(args.get("callbackId").get());
if (result.IsError()) {
@@ -94,6 +106,9 @@ void PushInstance::unregisterService(const picojson::value& args,
void PushInstance::connectService(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
m_ignoreNotificationEvents = false;
picojson::value result;
ReportSuccess(result, out);
@@ -102,6 +117,9 @@ void PushInstance::connectService(const picojson::value& args,
void PushInstance::disconnectService(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
m_ignoreNotificationEvents = true;
picojson::value result;
ReportSuccess(result, out);
@@ -110,6 +128,9 @@ void PushInstance::disconnectService(const picojson::value& args,
void PushInstance::getRegistrationId(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
std::string id;
common::PlatformResult result = PushManager::getInstance()
.getRegistrationId(id);
@@ -126,6 +147,9 @@ void PushInstance::getRegistrationId(const picojson::value& args,
void PushInstance::getUnreadNotifications(const picojson::value& args,
picojson::object& out) {
LoggerD("Enter");
+
+ CHECK_PRIVILEGE_ACCESS(kPrivilegePush, &out);
+
common::PlatformResult result = PushManager::getInstance()
.getUnreadNotifications();
if (result.IsError()) {