From: Pawel Andruszkiewicz
Date: Wed, 8 Apr 2015 09:18:56 +0000 (+0200)
Subject: [Alarm] Allow to create multiple instances of AlarmInstance class.
X-Git-Tag: submit/tizen_tv/20150603.064601~1^2~179
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=eeef76dbce51f8ea40039ba410c81c6ca0f6bfed;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Alarm] Allow to create multiple instances of AlarmInstance class.
Change-Id: I111f0a4e6f1e8808ef5ae385bc6d939ebf4a8762
---
diff --git a/src/alarm/alarm_extension.cc b/src/alarm/alarm_extension.cc
index 2da84bf2..0466e1e3 100644
--- a/src/alarm/alarm_extension.cc
+++ b/src/alarm/alarm_extension.cc
@@ -32,5 +32,5 @@ AlarmExtension::AlarmExtension() {
AlarmExtension::~AlarmExtension() {}
common::Instance* AlarmExtension::CreateInstance() {
- return &extension::alarm::AlarmInstance::GetInstance();
+ return new extension::alarm::AlarmInstance();
}
diff --git a/src/alarm/alarm_instance.cc b/src/alarm/alarm_instance.cc
index 82bd3df7..cef4db31 100644
--- a/src/alarm/alarm_instance.cc
+++ b/src/alarm/alarm_instance.cc
@@ -4,7 +4,6 @@
#include "alarm_instance.h"
-#include "alarm_manager.h"
#include "common/picojson.h"
#include "common/logger.h"
@@ -13,35 +12,26 @@ namespace alarm {
using namespace common;
-namespace {
-AlarmManager* alarm_manager = &AlarmManager::GetInstance();
-}
-
-AlarmInstance& AlarmInstance::GetInstance() {
- static AlarmInstance instance;
- return instance;
-}
-
AlarmInstance::AlarmInstance() {
LoggerD("Entered");
using namespace std::placeholders;
RegisterSyncHandler("AlarmManager_add",
- std::bind(&AlarmManager::Add, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::Add, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_remove",
- std::bind(&AlarmManager::Remove, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::Remove, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_removeAll",
- std::bind(&AlarmManager::RemoveAll, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::RemoveAll, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_get",
- std::bind(&AlarmManager::Get, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::Get, &manager_, _1, _2));
RegisterSyncHandler("AlarmManager_getAll",
- std::bind(&AlarmManager::GetAll, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::GetAll, &manager_, _1, _2));
//AlarmRelative
RegisterSyncHandler("AlarmRelative_getRemainingSeconds",
- std::bind(&AlarmManager::GetRemainingSeconds, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::GetRemainingSeconds, &manager_, _1, _2));
//AlarmAbsolute
RegisterSyncHandler("AlarmAbsolute_getNextScheduledDate",
- std::bind(&AlarmManager::GetNextScheduledDate, alarm_manager, _1, _2));
+ std::bind(&AlarmManager::GetNextScheduledDate, &manager_, _1, _2));
}
AlarmInstance::~AlarmInstance() {
diff --git a/src/alarm/alarm_instance.h b/src/alarm/alarm_instance.h
index cd7ee19c..f1c56c33 100644
--- a/src/alarm/alarm_instance.h
+++ b/src/alarm/alarm_instance.h
@@ -7,15 +7,18 @@
#include "common/extension.h"
+#include "alarm/alarm_manager.h"
+
namespace extension {
namespace alarm {
class AlarmInstance: public common::ParsedInstance {
public:
- static AlarmInstance& GetInstance();
- private:
AlarmInstance();
virtual ~AlarmInstance();
+
+ private:
+ AlarmManager manager_;
};
} // namespace alarm
diff --git a/src/alarm/alarm_manager.cc b/src/alarm/alarm_manager.cc
index a92ed8c9..cf65e0a6 100644
--- a/src/alarm/alarm_manager.cc
+++ b/src/alarm/alarm_manager.cc
@@ -55,11 +55,6 @@ AlarmManager::AlarmManager() {
AlarmManager::~AlarmManager() {
}
-AlarmManager& AlarmManager::GetInstance() {
- static AlarmManager instance;
- return instance;
-}
-
void AlarmManager::Add(const picojson::value& args, picojson::object& out) {
LoggerD("Entered");
CHECK_PRIVILEGE_ACCESS(kPrivilegeAlarm, &out);
diff --git a/src/alarm/alarm_manager.h b/src/alarm/alarm_manager.h
index 944bef66..9b8c678e 100644
--- a/src/alarm/alarm_manager.h
+++ b/src/alarm/alarm_manager.h
@@ -13,7 +13,7 @@ namespace alarm {
class AlarmManager {
public:
- static AlarmManager& GetInstance();
+ AlarmManager();
virtual ~AlarmManager();
void Add(const picojson::value& args, picojson::object& out);
@@ -28,7 +28,6 @@ class AlarmManager {
void GetNextScheduledDate(const picojson::value& args, picojson::object& out);
private:
- AlarmManager();
AlarmManager(const AlarmManager&) = delete;
AlarmManager& operator=(const AlarmManager&) = delete;
common::PlatformResult GetAlarm(int id, picojson::object& obj);