From 0a888a1f9d98fac52b9f94c3b321620de4b77f76 Mon Sep 17 00:00:00 2001
From: Pawel Kaczmarczyk
Date: Mon, 19 Mar 2018 15:45:33 +0100
Subject: [PATCH 01/16] [Systeminfo] Fix for incorrect USB storage capacity
USB_DEVICE has not been reporting correct capacity values
on TV profile. It was caused by different way of handling
reading storage properties.
[Fix]
Each storage type is treated in the same way when
getting information about storage's space.
[Verification] Tested in Chromium cosole
tct-systeminfo-tizen-tests passrate: 100%
tct-filesystem-tizen-tests passrate: 100%
Change-Id: I1d2a8a40a2cac18d5961a301bdd3e586cc3eedad
Signed-off-by: Pawel Kaczmarczyk
---
.../filesystem/filesystem_provider_deviced.cc | 7 +--
.../filesystem/filesystem_provider_deviced.h | 1 -
.../filesystem/filesystem_provider_storage.cc | 2 +-
src/common/filesystem/filesystem_storage.cc | 3 +-
src/common/filesystem/filesystem_storage.h | 7 ++-
src/systeminfo/systeminfo_manager.cc | 44 ++++++++-----------
src/systeminfo/systeminfo_manager.h | 11 ++---
src/systeminfo/systeminfo_properties_manager.cc | 51 ++++++++++++----------
8 files changed, 57 insertions(+), 69 deletions(-)
diff --git a/src/common/filesystem/filesystem_provider_deviced.cc b/src/common/filesystem/filesystem_provider_deviced.cc
index 2ce1ab4..cb33bd7 100644
--- a/src/common/filesystem/filesystem_provider_deviced.cc
+++ b/src/common/filesystem/filesystem_provider_deviced.cc
@@ -194,7 +194,7 @@ void FilesystemProviderDeviced::UnregisterDeviceChangeState() {
std::shared_ptr FilesystemProviderDeviced::GetStorage(const DeviceListElem& elem) {
ScopeLogger();
- return std::make_shared(GetIdFromUUID(elem.fs_uuid_enc),
+ return std::make_shared(elem.storage_id,
(elem.block_type ? StorageType::kMmc : StorageType::kUsbDevice),
(elem.state ? StorageState::kMounted : StorageState::kUnmounted),
elem.mount_point, GetNameFromPath(elem.devnode));
@@ -214,11 +214,6 @@ std::string FilesystemProviderDeviced::GetNameFromPath(const char* const char_pa
return name;
}
-int FilesystemProviderDeviced::GetIdFromUUID(const char* const char_uuid) {
- ScopeLogger();
- return (int)std::hash()(std::string(char_uuid));
-}
-
Storages FilesystemProviderDeviced::GetStorages() {
ScopeLogger();
if (!is_initialized_) {
diff --git a/src/common/filesystem/filesystem_provider_deviced.h b/src/common/filesystem/filesystem_provider_deviced.h
index 2c47aa6..65746b8 100644
--- a/src/common/filesystem/filesystem_provider_deviced.h
+++ b/src/common/filesystem/filesystem_provider_deviced.h
@@ -54,7 +54,6 @@ class FilesystemProviderDeviced : public IFilesystemProvider {
void BlockSignalCallback(DeviceListElem elem);
static std::string GetNameFromPath(const char* const char_path);
- static int GetIdFromUUID(const char* const char_uuid);
static std::shared_ptr GetStorage(const DeviceListElem& elem);
static std::shared_ptr GetStorageUsb(const UsbListElem& elem);
static Storages GetStoragesFromGVariant(GVariant* variant);
diff --git a/src/common/filesystem/filesystem_provider_storage.cc b/src/common/filesystem/filesystem_provider_storage.cc
index a82e630..2a8116c 100644
--- a/src/common/filesystem/filesystem_provider_storage.cc
+++ b/src/common/filesystem/filesystem_provider_storage.cc
@@ -70,7 +70,7 @@ void OnStorageChange(int storage_id, storage_state_e state, void* user_data) {
FilesystemProviderStorage* provider = static_cast(user_data);
for (auto& storage : provider->GetStorages()) {
- if (storage->id_ == storage_id) {
+ if (storage->id() == storage_id) {
StorageState previous_state = storage->state_;
storage->state_ = TranslateCoreStorageState(state);
if (provider->GetListener()) {
diff --git a/src/common/filesystem/filesystem_storage.cc b/src/common/filesystem/filesystem_storage.cc
index 0efc186..a321cbc 100644
--- a/src/common/filesystem/filesystem_storage.cc
+++ b/src/common/filesystem/filesystem_storage.cc
@@ -70,9 +70,8 @@ picojson::value Storage::ToJson() const {
return value;
}
-Storage::Storage(Storage const& other) : VirtualRoot(other) {
+Storage::Storage(Storage const& other) : VirtualRoot(other), id_(other.id_) {
ScopeLogger();
- this->id_ = other.id_;
}
VirtualRoot::VirtualRoot(VirtualRoot const& other) {
diff --git a/src/common/filesystem/filesystem_storage.h b/src/common/filesystem/filesystem_storage.h
index 9628977..8ff7828 100644
--- a/src/common/filesystem/filesystem_storage.h
+++ b/src/common/filesystem/filesystem_storage.h
@@ -75,9 +75,12 @@ class Storage : public VirtualRoot {
Storage(int id, StorageType type, StorageState state, std::string const& path = "",
std::string const& name = "");
Storage(Storage const& other);
-
- int id_;
virtual picojson::value ToJson() const;
+ int id() const {
+ return id_;
+ }
+ private:
+ int id_;
};
} // namespace common
diff --git a/src/systeminfo/systeminfo_manager.cc b/src/systeminfo/systeminfo_manager.cc
index 147b884..f7afef0 100644
--- a/src/systeminfo/systeminfo_manager.cc
+++ b/src/systeminfo/systeminfo_manager.cc
@@ -16,6 +16,7 @@
#include "systeminfo/systeminfo_manager.h"
+#include
#include
#include
#include
@@ -142,12 +143,6 @@ static gboolean OnStorageChangedCb(gpointer event_ptr) {
return G_SOURCE_CONTINUE;
}
-static void OnMmcChangedCb(keynode_t* node, void* event_ptr) {
- ScopeLogger();
- SysteminfoManager* manager = static_cast(event_ptr);
- manager->CallListenerCallback(kPropertyIdStorage);
-}
-
static void OnDisplayChangedCb(keynode_t* node, void* event_ptr) {
ScopeLogger();
SysteminfoManager* manager = static_cast(event_ptr);
@@ -454,10 +449,6 @@ SysteminfoManager::SysteminfoManager(SysteminfoInstance* instance)
wifi_manager_(nullptr),
cpu_load_(0),
last_cpu_load_(0),
- available_capacity_internal_(0),
- last_available_capacity_internal_(0),
- available_capacity_mmc_(0),
- last_available_capacity_mmc_(0),
tapi_manager_(new TapiManager()),
cpu_event_id_(0),
storage_event_id_(0),
@@ -986,8 +977,6 @@ PlatformResult SysteminfoManager::UnregisterCpuListener() {
PlatformResult SysteminfoManager::RegisterStorageListener() {
ScopeLogger();
PlatformResult ret = PlatformResult(ErrorCode::NO_ERROR);
- CHECK_LISTENER_ERROR(
- SysteminfoUtils::RegisterVconfCallback(VCONFKEY_SYSMAN_MMC_STATUS, OnMmcChangedCb, this))
storage_event_id_ =
g_timeout_add_seconds(kPropertyWatcherTime, OnStorageChangedCb, static_cast(this));
@@ -998,8 +987,6 @@ PlatformResult SysteminfoManager::RegisterStorageListener() {
PlatformResult SysteminfoManager::UnregisterStorageListener() {
ScopeLogger();
PlatformResult ret = PlatformResult(ErrorCode::NO_ERROR);
- CHECK_LISTENER_ERROR(
- SysteminfoUtils::UnregisterVconfCallback(VCONFKEY_SYSMAN_MMC_STATUS, OnMmcChangedCb))
g_source_remove(storage_event_id_);
storage_event_id_ = 0;
@@ -1438,14 +1425,22 @@ void SysteminfoManager::SetCpuInfoLoad(double load) {
cpu_load_ = load;
}
-void SysteminfoManager::SetAvailableCapacityInternal(unsigned long long capacity) {
+void SysteminfoManager::RemoveUnmounted(const std::vector& currently_mounted) {
ScopeLogger();
- available_capacity_internal_ = capacity;
+ for (auto it = available_capacity_map_.begin(); it != available_capacity_map_.end();) {
+ int storage_id = it->first;
+ if (std::find(currently_mounted.begin(), currently_mounted.end(), storage_id) ==
+ currently_mounted.end()) {
+ it = available_capacity_map_.erase(it);
+ } else {
+ it++;
+ }
+ }
}
-void SysteminfoManager::SetAvailableCapacityMmc(unsigned long long capacity) {
+void SysteminfoManager::SetAvailableCapacity(int id, unsigned long long capacity) {
ScopeLogger();
- available_capacity_mmc_ = capacity;
+ available_capacity_map_[id] = capacity;
}
int SysteminfoManager::GetChangedTapiIndex(TapiHandle* tapi) {
@@ -1584,17 +1579,12 @@ void SysteminfoManager::CallStorageListenerCallback() {
picojson::value result = picojson::value(picojson::object());
PlatformResult ret = GetPropertiesManager().GetPropertyValue(property_id, true, &result);
if (ret.IsSuccess()) {
- // check if anything changed
- if (available_capacity_internal_ == last_available_capacity_internal_ &&
- available_capacity_mmc_ == last_available_capacity_mmc_) {
+ if (available_capacity_map_ != last_available_capacity_map_) {
+ last_available_capacity_map_ = available_capacity_map_;
+ PostListenerResponse(property_id, result);
+ } else {
LoggerD("Storage state didn't change, ignoring");
- return;
}
- // refresh previous values
- last_available_capacity_internal_ = available_capacity_internal_;
- last_available_capacity_mmc_ = available_capacity_mmc_;
-
- PostListenerResponse(property_id, result);
}
} else {
LoggerD("listener for %s property is not registered, ignoring", property_id.c_str());
diff --git a/src/systeminfo/systeminfo_manager.h b/src/systeminfo/systeminfo_manager.h
index 12bfff2..5650b4a 100644
--- a/src/systeminfo/systeminfo_manager.h
+++ b/src/systeminfo/systeminfo_manager.h
@@ -75,8 +75,8 @@ class SysteminfoManager {
};
void SetCpuInfoLoad(double load);
- void SetAvailableCapacityInternal(unsigned long long capacity);
- void SetAvailableCapacityMmc(unsigned long long capacity);
+ void RemoveUnmounted(const std::vector& currentlyMounted);
+ void SetAvailableCapacity(int id, unsigned long long capacity);
std::string GetCameraTypes(unsigned int index);
unsigned int GetCameraTypesCount();
@@ -139,11 +139,8 @@ class SysteminfoManager {
double cpu_load_;
double last_cpu_load_;
- unsigned long long available_capacity_internal_;
- unsigned long long last_available_capacity_internal_;
- unsigned long long available_capacity_mmc_;
- unsigned long long last_available_capacity_mmc_;
-
+ std::map last_available_capacity_map_;
+ std::map available_capacity_map_;
std::unique_ptr tapi_manager_;
std::set registered_listeners_;
diff --git a/src/systeminfo/systeminfo_properties_manager.cc b/src/systeminfo/systeminfo_properties_manager.cc
index 1868a24..ce87eac 100644
--- a/src/systeminfo/systeminfo_properties_manager.cc
+++ b/src/systeminfo/systeminfo_properties_manager.cc
@@ -1122,16 +1122,13 @@ PlatformResult SysteminfoPropertiesManager::ReportMemory(picojson::object* out)
return PlatformResult(ErrorCode::NO_ERROR);
}
-static void CreateStorageInfo(const std::string& type, struct statvfs& fs, picojson::object* out) {
+static void CreateStorageInfo(const std::string& type, unsigned long long total_space,
+ unsigned long long available_space, picojson::object* out) {
ScopeLogger();
out->insert(std::make_pair("type", picojson::value(type)));
- out->insert(std::make_pair(
- "capacity", picojson::value(std::to_string(static_cast(fs.f_frsize) *
- static_cast(fs.f_blocks)))));
- out->insert(std::make_pair(
- "availableCapacity",
- picojson::value(std::to_string(static_cast(fs.f_bsize) *
- static_cast(fs.f_bavail)))));
+ out->insert(std::make_pair("capacity", picojson::value(std::to_string(total_space))));
+ out->insert(
+ std::make_pair("availableCapacity", picojson::value(std::to_string(available_space))));
bool isRemovable = (type == kTypeInternal) ? false : true;
out->insert(std::make_pair("isRemovable", picojson::value(isRemovable)));
}
@@ -1153,10 +1150,10 @@ static std::string FromStorageTypeToStringType(common::StorageType type) {
PlatformResult SysteminfoPropertiesManager::ReportStorage(picojson::object* out) {
ScopeLogger();
- struct statvfs fs;
picojson::value result = picojson::value(picojson::array());
picojson::array& array = result.get();
+ std::vector found_storages_ids;
// handling storages from provider
common::FilesystemProvider& provider(common::FilesystemProvider::Create());
@@ -1164,27 +1161,35 @@ PlatformResult SysteminfoPropertiesManager::ReportStorage(picojson::object* out)
LoggerD("Storages found %d", storages.size());
for (auto storage : storages) {
if (storage->state() == common::StorageState::kMounted) {
- // TODO change implementation to support all types of storages and not limited number
- if (common::StorageType::kInternal == storage->type()) {
- if (storage_get_internal_memory_size(&fs) < 0) {
- LoggerE("Storage unit %s not detected", storage->name().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "There are no storage units detected");
- }
- manager_.SetAvailableCapacityInternal(fs.f_bavail);
- } else if (common::StorageType::kMmc == storage->type()) {
- if (storage_get_external_memory_size(&fs) < 0) {
- LoggerE("Storage unit %s not detected", storage->name().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "MMC mounted, but not accessible");
- }
- manager_.SetAvailableCapacityMmc(fs.f_bavail);
+ unsigned long long available;
+ unsigned long long total_capacity;
+
+ int err;
+ err = storage_get_available_space(storage->id(), &available);
+ if (STORAGE_ERROR_NONE != err) {
+ LoggerE("Could not get available space for storage: %s, error code: %d",
+ storage->name().c_str(), err);
+ return PlatformResult(ErrorCode::UNKNOWN_ERR, "Could not get storage available space");
+ }
+
+ err = storage_get_total_space(storage->id(), &total_capacity);
+ if (STORAGE_ERROR_NONE != err) {
+ LoggerE("Could not get total space for storage: %s, error code: %d",
+ storage->name().c_str(), err);
+ return PlatformResult(ErrorCode::UNKNOWN_ERR, "Could not get storage total space");
}
+ found_storages_ids.push_back(storage->id());
+ manager_.SetAvailableCapacity(storage->id(), available);
+
array.push_back(picojson::value(picojson::object()));
picojson::object& external_obj = array.back().get();
- CreateStorageInfo(FromStorageTypeToStringType(storage->type()), fs, &external_obj);
+ CreateStorageInfo(FromStorageTypeToStringType(storage->type()), total_capacity, available,
+ &external_obj);
}
}
+ manager_.RemoveUnmounted(found_storages_ids);
out->insert(std::make_pair("storages", picojson::value(result)));
return PlatformResult(ErrorCode::NO_ERROR);
}
--
2.7.4
From 9a93036c33ec14f521c52e9a42eed6db488c79c6 Mon Sep 17 00:00:00 2001
From: Rafal Walczyna
Date: Fri, 23 Mar 2018 11:05:05 +0100
Subject: [PATCH 02/16] [NFC] Fix isActivatedHandlerFunctions return values
Functions IsActivatedHandlerForCategory and IsActivatedHandlerForAID
always return false. After fix they work properly.
TCT tests needs fixing, after fix there will be 100% passrate.
Tested on TW1 tizen3.0
Change-Id: I9a4833d4073e512e9414e63325515ebfa8d6b8a4
Signed-off-by: Rafal Walczyna
---
src/nfc/nfc_adapter.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/nfc/nfc_adapter.cc b/src/nfc/nfc_adapter.cc
index 874fa6e..3a6f9eb 100644
--- a/src/nfc/nfc_adapter.cc
+++ b/src/nfc/nfc_adapter.cc
@@ -1385,7 +1385,7 @@ PlatformResult NFCAdapter::IsActivatedHandlerForAID(const std::string& type, con
nfc_se_type_e se_type;
PlatformResult result = NFCUtil::ToSecureElementType(type, &se_type);
- if (!result.IsError()) {
+ if (result.IsError()) {
LoggerE("Error: %s", result.message().c_str());
return result;
}
@@ -1406,7 +1406,7 @@ PlatformResult NFCAdapter::IsActivatedHandlerForCategory(
nfc_se_type_e se_type;
PlatformResult result = NFCUtil::ToSecureElementType(type, &se_type);
- if (!result.IsError()) {
+ if (result.IsError()) {
LoggerE("Error: %s", result.message().c_str());
return result;
}
--
2.7.4
From 332d39f94f6adf7fd894d0cd52a871628a3ae2f9 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Fri, 23 Mar 2018 12:10:31 +0100
Subject: [PATCH 03/16] [version] 2.18
Change-Id: I171c24fc4170a519fef7fde45b4e223843cf33c0
---
packaging/webapi-plugins.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index 22baca9..1f08c55 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -10,7 +10,7 @@
%define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions}
Name: webapi-plugins
-Version: 2.17
+Version: 2.18
Release: 0
License: Apache-2.0 and BSD-3-Clause and MIT
Group: Development/Libraries
--
2.7.4
From 447e8ff4934d2c0c87b3c1d1bc82152a15aa9337 Mon Sep 17 00:00:00 2001
From: Lukasz Wojciechowski
Date: Sat, 10 Mar 2018 03:25:34 +0100
Subject: [PATCH 04/16] [Push] Prefix string type with namespace std
The patch fixes build break in Tizen:4.0:Unified.
The string type without std::string is not recognized by compiler.
Change-Id: I048bad0a1d71cb841965a84b2d11d2afb9c19eea
Signed-off-by: Lukasz Wojciechowski
(cherry picked from commit a2c7a32a5fbc41e6bf20c891797c786e946628c9)
---
src/push/push_manager_common.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/push/push_manager_common.cc b/src/push/push_manager_common.cc
index 406eb4c..c307e95 100644
--- a/src/push/push_manager_common.cc
+++ b/src/push/push_manager_common.cc
@@ -93,8 +93,8 @@ void PushManagerCommon::notificationToJson(push_service_notification_h noti,
// parse query string and find value for alertMessage
pcrecpp::StringPiece input(fullMessage);
pcrecpp::RE re("([^=]+)=([^&]*)&?");
- string key;
- string value;
+ std::string key;
+ std::string value;
while (re.Consume(&input, &key, &value)) {
if (key == "alertMessage") {
(*obj)["alertMessage"] = picojson::value(value);
--
2.7.4
From 398a65abe664ff9505250d87f7aa820b902bd32c Mon Sep 17 00:00:00 2001
From: Rafal Walczyna
Date: Tue, 27 Mar 2018 13:55:44 +0200
Subject: [PATCH 05/16] [common] Fixing coverity issues
Issues: 110672, 108789, 108137, 107617,
106435, 112265, 112254, 107669, 105923
[Verification] 100% passrate in:
bookmark, calendar, contact, content, datacontrol,
filesystem, keymanager
Change-Id: Id667a94fe653f831a8cfdd70813c8ace91e1cf5d
Signed-off-by: Rafal Walczyna
---
src/bookmark/bookmark_instance.cc | 6 +++++-
src/calendar/calendar_manager.cc | 2 +-
src/contact/contact_manager.cc | 18 +++++++++++++++---
src/contact/person.cc | 6 +++++-
src/content/content_manager.cc | 5 ++++-
src/datacontrol/datacontrol_instance.cc | 8 ++------
src/filesystem/filesystem_manager.cc | 1 +
src/keymanager/keymanager_instance.cc | 8 ++++++--
8 files changed, 39 insertions(+), 15 deletions(-)
diff --git a/src/bookmark/bookmark_instance.cc b/src/bookmark/bookmark_instance.cc
index 884dba1..145d6b4 100644
--- a/src/bookmark/bookmark_instance.cc
+++ b/src/bookmark/bookmark_instance.cc
@@ -70,7 +70,11 @@ bool BookmarkInstance::bookmark_foreach(Context& ctx, bp_bookmark_info_fmt& info
if (ids_count > 0) {
for (int i = 0; i < ids_count; i++) {
- bp_bookmark_adaptor_get_easy_all(ids[i], &info);
+ if (bp_bookmark_adaptor_get_easy_all(ids[i], &info) < 0) {
+ int errorcode = bp_bookmark_adaptor_get_errorcode();
+ LoggerW("bp_bookmark_adaptor_get_easy_all for id %d returns error: %d", ids[i], errorcode);
+ continue;
+ }
item.id = ids[i];
item.bookmark_info = info;
if ((ctx.shouldGetItems && item.bookmark_info.parent != ctx.id) ||
diff --git a/src/calendar/calendar_manager.cc b/src/calendar/calendar_manager.cc
index db72589..1606635 100644
--- a/src/calendar/calendar_manager.cc
+++ b/src/calendar/calendar_manager.cc
@@ -36,7 +36,7 @@ const int kUnifiedCalendardId = 0;
using namespace common;
-CalendarManager::CalendarManager() {
+CalendarManager::CalendarManager() : is_connected_(false) {
ScopeLogger();
if (CALENDAR_ERROR_NONE == calendar_connect()) {
LoggerD("Calendar DB connected");
diff --git a/src/contact/contact_manager.cc b/src/contact/contact_manager.cc
index 6fe6b98..7730068 100644
--- a/src/contact/contact_manager.cc
+++ b/src/contact/contact_manager.cc
@@ -106,7 +106,11 @@ PlatformResult ContactManagerGetAddressBooks(const JsonObject& args, JsonArray&
single_obj["readOnly"] = JsonValue(CONTACTS_ADDRESS_BOOK_MODE_READONLY == mode);
out.push_back(single);
- contacts_list_next(*contacts_list_ptr);
+ error_code = contacts_list_next(*contacts_list_ptr);
+ if (CONTACTS_ERROR_NONE != error_code) {
+ LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+ break;
+ }
}
return PlatformResult(ErrorCode::NO_ERROR);
@@ -771,7 +775,11 @@ PlatformResult ContactManagerFind(const JsonObject& args, JsonArray& out) {
out.push_back(JsonValue(obj));
- contacts_list_next(person_list);
+ error_code = contacts_list_next(person_list);
+ if (CONTACTS_ERROR_NONE != error_code) {
+ LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+ break;
+ }
}
return PlatformResult(ErrorCode::NO_ERROR);
@@ -954,7 +962,11 @@ PlatformResult ContactManagerFindByUsageCount(const JsonObject& args, JsonArray&
out.push_back(JsonValue(obj));
- contacts_list_next(person_list);
+ error_code = contacts_list_next(person_list);
+ if (CONTACTS_ERROR_NONE != error_code) {
+ LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", error_code);
+ break;
+ }
}
return PlatformResult(ErrorCode::NO_ERROR);
diff --git a/src/contact/person.cc b/src/contact/person.cc
index 909d221..136407e 100644
--- a/src/contact/person.cc
+++ b/src/contact/person.cc
@@ -246,7 +246,11 @@ PlatformResult GetUsageCount(const JsonObject& args, JsonObject& out) {
usage_count += usage_count_tmp;
- contacts_list_next(list);
+ ret = contacts_list_next(list);
+ if (CONTACTS_ERROR_NONE != ret) {
+ LoggerW("contacts_list_next() failed: %d, ignoring remaining contacts", ret);
+ break;
+ }
}
out.insert(
diff --git a/src/content/content_manager.cc b/src/content/content_manager.cc
index ab88887..edd86d5 100644
--- a/src/content/content_manager.cc
+++ b/src/content/content_manager.cc
@@ -1383,7 +1383,10 @@ int ContentManager::getLyrics(const picojson::value& args, picojson::object& res
}
metadata_extractor_h extractor;
- metadata_extractor_create(&extractor);
+ ret = metadata_extractor_create(&extractor);
+ if (METADATA_EXTRACTOR_ERROR_NONE != ret) {
+ LOGGER(ERROR) << "metadata_extractor_create failed, error: " << ret;
+ }
std::unique_ptr::type, int (*)(metadata_extractor_h)>
extractor_ptr(extractor, &metadata_extractor_destroy); // automatically release the memory
diff --git a/src/datacontrol/datacontrol_instance.cc b/src/datacontrol/datacontrol_instance.cc
index 97c3720..00a41e3 100644
--- a/src/datacontrol/datacontrol_instance.cc
+++ b/src/datacontrol/datacontrol_instance.cc
@@ -413,9 +413,7 @@ int DatacontrolInstance::RunMAPDataControlJob(const std::string& providerId,
result = job(handle, &info->requestId);
RETURN_IF_FAIL(result, "Doing job failed with error");
- IdMap[info->requestId] = info.get();
-
- info.release();
+ IdMap[info->requestId] = info.release();
return result;
}
@@ -448,9 +446,7 @@ int DatacontrolInstance::RunSQLDataControlJob(const std::string& providerId,
result = job(handle, &info->requestId);
RETURN_IF_FAIL(result, "Doing job failed with error");
- IdMap[info->requestId] = info.get();
-
- info.release();
+ IdMap[info->requestId] = info.release();
return result;
}
diff --git a/src/filesystem/filesystem_manager.cc b/src/filesystem/filesystem_manager.cc
index e6b373d..5050a0a 100644
--- a/src/filesystem/filesystem_manager.cc
+++ b/src/filesystem/filesystem_manager.cc
@@ -460,6 +460,7 @@ void FilesystemManager::GetCanonicalPath(const std::string& path,
LoggerE("Cannot get realpath of %s. Error: %s!", path.c_str(),
GetErrorString(tmpErrno).c_str());
error_cb(FilesystemError::Other);
+ return;
}
std::string canonicalPathStr(canonicalPath);
diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc
index 0e05512..cc85aad 100644
--- a/src/keymanager/keymanager_instance.cc
+++ b/src/keymanager/keymanager_instance.cc
@@ -64,9 +64,13 @@ void GetGenericAliasList(AliasListFunction func, picojson::object* out) {
if (head->alias) {
char* saveptr = nullptr;
char* tokenized = strtok_r(head->alias, kSpace.c_str(), &saveptr);
- obj["packageId"] = picojson::value(tokenized);
+ if (nullptr != tokenized) {
+ obj["packageId"] = picojson::value(tokenized);
+ }
tokenized = strtok_r(nullptr, kSpace.c_str(), &saveptr);
- obj["name"] = picojson::value(tokenized);
+ if (nullptr != tokenized) {
+ obj["name"] = picojson::value(tokenized);
+ }
aliases.push_back(resultElem);
}
--
2.7.4
From d8332a3d7c8b9d6c64b3a016fd6aa9b331a28a7b Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Tue, 27 Mar 2018 14:59:02 +0200
Subject: [PATCH 06/16] [common] Coverity issues fix
[Feature] Fixed coverity issues with below ids:
110914, 110006, 108656, 107626, 107387,
107077, 106006, 108993, 108297, 106912
Additionally fixed potential crash in download API -
in case of native function failure, the "success" response
is not trying to be build.
[Verification] 100% passrate for modules:
application, bluetooth, download, exif, filesystem, messaging-*
Change-Id: I8d9482501a7375962408186feaa5ecd1f0826b1d
Signed-off-by: Piotr Kosko
---
src/application/application_manager.cc | 37 +++++++++++-----
src/bluetooth/bluetooth_gatt_service.cc | 2 +-
src/bluetooth/bluetooth_health_channel.cc | 2 +-
src/bluetooth/bluetooth_socket.cc | 2 +-
src/common/filesystem/filesystem_storage.h | 1 +
src/download/download_instance.cc | 27 +++++++++---
src/exif/exif_instance.cc | 1 +
src/exif/jpeg_file.cc | 4 +-
src/messaging/email_manager.cc | 67 ++++++++---------------------
src/messaging/message.cc | 12 ++++--
src/messaging/messaging_manager.cc | 3 +-
src/secureelement/secureelement_instance.cc | 2 +-
12 files changed, 84 insertions(+), 76 deletions(-)
diff --git a/src/application/application_manager.cc b/src/application/application_manager.cc
index 8744c0c..821f0fd 100644
--- a/src/application/application_manager.cc
+++ b/src/application/application_manager.cc
@@ -1385,20 +1385,37 @@ void ApplicationManager::StartAppInfoEventListener(picojson::object* out) {
return;
}
+#define CHECK_APPLICATION_EVENT_ERROR(result, function_name) \
+ if (PKGMGR_R_OK > result) { \
+ StopAppInfoEventListener(); \
+ LogAndReportError( \
+ PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to register listener."), out, \
+ ("Function %s failed: %s (%d)", function_name, get_error_message(result), result)); \
+ return; \
+ }
+
g_application_list_changed_broker.AddApplicationInstance(&instance_);
- pkgmgr_client_set_status_type(pkgmgr_client_handle_, PACKAGE_MANAGER_STATUS_TYPE_INSTALL |
- PACKAGE_MANAGER_STATUS_TYPE_UPGRADE);
- pkgmgr_client_set_status_type(pkgmgr_client_uninstall_handle_,
- PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL);
+ int result = pkgmgr_client_set_status_type(
+ pkgmgr_client_handle_,
+ PACKAGE_MANAGER_STATUS_TYPE_INSTALL | PACKAGE_MANAGER_STATUS_TYPE_UPGRADE);
+ CHECK_APPLICATION_EVENT_ERROR(result, "pkgmgr_client_set_status_type")
+
+ result = pkgmgr_client_set_status_type(pkgmgr_client_uninstall_handle_,
+ PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL);
+ CHECK_APPLICATION_EVENT_ERROR(result, "pkgmgr_client_set_status_type")
+
+ result = pkgmgr_client_listen_status(pkgmgr_client_handle_,
+ ApplicationListChangedBroker::ClientStatusListener,
+ &g_application_list_changed_broker);
+ CHECK_APPLICATION_EVENT_ERROR(result, "pkgmgr_client_listen_status")
- pkgmgr_client_listen_status(pkgmgr_client_handle_,
- ApplicationListChangedBroker::ClientStatusListener,
- &g_application_list_changed_broker);
- pkgmgr_client_listen_status(pkgmgr_client_uninstall_handle_,
- ApplicationListChangedBroker::AppUninstallListener,
- &g_application_list_changed_broker);
+ result = pkgmgr_client_listen_status(pkgmgr_client_uninstall_handle_,
+ ApplicationListChangedBroker::AppUninstallListener,
+ &g_application_list_changed_broker);
+ CHECK_APPLICATION_EVENT_ERROR(result, "pkgmgr_client_listen_status")
+#undef CHECK_APPLICATION_EVENT_ERROR
} else {
LoggerD("Broker callback is already registered.");
}
diff --git a/src/bluetooth/bluetooth_gatt_service.cc b/src/bluetooth/bluetooth_gatt_service.cc
index f6798a8..1200a7b 100644
--- a/src/bluetooth/bluetooth_gatt_service.cc
+++ b/src/bluetooth/bluetooth_gatt_service.cc
@@ -424,7 +424,7 @@ void BluetoothGATTService::WriteValue(const picojson::value& args, picojson::obj
int value_size = value_array.size();
std::unique_ptr value_data(new char[value_size]);
for (int i = 0; i < value_size; ++i) {
- value_data[i] = (int) value_array[i].get();
+ value_data[i] = (int)value_array[i].get();
}
struct Data {
diff --git a/src/bluetooth/bluetooth_health_channel.cc b/src/bluetooth/bluetooth_health_channel.cc
index e119693..90d805d 100644
--- a/src/bluetooth/bluetooth_health_channel.cc
+++ b/src/bluetooth/bluetooth_health_channel.cc
@@ -77,7 +77,7 @@ void BluetoothHealthChannel::SendData(const picojson::value& data, picojson::obj
std::unique_ptr data_ptr{new char[data_size]};
for (std::size_t i = 0; i < data_size; ++i) {
- data_ptr[i] = (int) binary_data[i].get();
+ data_ptr[i] = (int)binary_data[i].get();
}
int ntv_ret = bt_hdp_send_data(channel, data_ptr.get(), data_size);
diff --git a/src/bluetooth/bluetooth_socket.cc b/src/bluetooth/bluetooth_socket.cc
index fea9ed1..a044a37 100644
--- a/src/bluetooth/bluetooth_socket.cc
+++ b/src/bluetooth/bluetooth_socket.cc
@@ -63,7 +63,7 @@ void BluetoothSocket::WriteData(const picojson::value& data, picojson::object& o
std::unique_ptr data_ptr{new char[data_size]};
for (std::size_t i = 0; i < data_size; ++i) {
- data_ptr[i] = (int) binary_data[i].get();
+ data_ptr[i] = (int)binary_data[i].get();
}
if (kBluetoothError == bt_socket_send_data(socket, data_ptr.get(), data_size)) {
diff --git a/src/common/filesystem/filesystem_storage.h b/src/common/filesystem/filesystem_storage.h
index 8ff7828..fd5dc17 100644
--- a/src/common/filesystem/filesystem_storage.h
+++ b/src/common/filesystem/filesystem_storage.h
@@ -79,6 +79,7 @@ class Storage : public VirtualRoot {
int id() const {
return id_;
}
+
private:
int id_;
};
diff --git a/src/download/download_instance.cc b/src/download/download_instance.cc
index fda4c57..4e1fa39 100644
--- a/src/download/download_instance.cc
+++ b/src/download/download_instance.cc
@@ -314,12 +314,11 @@ gboolean DownloadInstance::OnFinished(void* user_data) {
LoggerW("%s", get_error_message(ret));
}
out["status"] = picojson::value("completed");
+ out["fullPath"] =
+ picojson::value(common::FilesystemProvider::Create().GetVirtualPath(fullPath));
}
-
out["callbackId"] = picojson::value(static_cast(callback_id));
- out["fullPath"] = picojson::value(common::FilesystemProvider::Create().GetVirtualPath(fullPath));
-
Instance::PostMessage(downCbPtr->instance, picojson::value(out).serialize().c_str());
// downCbPtr is freed in destructor, it prevent from crash if OnFinished state
// was called after OnCanceled or OnFailed
@@ -504,8 +503,17 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
system_info_get_platform_bool("http://tizen.org/feature/network.telephony", &cell_support);
system_info_get_platform_bool("http://tizen.org/feature/network.wifi", &wifi_support);
+#define CHECK_CONNECTION_ERROR(ret) \
+ if (CONNECTION_ERROR_NONE != ret) { \
+ LogAndReportError( \
+ common::PlatformResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occured"), \
+ &out, ("Connection type is disconnected")); \
+ return; \
+ }
+
connection_h connection = nullptr;
- connection_create(&connection);
+ ret = connection_create(&connection);
+ CHECK_CONNECTION_ERROR(ret)
SCOPE_EXIT {
connection_destroy(connection);
};
@@ -513,11 +521,16 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
connection_cellular_state_e cell_state = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE;
connection_wifi_state_e wifi_state = CONNECTION_WIFI_STATE_DEACTIVATED;
- connection_get_cellular_state(connection, &cell_state);
- connection_get_wifi_state(connection, &wifi_state);
+ ret = connection_get_cellular_state(connection, &cell_state);
+ CHECK_CONNECTION_ERROR(ret)
+ ret = connection_get_wifi_state(connection, &wifi_state);
+ CHECK_CONNECTION_ERROR(ret)
connection_type_e connection_type = CONNECTION_TYPE_DISCONNECTED;
- connection_get_type(connection, &connection_type);
+ ret = connection_get_type(connection, &connection_type);
+ CHECK_CONNECTION_ERROR(ret)
+
+#undef CHECK_CONNECTION_ERROR
if (CONNECTION_TYPE_DISCONNECTED == connection_type) {
LogAndReportError(
diff --git a/src/exif/exif_instance.cc b/src/exif/exif_instance.cc
index 121390c..0687d70 100644
--- a/src/exif/exif_instance.cc
+++ b/src/exif/exif_instance.cc
@@ -184,6 +184,7 @@ void ExifInstance::ExifManagerGetThumbnail(const picojson::value& args, picojson
gchar* ch_uri = g_base64_encode(exif_data->data, exif_data->size);
exif_data_unref(exif_data);
std::string base64 = "data:image/" + ext + ";base64," + ch_uri;
+ g_free(ch_uri);
std::pair pair;
pair = std::make_pair("src", picojson::value(base64));
diff --git a/src/exif/jpeg_file.cc b/src/exif/jpeg_file.cc
index e0640e1..aefd179 100644
--- a/src/exif/jpeg_file.cc
+++ b/src/exif/jpeg_file.cc
@@ -584,9 +584,9 @@ PlatformResult JpegFile::saveToFilePriv(const std::string& out_path) {
std::unique_ptr exif_output_data;
unsigned int exif_output_size = 0;
- if (cur_marker != JPEG_MARKER_SOI && cur_marker != JPEG_MARKER_EOI) {
+ if (JPEG_MARKER_SOI != cur_marker && JPEG_MARKER_EOI != cur_marker) {
unsigned short section_size = 2;
- if (JPEG_MARKER_APP1 && cur->exif_data) {
+ if (JPEG_MARKER_APP1 == cur_marker && cur->exif_data) {
unsigned char* tmp = NULL;
exif_data_save_data(cur->exif_data, &tmp, &exif_output_size);
if (!tmp || 0 == exif_output_size) {
diff --git a/src/messaging/email_manager.cc b/src/messaging/email_manager.cc
index 9a80c0d..256fbb3 100644
--- a/src/messaging/email_manager.cc
+++ b/src/messaging/email_manager.cc
@@ -175,6 +175,24 @@ PlatformResult EmailManager::addMessagePlatform(int account_id, std::shared_ptr<
ScopeLogger();
email_mail_data_t* mail_data = NULL;
email_mail_data_t* mail_data_final = NULL;
+ email_mailbox_t* mailbox_data = NULL;
+ email_account_t* account = NULL;
+
+ SCOPE_EXIT {
+ if (mail_data_final) {
+ email_free_mail_data(&mail_data_final, 1);
+ }
+ if (mail_data) {
+ email_free_mail_data(&mail_data, 1);
+ }
+ if (mailbox_data) {
+ email_free_mailbox(&mailbox_data, 1);
+ }
+ if (account) {
+ email_free_account(&account, 1);
+ }
+ };
+
int err = EMAIL_ERROR_NONE;
PlatformResult ret = Message::convertPlatformEmail(message, &mail_data);
@@ -183,13 +201,8 @@ PlatformResult EmailManager::addMessagePlatform(int account_id, std::shared_ptr<
mail_data->account_id = account_id;
// Adding "from" email address
- email_account_t* account = NULL;
err = email_get_account(account_id, GET_FULL_DATA_WITHOUT_PASSWORD, &account);
if (EMAIL_ERROR_NONE != err) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Cannot retrieve email account information",
("email_get_account error: %d (%s)", err, get_error_message(err)));
}
@@ -200,18 +213,10 @@ PlatformResult EmailManager::addMessagePlatform(int account_id, std::shared_ptr<
ss >> address_from;
mail_data->full_address_from = strdup(address_from.c_str());
LoggerE("FROM %s", mail_data->full_address_from);
- err = email_free_account(&account, 1);
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("Failed to free account data memory");
- }
+
// Setting mailbox id
- email_mailbox_t* mailbox_data = NULL;
err = email_get_mailbox_by_mailbox_type(account_id, mailbox_type, &mailbox_data);
if (EMAIL_ERROR_NONE != err) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return LogAndCreateResult(
ErrorCode::UNKNOWN_ERR, "Cannot retrieve draft mailbox",
("email_get_mailbox_by_mailbox_type error: %d (%s)", err, get_error_message(err)));
@@ -228,14 +233,6 @@ PlatformResult EmailManager::addMessagePlatform(int account_id, std::shared_ptr<
// adding email without attachments
err = email_add_mail(mail_data, NULL, 0, NULL, 0);
if (EMAIL_ERROR_NONE != err) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
- ntv_ret = email_free_mailbox(&mailbox_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to destroy mailbox: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Couldn't add message to draft mailbox",
("email_add_mail error: %d (%s)", err, get_error_message(err)));
} else {
@@ -250,46 +247,20 @@ PlatformResult EmailManager::addMessagePlatform(int account_id, std::shared_ptr<
if (message->getHasAttachment()) {
ret = Message::addEmailAttachments(message);
if (ret.IsError()) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return ret;
}
}
err = email_get_mail_data(message->getId(), &mail_data_final);
if (EMAIL_ERROR_NONE != err) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Couldn't retrieve added mail data",
("email_get_mail_data error: %d (%s)", err, get_error_message(err)));
}
ret = message->updateEmailMessage(*mail_data_final);
if (ret.IsError()) {
- int ntv_ret = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != ntv_ret) {
- LoggerE("Failed to free mail data memory: %d (%s)", ntv_ret, get_error_message(ntv_ret));
- }
return ret;
}
- err = email_free_mail_data(&mail_data_final, 1);
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("Failed to free mail data final memory: %d (%s)", err, get_error_message(err));
- }
-
- err = email_free_mail_data(&mail_data, 1);
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("Failed to free mail data memory: %d (%s)", err, get_error_message(err));
- }
-
- err = email_free_mailbox(&mailbox_data, 1);
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("Failed to destroy mailbox: %d (%s)", err, get_error_message(err));
- }
return PlatformResult(ErrorCode::NO_ERROR);
}
diff --git a/src/messaging/message.cc b/src/messaging/message.cc
index d439357..ba6aaa6 100644
--- a/src/messaging/message.cc
+++ b/src/messaging/message.cc
@@ -338,15 +338,19 @@ std::string Message::convertEmailRecipients(const std::vector& reci
PlatformResult saveToTempFile(const std::string& data, std::string* file_name) {
ScopeLogger();
- char buf[] = "XXXXXX";
+ char buf[] = "/tmp/XXXXXX";
mode_t mask = umask(S_IWGRP | S_IWOTH);
- mkstemp(buf); // Just generate unique name
+ int file_descriptor = mkstemp(buf);
+ // Generate unique name and open the file descriptor
+ if (-1 == file_descriptor) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Temp file creation failed");
+ }
- std::string tmp_name = std::string("/tmp/") + buf;
+ std::string tmp_name = buf;
mode_t old_mask = umask(mask);
- FILE* file = fopen(tmp_name.c_str(), "w");
+ FILE* file = fdopen(file_descriptor, "w+");
umask(old_mask);
if (NULL == file) {
diff --git a/src/messaging/messaging_manager.cc b/src/messaging/messaging_manager.cc
index dbb4f4c..566f198 100644
--- a/src/messaging/messaging_manager.cc
+++ b/src/messaging/messaging_manager.cc
@@ -55,7 +55,8 @@ MsgManagerCallbackData::MsgManagerCallbackData(MessagingInstance& instance)
ScopeLogger();
}
-MessagingManager::MessagingManager(MessagingInstance& instance) : instance_(instance) {
+MessagingManager::MessagingManager(MessagingInstance& instance)
+ : m_msg_handle(nullptr), instance_(instance) {
ScopeLogger();
int ret = msg_open_msg_handle(&m_msg_handle);
if (ret != MSG_SUCCESS) {
diff --git a/src/secureelement/secureelement_instance.cc b/src/secureelement/secureelement_instance.cc
index 7313d70..eccb692 100644
--- a/src/secureelement/secureelement_instance.cc
+++ b/src/secureelement/secureelement_instance.cc
@@ -554,7 +554,7 @@ TizenResult SecureElementInstance::Transmit(picojson::object const& args,
};
for (size_t i = 0; i < v_cmd_size; i++) {
- cmd[i] = (int) v_cmd[i].get();
+ cmd[i] = (int)v_cmd[i].get();
}
int length = 0;
--
2.7.4
From ab4ea8ab2d511fa0e90634c4cd2947ac9b80af90 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 28 Mar 2018 13:06:10 +0200
Subject: [PATCH 07/16] [version] 2.19
Change-Id: Ic8848b54eda46b98bd609e0d4254548a8c5beb04
Signed-off-by: Piotr Kosko
---
packaging/webapi-plugins.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index 1f08c55..2e5500f 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -10,7 +10,7 @@
%define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions}
Name: webapi-plugins
-Version: 2.18
+Version: 2.19
Release: 0
License: Apache-2.0 and BSD-3-Clause and MIT
Group: Development/Libraries
--
2.7.4
From 3341dec1d1efb94d62154f4cd205fd24f061cf77 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Tue, 3 Apr 2018 10:12:44 +0200
Subject: [PATCH 08/16] [Download] Fixed unexpected result of fixing coverity
issues
[Bug] When running on TV device, checking status of cellular network
returned not supported error, the checking status of cellular needed
to be moved into correct section instead of running this code in common
code part.
[Verification] TCT result - 100%
Change-Id: I6cb171034588b2616222bde4101a278c491fdc52
Signed-off-by: Piotr Kosko
---
src/download/download_instance.cc | 201 +++++++++++++++++++++-----------------
src/download/download_instance.h | 49 +++++-----
2 files changed, 138 insertions(+), 112 deletions(-)
diff --git a/src/download/download_instance.cc b/src/download/download_instance.cc
index 4e1fa39..33e2d7a 100644
--- a/src/download/download_instance.cc
+++ b/src/download/download_instance.cc
@@ -462,115 +462,136 @@ void DownloadInstance::progress_changed_cb(int download_id, long long unsigned r
g_idle_add(OnProgressChanged, downCbPtr);
}
+#define CHECK_CONNECTION_ERROR(ret) \
+ switch (ret) { \
+ case CONNECTION_ERROR_NONE: \
+ break; \
+ case CONNECTION_ERROR_NOT_SUPPORTED: \
+ return LogAndCreateResult( \
+ common::ErrorCode::NOT_SUPPORTED_ERR, \
+ "The networkType of the given DownloadRequest is not supported", \
+ ("The networkType of the given DownloadRequest is not supported")); \
+ default: \
+ return LogAndCreateResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occurred", \
+ ("Connection problem occurred")); \
+ }
+
+common::PlatformResult DownloadInstance::CheckNetworkConnection(const std::string& network_type,
+ bool& network_support,
+ bool& network_available,
+ DownloadInfoPtr di_ptr) {
+ connection_h connection = nullptr;
+ int ret = connection_create(&connection);
+ CHECK_CONNECTION_ERROR(ret)
+ SCOPE_EXIT {
+ connection_destroy(connection);
+ };
+
+ connection_type_e connection_type = CONNECTION_TYPE_DISCONNECTED;
+ ret = connection_get_type(connection, &connection_type);
+ CHECK_CONNECTION_ERROR(ret)
+
+ if (CONNECTION_TYPE_DISCONNECTED == connection_type) {
+ return LogAndCreateResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occurred",
+ ("Connection type is disconnected"));
+ }
+
+ if ("CELLULAR" == network_type) {
+ // check if connection type is supported
+ bool cell_support = false;
+ system_info_get_platform_bool("http://tizen.org/feature/network.telephony", &cell_support);
+
+ // check if connection is available
+ connection_cellular_state_e cell_state = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE;
+ ret = connection_get_cellular_state(connection, &cell_state);
+ CHECK_CONNECTION_ERROR(ret)
+ bool cell_available = (CONNECTION_CELLULAR_STATE_CONNECTED == cell_state);
+
+ // setup download parameters using cellular network
+ network_support = cell_support;
+ network_available = cell_available;
+ di_ptr->network_type = DOWNLOAD_NETWORK_DATA_NETWORK;
+ } else if ("WIFI" == network_type) {
+ // check if connection type is supported
+ bool wifi_support = false;
+ system_info_get_platform_bool("http://tizen.org/feature/network.wifi", &wifi_support);
+
+ // check if connection is available
+ connection_wifi_state_e wifi_state = CONNECTION_WIFI_STATE_DEACTIVATED;
+ ret = connection_get_wifi_state(connection, &wifi_state);
+ CHECK_CONNECTION_ERROR(ret)
+ bool wifi_available = (CONNECTION_WIFI_STATE_CONNECTED == wifi_state);
+
+ // setup download parameters using wifi network
+ network_support = wifi_support;
+ network_available = wifi_available;
+ di_ptr->network_type = DOWNLOAD_NETWORK_WIFI;
+ } else if (("ALL" == network_type) && (CONNECTION_TYPE_DISCONNECTED != connection_type)) {
+ // setup download parameters using 'all' network
+ network_support = true;
+ network_available = true;
+ di_ptr->network_type = DOWNLOAD_NETWORK_ALL;
+ } else {
+ return LogAndCreateResult(
+ common::ErrorCode::INVALID_VALUES_ERR,
+ "The input parameter contains an invalid network type.",
+ ("The input parameter contains an invalid network type: %s", network_type.c_str()));
+ }
+ return common::PlatformResult(common::ErrorCode::NO_ERROR);
+}
+#undef CHECK_CONNECTION_ERROR
+
void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojson::object& out) {
ScopeLogger();
CHECK_PRIVILEGE_ACCESS(kPrivilegeDownload, &out);
CHECK_EXIST(args, "callbackId", out)
CHECK_EXIST(args, "url", out)
- int ret;
- std::string networkType;
+ std::string network_type;
- DownloadInfoPtr diPtr(new DownloadInfo);
+ DownloadInfoPtr di_ptr(new DownloadInfo);
- diPtr->callbackId = static_cast(args.get("callbackId").get());
- diPtr->url = args.get("url").is() ? args.get("url").get() : "";
+ di_ptr->callbackId = static_cast(args.get("callbackId").get());
+ di_ptr->url = args.get("url").is() ? args.get("url").get() : "";
if (!args.get("destination").is()) {
if (args.get("destination").is() &&
args.get("destination").get() != "") {
- diPtr->destination = args.get("destination").get();
- diPtr->destination = common::FilesystemProvider::Create().GetRealPath(diPtr->destination);
+ di_ptr->destination = args.get("destination").get();
+ di_ptr->destination = common::FilesystemProvider::Create().GetRealPath(di_ptr->destination);
}
}
if (!args.get("fileName").is()) {
if (args.get("fileName").is() && args.get("fileName").get() != "") {
- diPtr->file_name = args.get("fileName").get();
+ di_ptr->file_name = args.get("fileName").get();
}
}
if (!args.get("networkType").is()) {
- networkType = args.get("networkType").is()
- ? args.get("networkType").get()
- : "ALL";
+ network_type = args.get("networkType").is()
+ ? args.get("networkType").get()
+ : "ALL";
}
bool network_support = false;
- bool cell_support = false;
- bool wifi_support = false;
-
- system_info_get_platform_bool("http://tizen.org/feature/network.telephony", &cell_support);
- system_info_get_platform_bool("http://tizen.org/feature/network.wifi", &wifi_support);
-
-#define CHECK_CONNECTION_ERROR(ret) \
- if (CONNECTION_ERROR_NONE != ret) { \
- LogAndReportError( \
- common::PlatformResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occured"), \
- &out, ("Connection type is disconnected")); \
- return; \
- }
-
- connection_h connection = nullptr;
- ret = connection_create(&connection);
- CHECK_CONNECTION_ERROR(ret)
- SCOPE_EXIT {
- connection_destroy(connection);
- };
-
- connection_cellular_state_e cell_state = CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE;
- connection_wifi_state_e wifi_state = CONNECTION_WIFI_STATE_DEACTIVATED;
-
- ret = connection_get_cellular_state(connection, &cell_state);
- CHECK_CONNECTION_ERROR(ret)
- ret = connection_get_wifi_state(connection, &wifi_state);
- CHECK_CONNECTION_ERROR(ret)
-
- connection_type_e connection_type = CONNECTION_TYPE_DISCONNECTED;
- ret = connection_get_type(connection, &connection_type);
- CHECK_CONNECTION_ERROR(ret)
-
-#undef CHECK_CONNECTION_ERROR
-
- if (CONNECTION_TYPE_DISCONNECTED == connection_type) {
- LogAndReportError(
- common::PlatformResult(common::ErrorCode::UNKNOWN_ERR, "Connection problem occured"), &out,
- ("Connection type is disconnected"));
- return;
- }
-
bool network_available = false;
- bool cell_available = (CONNECTION_CELLULAR_STATE_CONNECTED == cell_state);
- bool wifi_available = (CONNECTION_WIFI_STATE_CONNECTED == wifi_state);
-
- if ("CELLULAR" == networkType) {
- network_support = cell_support;
- network_available = cell_available;
- diPtr->network_type = DOWNLOAD_NETWORK_DATA_NETWORK;
- } else if ("WIFI" == networkType) {
- network_support = wifi_support;
- network_available = wifi_available;
- diPtr->network_type = DOWNLOAD_NETWORK_WIFI;
- } else if (("ALL" == networkType) && (CONNECTION_TYPE_DISCONNECTED != connection_type)) {
- network_support = true;
- network_available = true;
- diPtr->network_type = DOWNLOAD_NETWORK_ALL;
- } else {
- LogAndReportError(
- common::PlatformResult(common::ErrorCode::INVALID_VALUES_ERR,
- "The input parameter contains an invalid network type."),
- &out, ("The input parameter contains an invalid network type: %s", networkType.c_str()));
+ common::PlatformResult result =
+ CheckNetworkConnection(network_type, network_support, network_available, di_ptr);
+ if (!result) {
+ LogAndReportError(result, &out);
return;
}
/*
* There is no relevant feature for networkType == "ALL".
*/
- if (!network_support && ("ALL" != networkType)) {
+ if (!network_support && ("ALL" != network_type)) {
LogAndReportError(common::PlatformResult(common::ErrorCode::NOT_SUPPORTED_ERR,
"The networkType of the given DownloadRequest "
"is not supported on this device."),
- &out, ("Requested network type (%s) is not supported.", networkType.c_str()));
+ &out,
+ ("Requested network type (%s) is not supported.", network_type.c_str()));
return;
}
@@ -578,25 +599,27 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
LogAndReportError(common::PlatformResult(common::ErrorCode::NETWORK_ERR,
"The networkType of the given DownloadRequest "
"is currently not available on this device."),
- &out, ("Requested network type (%s) is not available.", networkType.c_str()));
+ &out,
+ ("Requested network type (%s) is not available.", network_type.c_str()));
return;
}
+ int ret;
CallbackPtr downCbPtr(new DownloadCallback);
- downCbPtr->callbackId = diPtr->callbackId;
+ downCbPtr->callbackId = di_ptr->callbackId;
downCbPtr->instance = this;
download_callbacks[downCbPtr->callbackId] = downCbPtr;
- ret = download_create(&diPtr->download_id);
+ ret = download_create(&di_ptr->download_id);
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out,
("download_create error: %d (%s)", ret, get_error_message(ret)));
return;
}
- ret = download_set_state_changed_cb(diPtr->download_id, OnStateChanged,
+ ret = download_set_state_changed_cb(di_ptr->download_id, OnStateChanged,
static_cast(downCbPtr));
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out, ("download_set_state_changed_cb error: %d (%s)", ret,
@@ -604,7 +627,7 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
return;
}
- ret = download_set_progress_cb(diPtr->download_id, progress_changed_cb,
+ ret = download_set_progress_cb(di_ptr->download_id, progress_changed_cb,
static_cast(downCbPtr));
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out,
@@ -612,15 +635,15 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
return;
}
- ret = download_set_url(diPtr->download_id, diPtr->url.c_str());
+ ret = download_set_url(di_ptr->download_id, di_ptr->url.c_str());
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out,
("download_set_url error: %d (%s)", ret, get_error_message(ret)));
return;
}
- if (diPtr->destination.size() != 0) {
- ret = download_set_destination(diPtr->download_id, diPtr->destination.c_str());
+ if (di_ptr->destination.size() != 0) {
+ ret = download_set_destination(di_ptr->download_id, di_ptr->destination.c_str());
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out,
("download_set_destination error: %d (%s)", ret, get_error_message(ret)));
@@ -628,8 +651,8 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
}
}
- if (!diPtr->file_name.empty()) {
- ret = download_set_file_name(diPtr->download_id, diPtr->file_name.c_str());
+ if (!di_ptr->file_name.empty()) {
+ ret = download_set_file_name(di_ptr->download_id, di_ptr->file_name.c_str());
if (ret != DOWNLOAD_ERROR_NONE) {
LogAndReportError(convertError(ret), &out,
("download_set_file_name error: %d (%s)", ret, get_error_message(ret)));
@@ -637,19 +660,19 @@ void DownloadInstance::DownloadManagerStart(const picojson::value& args, picojso
}
}
- ret = download_set_network_type(diPtr->download_id, diPtr->network_type);
+ ret = download_set_network_type(di_ptr->download_id, di_ptr->network_type);
if (args.get("httpHeader").is()) {
picojson::object obj = args.get("httpHeader").get();
for (picojson::object::const_iterator it = obj.begin(); it != obj.end(); ++it) {
- download_add_http_header_field(diPtr->download_id, it->first.c_str(),
+ download_add_http_header_field(di_ptr->download_id, it->first.c_str(),
it->second.to_str().c_str());
}
}
- diMap[downCbPtr->callbackId] = diPtr;
+ diMap[downCbPtr->callbackId] = di_ptr;
- ret = download_start(diPtr->download_id);
+ ret = download_start(di_ptr->download_id);
if (ret == DOWNLOAD_ERROR_NONE) {
ReportSuccess(out);
diff --git a/src/download/download_instance.h b/src/download/download_instance.h
index f628736..82ee99b 100644
--- a/src/download/download_instance.h
+++ b/src/download/download_instance.h
@@ -45,29 +45,6 @@ class DownloadInstance : public common::ParsedInstance {
virtual ~DownloadInstance();
private:
- void DownloadManagerStart(const picojson::value& args, picojson::object& out);
- void DownloadManagerCancel(const picojson::value& args, picojson::object& out);
- void DownloadManagerPause(const picojson::value& args, picojson::object& out);
- void DownloadManagerResume(const picojson::value& args, picojson::object& out);
- void DownloadManagerGetstate(const picojson::value& args, picojson::object& out);
- void DownloadManagerGetdownloadrequest(const picojson::value& args, picojson::object& out);
- void DownloadManagerGetmimetype(const picojson::value& args, picojson::object& out);
- void DownloadManagerSetlistener(const picojson::value& args, picojson::object& out);
-
- bool GetDownloadID(const int callback_id, int& download_id);
-
- static common::PlatformResult convertError(int err, const std::string& message = "");
- static void OnStateChanged(int download_id, download_state_e state, void* user_data);
- static void progress_changed_cb(int download_id, long long unsigned received, void* user_data);
- static void OnStart(int download_id, void* user_data);
-
- static gboolean OnProgressChanged(void* user_data);
- static gboolean OnFinished(void* user_data);
- static gboolean OnPaused(void* user_data);
- static gboolean OnCanceled(void* user_data);
- static gboolean OnFailed(void* user_data);
- static bool CheckInstance(DownloadInstance* instance);
-
struct DownloadInfo {
int callbackId;
std::string url;
@@ -93,6 +70,32 @@ class DownloadInstance : public common::ParsedInstance {
typedef std::shared_ptr DownloadInfoPtr;
typedef std::map DownloadInfoMap;
+ common::PlatformResult CheckNetworkConnection(const std::string& network_type,
+ bool& network_support, bool& network_available,
+ DownloadInfoPtr di_ptr);
+ void DownloadManagerStart(const picojson::value& args, picojson::object& out);
+ void DownloadManagerCancel(const picojson::value& args, picojson::object& out);
+ void DownloadManagerPause(const picojson::value& args, picojson::object& out);
+ void DownloadManagerResume(const picojson::value& args, picojson::object& out);
+ void DownloadManagerGetstate(const picojson::value& args, picojson::object& out);
+ void DownloadManagerGetdownloadrequest(const picojson::value& args, picojson::object& out);
+ void DownloadManagerGetmimetype(const picojson::value& args, picojson::object& out);
+ void DownloadManagerSetlistener(const picojson::value& args, picojson::object& out);
+
+ bool GetDownloadID(const int callback_id, int& download_id);
+
+ static common::PlatformResult convertError(int err, const std::string& message = "");
+ static void OnStateChanged(int download_id, download_state_e state, void* user_data);
+ static void progress_changed_cb(int download_id, long long unsigned received, void* user_data);
+ static void OnStart(int download_id, void* user_data);
+
+ static gboolean OnProgressChanged(void* user_data);
+ static gboolean OnFinished(void* user_data);
+ static gboolean OnPaused(void* user_data);
+ static gboolean OnCanceled(void* user_data);
+ static gboolean OnFailed(void* user_data);
+ static bool CheckInstance(DownloadInstance* instance);
+
static std::mutex instances_mutex_;
static std::vector instances_;
--
2.7.4
From 4f631c67cd90572be1fd6048626745b5647e21ef Mon Sep 17 00:00:00 2001
From: Rafal Walczyna
Date: Fri, 6 Apr 2018 09:19:43 +0200
Subject: [PATCH 09/16] [Messaging] Fixed permissions of temporary file used
for messaging
File created by mkstemp() gives permissions only for user,
that's why msg-service could not read from file and body of message was empty.
[Verification] 100% passrate on TM1
Change-Id: I290277294459ca96392b9a97adccded1664a426d
Signed-off-by: Rafal Walczyna
---
src/messaging/message.cc | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/messaging/message.cc b/src/messaging/message.cc
index ba6aaa6..5fdbbc6 100644
--- a/src/messaging/message.cc
+++ b/src/messaging/message.cc
@@ -346,6 +346,11 @@ PlatformResult saveToTempFile(const std::string& data, std::string* file_name) {
if (-1 == file_descriptor) {
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Temp file creation failed");
}
+ // Change permision of file to -rw-r--r--
+ int ret_fchmod = fchmod(file_descriptor, 0644);
+ if (-1 == ret_fchmod) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Permission changing failed");
+ }
std::string tmp_name = buf;
--
2.7.4
From 267bb302f95a17adf319ef0678509f568f0785f7 Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Fri, 6 Apr 2018 09:29:15 +0200
Subject: [PATCH 10/16] [version] 2.20
Change-Id: I8c11218bf7cb61b4dcc530a205e7a4bfc1d94be9
---
packaging/webapi-plugins.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index 2e5500f..5c7573d 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -10,7 +10,7 @@
%define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions}
Name: webapi-plugins
-Version: 2.19
+Version: 2.20
Release: 0
License: Apache-2.0 and BSD-3-Clause and MIT
Group: Development/Libraries
--
2.7.4
From d808969a450b5a31470b8c559559c548ee0baecf Mon Sep 17 00:00:00 2001
From: Szymon Jastrzebski
Date: Tue, 10 Oct 2017 08:56:25 +0200
Subject: [PATCH 11/16] [Power] Refactoring module
Previous implementation depended partly on Deviced functions through the
dbus interface. Currently, the implementation uses only DeviceD Native API
(except the ReleaseBrightness and SetBrightness methods).
TheReleaseBrightness is still not wrapped into the Native C DeviceD API).
[Verification] TCT pass: A/M - 100%.
Change-Id: I03124c0d332bf03cd5481ac2b38c9e5c9a534063
Signed-off-by: Szymon Jastrzebski
---
src/common/GDBus/auto_gen_interface.c | 2052 --------------------
src/common/GDBus/auto_gen_interface.h | 257 ---
src/common/GDBus/gdbus_interface_generate.sh | 3 -
src/common/GDBus/gdbus_powerwrapper.cc | 235 ---
src/common/GDBus/gdbus_powerwrapper.h | 68 -
src/common/GDBus/gdbus_tizen_display_interface.xml | 50 -
src/common/common.gyp | 4 -
src/power/power.gyp | 3 -
src/power/power_api.js | 281 ++-
src/power/power_instance.cc | 161 +-
src/power/power_instance.h | 28 +-
src/power/power_manager.cc | 649 +++----
src/power/power_manager.h | 72 +-
src/power/power_platform_proxy.cc | 99 -
src/power/power_platform_proxy.h | 48 -
15 files changed, 540 insertions(+), 3470 deletions(-)
delete mode 100644 src/common/GDBus/auto_gen_interface.c
delete mode 100644 src/common/GDBus/auto_gen_interface.h
delete mode 100755 src/common/GDBus/gdbus_interface_generate.sh
delete mode 100644 src/common/GDBus/gdbus_powerwrapper.cc
delete mode 100644 src/common/GDBus/gdbus_powerwrapper.h
delete mode 100644 src/common/GDBus/gdbus_tizen_display_interface.xml
delete mode 100644 src/power/power_platform_proxy.cc
delete mode 100644 src/power/power_platform_proxy.h
diff --git a/src/common/GDBus/auto_gen_interface.c b/src/common/GDBus/auto_gen_interface.c
deleted file mode 100644
index f00cec5..0000000
--- a/src/common/GDBus/auto_gen_interface.c
+++ /dev/null
@@ -1,2052 +0,0 @@
-/*
- * Generated by gdbus-codegen 2.40.2. DO NOT EDIT.
- *
- * The license of this code is the same as for the source it was derived from.
- */
-
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include "auto_gen_interface.h"
-
-#include
-#ifdef G_OS_UNIX
-# include
-#endif
-
-typedef struct
-{
- GDBusArgInfo parent_struct;
- gboolean use_gvariant;
-} _ExtendedGDBusArgInfo;
-
-typedef struct
-{
- GDBusMethodInfo parent_struct;
- const gchar *signal_name;
- gboolean pass_fdlist;
-} _ExtendedGDBusMethodInfo;
-
-typedef struct
-{
- GDBusSignalInfo parent_struct;
- const gchar *signal_name;
-} _ExtendedGDBusSignalInfo;
-
-typedef struct
-{
- GDBusPropertyInfo parent_struct;
- const gchar *hyphen_name;
- gboolean use_gvariant;
-} _ExtendedGDBusPropertyInfo;
-
-typedef struct
-{
- GDBusInterfaceInfo parent_struct;
- const gchar *hyphen_name;
-} _ExtendedGDBusInterfaceInfo;
-
-typedef struct
-{
- const _ExtendedGDBusPropertyInfo *info;
- guint prop_id;
- GValue orig_value; /* the value before the change */
-} ChangedProperty;
-
-static void
-_changed_property_free (ChangedProperty *data)
-{
- g_value_unset (&data->orig_value);
- g_free (data);
-}
-
-static gboolean
-_g_strv_equal0 (gchar **a, gchar **b)
-{
- gboolean ret = FALSE;
- guint n;
- if (a == NULL && b == NULL)
- {
- ret = TRUE;
- goto out;
- }
- if (a == NULL || b == NULL)
- goto out;
- if (g_strv_length (a) != g_strv_length (b))
- goto out;
- for (n = 0; a[n] != NULL; n++)
- if (g_strcmp0 (a[n], b[n]) != 0)
- goto out;
- ret = TRUE;
-out:
- return ret;
-}
-
-static gboolean
-_g_variant_equal0 (GVariant *a, GVariant *b)
-{
- gboolean ret = FALSE;
- if (a == NULL && b == NULL)
- {
- ret = TRUE;
- goto out;
- }
- if (a == NULL || b == NULL)
- goto out;
- ret = g_variant_equal (a, b);
-out:
- return ret;
-}
-
-G_GNUC_UNUSED static gboolean
-_g_value_equal (const GValue *a, const GValue *b)
-{
- gboolean ret = FALSE;
- g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
- switch (G_VALUE_TYPE (a))
- {
- case G_TYPE_BOOLEAN:
- ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
- break;
- case G_TYPE_UCHAR:
- ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
- break;
- case G_TYPE_INT:
- ret = (g_value_get_int (a) == g_value_get_int (b));
- break;
- case G_TYPE_UINT:
- ret = (g_value_get_uint (a) == g_value_get_uint (b));
- break;
- case G_TYPE_INT64:
- ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
- break;
- case G_TYPE_UINT64:
- ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
- break;
- case G_TYPE_DOUBLE:
- {
- /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
- gdouble da = g_value_get_double (a);
- gdouble db = g_value_get_double (b);
- ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
- }
- break;
- case G_TYPE_STRING:
- ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
- break;
- case G_TYPE_VARIANT:
- ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
- break;
- default:
- if (G_VALUE_TYPE (a) == G_TYPE_STRV)
- ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
- else
- g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
- break;
- }
- return ret;
-}
-
-/* ------------------------------------------------------------------------
- * Code for interface org.tizen.system.deviced.display
- * ------------------------------------------------------------------------
- */
-
-/**
- * SECTION:_auto_genOrgTizenSystemDevicedDisplay
- * @title: _auto_genOrgTizenSystemDevicedDisplay
- * @short_description: Generated C code for the org.tizen.system.deviced.display D-Bus interface
- *
- * This section contains code for working with the org.tizen.system.deviced.display D-Bus interface in C.
- */
-
-/* ---- Introspection data for org.tizen.system.deviced.display ---- */
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_state =
-{
- {
- -1,
- (gchar *) "state",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option1 =
-{
- {
- -1,
- (gchar *) "option1",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option2 =
-{
- {
- -1,
- (gchar *) "option2",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_timeout =
-{
- {
- -1,
- (gchar *) "timeout",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_state,
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option1,
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_option2,
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_timeout,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_lockstate =
-{
- {
- -1,
- (gchar *) "lockstate",
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_IN_ARG_pointers,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate_OUT_ARG_pointers,
- NULL
- },
- "handle-lockstate",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_state =
-{
- {
- -1,
- (gchar *) "state",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_option =
-{
- {
- -1,
- (gchar *) "option",
- (gchar *) "s",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_state,
- &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_option,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_unlockstate =
-{
- {
- -1,
- (gchar *) "unlockstate",
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_IN_ARG_pointers,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate_OUT_ARG_pointers,
- NULL
- },
- "handle-unlockstate",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_release_brightness =
-{
- {
- -1,
- (gchar *) "ReleaseBrightness",
- NULL,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness_OUT_ARG_pointers,
- NULL
- },
- "handle-release-brightness",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_brightness =
-{
- {
- -1,
- (gchar *) "brightness",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_brightness,
- NULL
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness =
-{
- {
- -1,
- (gchar *) "HoldBrightness",
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_IN_ARG_pointers,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness_OUT_ARG_pointers,
- NULL
- },
- "handle-hold-brightness",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_current_brightness =
-{
- {
- -1,
- (gchar *) "CurrentBrightness",
- NULL,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness_OUT_ARG_pointers,
- NULL
- },
- "handle-current-brightness",
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_result =
-{
- {
- -1,
- (gchar *) "result",
- (gchar *) "i",
- NULL
- },
- FALSE
-};
-
-static const _ExtendedGDBusArgInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_result,
- NULL
-};
-
-static const _ExtendedGDBusMethodInfo __auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness =
-{
- {
- -1,
- (gchar *) "CustomBrightness",
- NULL,
- (GDBusArgInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness_OUT_ARG_pointers,
- NULL
- },
- "handle-custom-brightness",
- FALSE
-};
-
-static const _ExtendedGDBusMethodInfo * const __auto_gen_org_tizen_system_deviced_display_method_info_pointers[] =
-{
- &__auto_gen_org_tizen_system_deviced_display_method_info_lockstate,
- &__auto_gen_org_tizen_system_deviced_display_method_info_unlockstate,
- &__auto_gen_org_tizen_system_deviced_display_method_info_release_brightness,
- &__auto_gen_org_tizen_system_deviced_display_method_info_hold_brightness,
- &__auto_gen_org_tizen_system_deviced_display_method_info_current_brightness,
- &__auto_gen_org_tizen_system_deviced_display_method_info_custom_brightness,
- NULL
-};
-
-static const _ExtendedGDBusInterfaceInfo __auto_gen_org_tizen_system_deviced_display_interface_info =
-{
- {
- -1,
- (gchar *) "org.tizen.system.deviced.display",
- (GDBusMethodInfo **) &__auto_gen_org_tizen_system_deviced_display_method_info_pointers,
- NULL,
- NULL,
- NULL
- },
- "org-tizen-system-deviced-display",
-};
-
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_interface_info:
- *
- * Gets a machine-readable description of the org.tizen.system.deviced.display D-Bus interface.
- *
- * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.
- */
-GDBusInterfaceInfo *
-_auto_gen_org_tizen_system_deviced_display_interface_info (void)
-{
- return (GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_override_properties:
- * @klass: The class structure for a #GObject-derived class.
- * @property_id_begin: The property id to assign to the first overridden property.
- *
- * Overrides all #GObject properties in the #_auto_genOrgTizenSystemDevicedDisplay interface for a concrete class.
- * The properties are overridden in the order they are defined.
- *
- * Returns: The last property id.
- */
-guint
-_auto_gen_org_tizen_system_deviced_display_override_properties (GObjectClass *klass, guint property_id_begin)
-{
- return property_id_begin - 1;
-}
-
-
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplay:
- *
- * Abstract interface type for the D-Bus interface org.tizen.system.deviced.display.
- */
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplayIface:
- * @parent_iface: The parent interface.
- * @handle_current_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-current-brightness signal.
- * @handle_custom_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-custom-brightness signal.
- * @handle_hold_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-hold-brightness signal.
- * @handle_lockstate: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-lockstate signal.
- * @handle_release_brightness: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-release-brightness signal.
- * @handle_unlockstate: Handler for the #_auto_genOrgTizenSystemDevicedDisplay::handle-unlockstate signal.
- *
- * Virtual table for the D-Bus interface org.tizen.system.deviced.display.
- */
-
-typedef _auto_genOrgTizenSystemDevicedDisplayIface _auto_genOrgTizenSystemDevicedDisplayInterface;
-G_DEFINE_INTERFACE (_auto_genOrgTizenSystemDevicedDisplay, _auto_gen_org_tizen_system_deviced_display, G_TYPE_OBJECT);
-
-static void
-_auto_gen_org_tizen_system_deviced_display_default_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface)
-{
- /* GObject signals for incoming D-Bus method calls: */
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-lockstate:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_state: Argument passed by remote caller.
- * @arg_option1: Argument passed by remote caller.
- * @arg_option2: Argument passed by remote caller.
- * @arg_timeout: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the lockstate() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_lockstate() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-lockstate",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_lockstate),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 5,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT);
-
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-unlockstate:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_state: Argument passed by remote caller.
- * @arg_option: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the unlockstate() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_unlockstate() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-unlockstate",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_unlockstate),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 3,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING);
-
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-release-brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the ReleaseBrightness() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_release_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-release-brightness",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_release_brightness),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-hold-brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- * @arg_brightness: Argument passed by remote caller.
- *
- * Signal emitted when a remote caller is invoking the HoldBrightness() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-hold-brightness",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_hold_brightness),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 2,
- G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_INT);
-
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-current-brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the CurrentBrightness() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_current_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-current-brightness",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_current_brightness),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
- /**
- * _auto_genOrgTizenSystemDevicedDisplay::handle-custom-brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: A #GDBusMethodInvocation.
- *
- * Signal emitted when a remote caller is invoking the CustomBrightness() D-Bus method.
- *
- * If a signal handler returns %TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
- *
- * Returns: %TRUE if the invocation was handled, %FALSE to let other signal handlers run.
- */
- g_signal_new ("handle-custom-brightness",
- G_TYPE_FROM_INTERFACE (iface),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (_auto_genOrgTizenSystemDevicedDisplayIface, handle_custom_brightness),
- g_signal_accumulator_true_handled,
- NULL,
- g_cclosure_marshal_generic,
- G_TYPE_BOOLEAN,
- 1,
- G_TYPE_DBUS_METHOD_INVOCATION);
-
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_lockstate:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_state: Argument to pass with the method invocation.
- * @arg_option1: Argument to pass with the method invocation.
- * @arg_option2: Argument to pass with the method invocation.
- * @arg_timeout: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the lockstate() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_lockstate (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- const gchar *arg_state,
- const gchar *arg_option1,
- const gchar *arg_option2,
- gint arg_timeout,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "lockstate",
- g_variant_new ("(sssi)",
- arg_state,
- arg_option1,
- arg_option2,
- arg_timeout),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_lockstate().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_lockstate().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_lockstate_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_state: Argument to pass with the method invocation.
- * @arg_option1: Argument to pass with the method invocation.
- * @arg_option2: Argument to pass with the method invocation.
- * @arg_timeout: Argument to pass with the method invocation.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the lockstate() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_lockstate() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_lockstate_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- const gchar *arg_state,
- const gchar *arg_option1,
- const gchar *arg_option2,
- gint arg_timeout,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "lockstate",
- g_variant_new ("(sssi)",
- arg_state,
- arg_option1,
- arg_option2,
- arg_timeout),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_unlockstate:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_state: Argument to pass with the method invocation.
- * @arg_option: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the unlockstate() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_unlockstate (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- const gchar *arg_state,
- const gchar *arg_option,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "unlockstate",
- g_variant_new ("(ss)",
- arg_state,
- arg_option),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_unlockstate().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_unlockstate().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_state: Argument to pass with the method invocation.
- * @arg_option: Argument to pass with the method invocation.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the unlockstate() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_unlockstate() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- const gchar *arg_state,
- const gchar *arg_option,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "unlockstate",
- g_variant_new ("(ss)",
- arg_state,
- arg_option),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_release_brightness:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the ReleaseBrightness() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_release_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "ReleaseBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_release_brightness().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_release_brightness().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the ReleaseBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_release_brightness() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "ReleaseBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_brightness: Argument to pass with the method invocation.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the HoldBrightness() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_hold_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint arg_brightness,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "HoldBrightness",
- g_variant_new ("(i)",
- arg_brightness),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_hold_brightness().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_hold_brightness().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @arg_brightness: Argument to pass with the method invocation.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the HoldBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_hold_brightness() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint arg_brightness,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "HoldBrightness",
- g_variant_new ("(i)",
- arg_brightness),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_current_brightness:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the CurrentBrightness() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_current_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "CurrentBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_current_brightness().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_current_brightness().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the CurrentBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_current_brightness() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "CurrentBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously invokes the CustomBrightness() D-Bus method on @proxy.
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync() for the synchronous, blocking version of this method.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_call_custom_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_dbus_proxy_call (G_DBUS_PROXY (proxy),
- "CustomBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- callback,
- user_data);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_call_custom_brightness().
- * @error: Return location for error or %NULL.
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_call_custom_brightness().
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GAsyncResult *res,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync:
- * @proxy: A #_auto_genOrgTizenSystemDevicedDisplayProxy.
- * @out_result: (out): Return location for return parameter or %NULL to ignore.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL.
- *
- * Synchronously invokes the CustomBrightness() D-Bus method on @proxy. The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_call_custom_brightness() for the asynchronous version of this method.
- *
- * Returns: (skip): %TRUE if the call succeded, %FALSE if @error is set.
- */
-gboolean
-_auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync (
- _auto_genOrgTizenSystemDevicedDisplay *proxy,
- gint *out_result,
- GCancellable *cancellable,
- GError **error)
-{
- GVariant *_ret;
- _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
- "CustomBrightness",
- g_variant_new ("()"),
- G_DBUS_CALL_FLAGS_NONE,
- -1,
- cancellable,
- error);
- if (_ret == NULL)
- goto _out;
- g_variant_get (_ret,
- "(i)",
- out_result);
- g_variant_unref (_ret);
-_out:
- return _ret != NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_lockstate:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the lockstate() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_lockstate (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_unlockstate:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the unlockstate() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_unlockstate (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_release_brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the ReleaseBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_release_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the HoldBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_hold_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_current_brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the CurrentBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_current_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness:
- * @object: A #_auto_genOrgTizenSystemDevicedDisplay.
- * @invocation: (transfer full): A #GDBusMethodInvocation.
- * @result: Parameter to return.
- *
- * Helper function used in service implementations to finish handling invocations of the CustomBrightness() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.
- *
- * This method will free @invocation, you cannot use it afterwards.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_complete_custom_brightness (
- _auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation,
- gint result)
-{
- g_dbus_method_invocation_return_value (invocation,
- g_variant_new ("(i)",
- result));
-}
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplayProxy:
- *
- * The #_auto_genOrgTizenSystemDevicedDisplayProxy structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplayProxyClass:
- * @parent_class: The parent class.
- *
- * Class structure for #_auto_genOrgTizenSystemDevicedDisplayProxy.
- */
-
-struct __auto_genOrgTizenSystemDevicedDisplayProxyPrivate
-{
- GData *qdata;
-};
-
-static void _auto_gen_org_tizen_system_deviced_display_proxy_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface);
-
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplayProxy, _auto_gen_org_tizen_system_deviced_display_proxy, G_TYPE_DBUS_PROXY,
- G_ADD_PRIVATE (_auto_genOrgTizenSystemDevicedDisplayProxy)
- G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_proxy_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplayProxy, _auto_gen_org_tizen_system_deviced_display_proxy, G_TYPE_DBUS_PROXY,
- G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_proxy_iface_init));
-
-#endif
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_finalize (GObject *object)
-{
- _auto_genOrgTizenSystemDevicedDisplayProxy *proxy = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY (object);
- g_datalist_clear (&proxy->priv->qdata);
- G_OBJECT_CLASS (_auto_gen_org_tizen_system_deviced_display_proxy_parent_class)->finalize (object);
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec G_GNUC_UNUSED)
-{
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_g_signal (GDBusProxy *proxy,
- const gchar *sender_name G_GNUC_UNUSED,
- const gchar *signal_name,
- GVariant *parameters)
-{
- _ExtendedGDBusSignalInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint n;
- guint signal_id;
- info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, signal_name);
- if (info == NULL)
- return;
- num_params = g_variant_n_children (parameters);
- paramv = g_new0 (GValue, num_params + 1);
- g_value_init (¶mv[0], _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY);
- g_value_set_object (¶mv[0], proxy);
- g_variant_iter_init (&iter, parameters);
- n = 1;
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
- if (arg_info->use_gvariant)
- {
- g_value_init (¶mv[n], G_TYPE_VARIANT);
- g_value_set_variant (¶mv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY);
- g_signal_emitv (paramv, signal_id, 0, NULL);
- for (n = 0; n < num_params + 1; n++)
- g_value_unset (¶mv[n]);
- g_free (paramv);
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_g_properties_changed (GDBusProxy *_proxy,
- GVariant *changed_properties,
- const gchar *const *invalidated_properties)
-{
- _auto_genOrgTizenSystemDevicedDisplayProxy *proxy = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY (_proxy);
- guint n;
- const gchar *key;
- GVariantIter *iter;
- _ExtendedGDBusPropertyInfo *info;
- g_variant_get (changed_properties, "a{sv}", &iter);
- while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, key);
- g_datalist_remove_data (&proxy->priv->qdata, key);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
- g_variant_iter_free (iter);
- for (n = 0; invalidated_properties[n] != NULL; n++)
- {
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, invalidated_properties[n]);
- g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
- if (info != NULL)
- g_object_notify (G_OBJECT (proxy), info->hyphen_name);
- }
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_init (_auto_genOrgTizenSystemDevicedDisplayProxy *proxy)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- proxy->priv = _auto_gen_org_tizen_system_deviced_display_proxy_get_instance_private (proxy);
-#else
- proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, _auto_genOrgTizenSystemDevicedDisplayProxyPrivate);
-#endif
-
- g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), _auto_gen_org_tizen_system_deviced_display_interface_info ());
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_class_init (_auto_genOrgTizenSystemDevicedDisplayProxyClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusProxyClass *proxy_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = _auto_gen_org_tizen_system_deviced_display_proxy_finalize;
- gobject_class->get_property = _auto_gen_org_tizen_system_deviced_display_proxy_get_property;
- gobject_class->set_property = _auto_gen_org_tizen_system_deviced_display_proxy_set_property;
-
- proxy_class = G_DBUS_PROXY_CLASS (klass);
- proxy_class->g_signal = _auto_gen_org_tizen_system_deviced_display_proxy_g_signal;
- proxy_class->g_properties_changed = _auto_gen_org_tizen_system_deviced_display_proxy_g_properties_changed;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (_auto_genOrgTizenSystemDevicedDisplayProxyPrivate));
-#endif
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_proxy_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface)
-{
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Asynchronously creates a proxy for the D-Bus interface org.tizen.system.deviced.display. See g_dbus_proxy_new() for more details.
- *
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_proxy_new_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_proxy_new_sync() for the synchronous, blocking version of this constructor.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_proxy_new (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_proxy_new().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_proxy_new().
- *
- * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set.
- */
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret);
- else
- return NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new_sync:
- * @connection: A #GDBusConnection.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: (allow-none): A bus name (well-known or unique) or %NULL if @connection is not a message bus connection.
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Synchronously creates a proxy for the D-Bus interface org.tizen.system.deviced.display. See g_dbus_proxy_new_sync() for more details.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_proxy_new() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set.
- */
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_sync (
- GDBusConnection *connection,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL);
- if (ret != NULL)
- return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret);
- else
- return NULL;
-}
-
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @callback: A #GAsyncReadyCallback to call when the request is satisfied.
- * @user_data: User data to pass to @callback.
- *
- * Like _auto_gen_org_tizen_system_deviced_display_proxy_new() but takes a #GBusType instead of a #GDBusConnection.
- *
- * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.
- * You can then call _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish() to get the result of the operation.
- *
- * See _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.
- */
-void
-_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
-{
- g_async_initable_new_async (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL);
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish:
- * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus().
- * @error: Return location for error or %NULL
- *
- * Finishes an operation started with _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus().
- *
- * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set.
- */
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish (
- GAsyncResult *res,
- GError **error)
-{
- GObject *ret;
- GObject *source_object;
- source_object = g_async_result_get_source_object (res);
- ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
- g_object_unref (source_object);
- if (ret != NULL)
- return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret);
- else
- return NULL;
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync:
- * @bus_type: A #GBusType.
- * @flags: Flags from the #GDBusProxyFlags enumeration.
- * @name: A bus name (well-known or unique).
- * @object_path: An object path.
- * @cancellable: (allow-none): A #GCancellable or %NULL.
- * @error: Return location for error or %NULL
- *
- * Like _auto_gen_org_tizen_system_deviced_display_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.
- *
- * The calling thread is blocked until a reply is received.
- *
- * See _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus() for the asynchronous version of this constructor.
- *
- * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplayProxy): The constructed proxy object or %NULL if @error is set.
- */
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync (
- GBusType bus_type,
- GDBusProxyFlags flags,
- const gchar *name,
- const gchar *object_path,
- GCancellable *cancellable,
- GError **error)
-{
- GInitable *ret;
- ret = g_initable_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.tizen.system.deviced.display", NULL);
- if (ret != NULL)
- return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (ret);
- else
- return NULL;
-}
-
-
-/* ------------------------------------------------------------------------ */
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplaySkeleton:
- *
- * The #_auto_genOrgTizenSystemDevicedDisplaySkeleton structure contains only private data and should only be accessed using the provided API.
- */
-
-/**
- * _auto_genOrgTizenSystemDevicedDisplaySkeletonClass:
- * @parent_class: The parent class.
- *
- * Class structure for #_auto_genOrgTizenSystemDevicedDisplaySkeleton.
- */
-
-struct __auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate
-{
- GValue *properties;
- GList *changed_properties;
- GSource *changed_properties_idle_source;
- GMainContext *context;
- GMutex lock;
-};
-
-static void
-__auto_gen_org_tizen_system_deviced_display_skeleton_handle_method_call (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name,
- const gchar *method_name,
- GVariant *parameters,
- GDBusMethodInvocation *invocation,
- gpointer user_data)
-{
- _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data);
- _ExtendedGDBusMethodInfo *info;
- GVariantIter iter;
- GVariant *child;
- GValue *paramv;
- guint num_params;
- guint num_extra;
- guint n;
- guint signal_id;
- GValue return_value = G_VALUE_INIT;
- info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
- g_assert (info != NULL);
- num_params = g_variant_n_children (parameters);
- num_extra = info->pass_fdlist ? 3 : 2; paramv = g_new0 (GValue, num_params + num_extra);
- n = 0;
- g_value_init (¶mv[n], _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY);
- g_value_set_object (¶mv[n++], skeleton);
- g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);
- g_value_set_object (¶mv[n++], invocation);
- if (info->pass_fdlist)
- {
-#ifdef G_OS_UNIX
- g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);
- g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
-#else
- g_assert_not_reached ();
-#endif
- }
- g_variant_iter_init (&iter, parameters);
- while ((child = g_variant_iter_next_value (&iter)) != NULL)
- {
- _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
- if (arg_info->use_gvariant)
- {
- g_value_init (¶mv[n], G_TYPE_VARIANT);
- g_value_set_variant (¶mv[n], child);
- n++;
- }
- else
- g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);
- g_variant_unref (child);
- }
- signal_id = g_signal_lookup (info->signal_name, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY);
- g_value_init (&return_value, G_TYPE_BOOLEAN);
- g_signal_emitv (paramv, signal_id, 0, &return_value);
- if (!g_value_get_boolean (&return_value))
- g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
- g_value_unset (&return_value);
- for (n = 0; n < num_params + num_extra; n++)
- g_value_unset (¶mv[n]);
- g_free (paramv);
-}
-
-static GVariant *
-__auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GError **error,
- gpointer user_data)
-{
- _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- GVariant *ret;
- ret = NULL;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- g_value_init (&value, pspec->value_type);
- g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
- g_value_unset (&value);
- }
- return ret;
-}
-
-static gboolean
-__auto_gen_org_tizen_system_deviced_display_skeleton_handle_set_property (
- GDBusConnection *connection G_GNUC_UNUSED,
- const gchar *sender G_GNUC_UNUSED,
- const gchar *object_path G_GNUC_UNUSED,
- const gchar *interface_name G_GNUC_UNUSED,
- const gchar *property_name,
- GVariant *variant,
- GError **error,
- gpointer user_data)
-{
- _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (user_data);
- GValue value = G_VALUE_INIT;
- GParamSpec *pspec;
- _ExtendedGDBusPropertyInfo *info;
- gboolean ret;
- ret = FALSE;
- info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct, property_name);
- g_assert (info != NULL);
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
- if (pspec == NULL)
- {
- g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
- }
- else
- {
- if (info->use_gvariant)
- g_value_set_variant (&value, variant);
- else
- g_dbus_gvariant_to_gvalue (variant, &value);
- g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
- g_value_unset (&value);
- ret = TRUE;
- }
- return ret;
-}
-
-static const GDBusInterfaceVTable __auto_gen_org_tizen_system_deviced_display_skeleton_vtable =
-{
- __auto_gen_org_tizen_system_deviced_display_skeleton_handle_method_call,
- __auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property,
- __auto_gen_org_tizen_system_deviced_display_skeleton_handle_set_property,
- {NULL}
-};
-
-static GDBusInterfaceInfo *
-_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return _auto_gen_org_tizen_system_deviced_display_interface_info ();
-}
-
-static GDBusInterfaceVTable *
-_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)
-{
- return (GDBusInterfaceVTable *) &__auto_gen_org_tizen_system_deviced_display_skeleton_vtable;
-}
-
-static GVariant *
-_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
-{
- _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (_skeleton);
-
- GVariantBuilder builder;
- guint n;
- g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
- if (__auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties == NULL)
- goto out;
- for (n = 0; __auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties[n] != NULL; n++)
- {
- GDBusPropertyInfo *info = __auto_gen_org_tizen_system_deviced_display_interface_info.parent_struct.properties[n];
- if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
- {
- GVariant *value;
- value = __auto_gen_org_tizen_system_deviced_display_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.tizen.system.deviced.display", info->name, NULL, skeleton);
- if (value != NULL)
- {
- g_variant_take_ref (value);
- g_variant_builder_add (&builder, "{sv}", info->name, value);
- g_variant_unref (value);
- }
- }
- }
-out:
- return g_variant_builder_end (&builder);
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
-{
-}
-
-static void _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface);
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
-G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplaySkeleton, _auto_gen_org_tizen_system_deviced_display_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_ADD_PRIVATE (_auto_genOrgTizenSystemDevicedDisplaySkeleton)
- G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init));
-
-#else
-G_DEFINE_TYPE_WITH_CODE (_auto_genOrgTizenSystemDevicedDisplaySkeleton, _auto_gen_org_tizen_system_deviced_display_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
- G_IMPLEMENT_INTERFACE (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, _auto_gen_org_tizen_system_deviced_display_skeleton_iface_init));
-
-#endif
-static void
-_auto_gen_org_tizen_system_deviced_display_skeleton_finalize (GObject *object)
-{
- _auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton = _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON (object);
- g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
- if (skeleton->priv->changed_properties_idle_source != NULL)
- g_source_destroy (skeleton->priv->changed_properties_idle_source);
- g_main_context_unref (skeleton->priv->context);
- g_mutex_clear (&skeleton->priv->lock);
- G_OBJECT_CLASS (_auto_gen_org_tizen_system_deviced_display_skeleton_parent_class)->finalize (object);
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_skeleton_init (_auto_genOrgTizenSystemDevicedDisplaySkeleton *skeleton)
-{
-#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38
- skeleton->priv = _auto_gen_org_tizen_system_deviced_display_skeleton_get_instance_private (skeleton);
-#else
- skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate);
-#endif
-
- g_mutex_init (&skeleton->priv->lock);
- skeleton->priv->context = g_main_context_ref_thread_default ();
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_skeleton_class_init (_auto_genOrgTizenSystemDevicedDisplaySkeletonClass *klass)
-{
- GObjectClass *gobject_class;
- GDBusInterfaceSkeletonClass *skeleton_class;
-
- gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = _auto_gen_org_tizen_system_deviced_display_skeleton_finalize;
-
- skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
- skeleton_class->get_info = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_info;
- skeleton_class->get_properties = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_properties;
- skeleton_class->flush = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_flush;
- skeleton_class->get_vtable = _auto_gen_org_tizen_system_deviced_display_skeleton_dbus_interface_get_vtable;
-
-#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38
- g_type_class_add_private (klass, sizeof (_auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate));
-#endif
-}
-
-static void
-_auto_gen_org_tizen_system_deviced_display_skeleton_iface_init (_auto_genOrgTizenSystemDevicedDisplayIface *iface)
-{
-}
-
-/**
- * _auto_gen_org_tizen_system_deviced_display_skeleton_new:
- *
- * Creates a skeleton object for the D-Bus interface org.tizen.system.deviced.display.
- *
- * Returns: (transfer full) (type _auto_genOrgTizenSystemDevicedDisplaySkeleton): The skeleton object.
- */
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_skeleton_new (void)
-{
- return _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY (g_object_new (_AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, NULL));
-}
-
diff --git a/src/common/GDBus/auto_gen_interface.h b/src/common/GDBus/auto_gen_interface.h
deleted file mode 100644
index c90e84f..0000000
--- a/src/common/GDBus/auto_gen_interface.h
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Generated by gdbus-codegen 2.40.2. DO NOT EDIT.
- *
- * The license of this code is the same as for the source it was derived from.
- */
-
-#ifndef __AUTO_GEN_INTERFACE_H__
-#define __AUTO_GEN_INTERFACE_H__
-
-#include
-
-G_BEGIN_DECLS
-
-/* ------------------------------------------------------------------------ */
-/* Declarations for org.tizen.system.deviced.display */
-
-#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY \
- (_auto_gen_org_tizen_system_deviced_display_get_type())
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY(o) \
- (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, \
- _auto_genOrgTizenSystemDevicedDisplay))
-#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY(o) \
- (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY))
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_GET_IFACE(o) \
- (G_TYPE_INSTANCE_GET_INTERFACE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY, \
- _auto_genOrgTizenSystemDevicedDisplayIface))
-
-struct __auto_genOrgTizenSystemDevicedDisplay;
-typedef struct __auto_genOrgTizenSystemDevicedDisplay _auto_genOrgTizenSystemDevicedDisplay;
-typedef struct __auto_genOrgTizenSystemDevicedDisplayIface
- _auto_genOrgTizenSystemDevicedDisplayIface;
-
-struct __auto_genOrgTizenSystemDevicedDisplayIface {
- GTypeInterface parent_iface;
-
- gboolean (*handle_current_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation);
-
- gboolean (*handle_custom_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation);
-
- gboolean (*handle_hold_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation, gint arg_brightness);
-
- gboolean (*handle_lockstate)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation, const gchar *arg_state,
- const gchar *arg_option1, const gchar *arg_option2,
- gint arg_timeout);
-
- gboolean (*handle_release_brightness)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation);
-
- gboolean (*handle_unlockstate)(_auto_genOrgTizenSystemDevicedDisplay *object,
- GDBusMethodInvocation *invocation, const gchar *arg_state,
- const gchar *arg_option);
-};
-
-GType _auto_gen_org_tizen_system_deviced_display_get_type(void) G_GNUC_CONST;
-
-GDBusInterfaceInfo *_auto_gen_org_tizen_system_deviced_display_interface_info(void);
-guint _auto_gen_org_tizen_system_deviced_display_override_properties(GObjectClass *klass,
- guint property_id_begin);
-
-/* D-Bus method call completion functions: */
-void _auto_gen_org_tizen_system_deviced_display_complete_lockstate(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-void _auto_gen_org_tizen_system_deviced_display_complete_unlockstate(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-void _auto_gen_org_tizen_system_deviced_display_complete_release_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-void _auto_gen_org_tizen_system_deviced_display_complete_hold_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-void _auto_gen_org_tizen_system_deviced_display_complete_current_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-void _auto_gen_org_tizen_system_deviced_display_complete_custom_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *object, GDBusMethodInvocation *invocation, gint result);
-
-/* D-Bus method calls: */
-void _auto_gen_org_tizen_system_deviced_display_call_lockstate(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option1,
- const gchar *arg_option2, gint arg_timeout, GCancellable *cancellable,
- GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_lockstate_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option1,
- const gchar *arg_option2, gint arg_timeout, gint *out_result, GCancellable *cancellable,
- GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_call_unlockstate(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option,
- GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_unlockstate_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, const gchar *arg_state, const gchar *arg_option,
- gint *out_result, GCancellable *cancellable, GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_call_release_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable,
- GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_release_brightness_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable,
- GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_call_hold_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint arg_brightness, GCancellable *cancellable,
- GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint arg_brightness, gint *out_result,
- GCancellable *cancellable, GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_call_current_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable,
- GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_current_brightness_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable,
- GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_call_custom_brightness(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, GCancellable *cancellable,
- GAsyncReadyCallback callback, gpointer user_data);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_finish(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GAsyncResult *res,
- GError **error);
-
-gboolean _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync(
- _auto_genOrgTizenSystemDevicedDisplay *proxy, gint *out_result, GCancellable *cancellable,
- GError **error);
-
-/* ---- */
-
-#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY \
- (_auto_gen_org_tizen_system_deviced_display_proxy_get_type())
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY(o) \
- (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \
- _auto_genOrgTizenSystemDevicedDisplayProxy))
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_CLASS(k) \
- (G_TYPE_CHECK_CLASS_CAST((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \
- _auto_genOrgTizenSystemDevicedDisplayProxyClass))
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_GET_CLASS(o) \
- (G_TYPE_INSTANCE_GET_CLASS((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY, \
- _auto_genOrgTizenSystemDevicedDisplayProxyClass))
-#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY(o) \
- (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY))
-#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY_CLASS(k) \
- (G_TYPE_CHECK_CLASS_TYPE((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_PROXY))
-
-typedef struct __auto_genOrgTizenSystemDevicedDisplayProxy
- _auto_genOrgTizenSystemDevicedDisplayProxy;
-typedef struct __auto_genOrgTizenSystemDevicedDisplayProxyClass
- _auto_genOrgTizenSystemDevicedDisplayProxyClass;
-typedef struct __auto_genOrgTizenSystemDevicedDisplayProxyPrivate
- _auto_genOrgTizenSystemDevicedDisplayProxyPrivate;
-
-struct __auto_genOrgTizenSystemDevicedDisplayProxy {
- /*< private >*/
- GDBusProxy parent_instance;
- _auto_genOrgTizenSystemDevicedDisplayProxyPrivate *priv;
-};
-
-struct __auto_genOrgTizenSystemDevicedDisplayProxyClass {
- GDBusProxyClass parent_class;
-};
-
-GType _auto_gen_org_tizen_system_deviced_display_proxy_get_type(void) G_GNUC_CONST;
-
-void _auto_gen_org_tizen_system_deviced_display_proxy_new(
- GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path,
- GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_proxy_new_finish(
- GAsyncResult *res, GError **error);
-_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_proxy_new_sync(
- GDBusConnection *connection, GDBusProxyFlags flags, const gchar *name, const gchar *object_path,
- GCancellable *cancellable, GError **error);
-
-void _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus(
- GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path,
- GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data);
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_finish(GAsyncResult *res,
- GError **error);
-_auto_genOrgTizenSystemDevicedDisplay *
-_auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync(
- GBusType bus_type, GDBusProxyFlags flags, const gchar *name, const gchar *object_path,
- GCancellable *cancellable, GError **error);
-
-/* ---- */
-
-#define _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON \
- (_auto_gen_org_tizen_system_deviced_display_skeleton_get_type())
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON(o) \
- (G_TYPE_CHECK_INSTANCE_CAST((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \
- _auto_genOrgTizenSystemDevicedDisplaySkeleton))
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_CLASS(k) \
- (G_TYPE_CHECK_CLASS_CAST((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \
- _auto_genOrgTizenSystemDevicedDisplaySkeletonClass))
-#define _AUTO_GEN_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_GET_CLASS(o) \
- (G_TYPE_INSTANCE_GET_CLASS((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON, \
- _auto_genOrgTizenSystemDevicedDisplaySkeletonClass))
-#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON(o) \
- (G_TYPE_CHECK_INSTANCE_TYPE((o), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON))
-#define _AUTO_GEN_IS_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON_CLASS(k) \
- (G_TYPE_CHECK_CLASS_TYPE((k), _AUTO_GEN_TYPE_ORG_TIZEN_SYSTEM_DEVICED_DISPLAY_SKELETON))
-
-typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeleton
- _auto_genOrgTizenSystemDevicedDisplaySkeleton;
-typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeletonClass
- _auto_genOrgTizenSystemDevicedDisplaySkeletonClass;
-typedef struct __auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate
- _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate;
-
-struct __auto_genOrgTizenSystemDevicedDisplaySkeleton {
- /*< private >*/
- GDBusInterfaceSkeleton parent_instance;
- _auto_genOrgTizenSystemDevicedDisplaySkeletonPrivate *priv;
-};
-
-struct __auto_genOrgTizenSystemDevicedDisplaySkeletonClass {
- GDBusInterfaceSkeletonClass parent_class;
-};
-
-GType _auto_gen_org_tizen_system_deviced_display_skeleton_get_type(void) G_GNUC_CONST;
-
-_auto_genOrgTizenSystemDevicedDisplay *_auto_gen_org_tizen_system_deviced_display_skeleton_new(
- void);
-
-G_END_DECLS
-
-#endif /* __AUTO_GEN_INTERFACE_H__ */
diff --git a/src/common/GDBus/gdbus_interface_generate.sh b/src/common/GDBus/gdbus_interface_generate.sh
deleted file mode 100755
index 1af72dc..0000000
--- a/src/common/GDBus/gdbus_interface_generate.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-gdbus-codegen --generate-c-code auto_gen_interface \
- --c-namespace _auto_gen \
- gdbus_tizen_display_interface.xml
diff --git a/src/common/GDBus/gdbus_powerwrapper.cc b/src/common/GDBus/gdbus_powerwrapper.cc
deleted file mode 100644
index f280ab4..0000000
--- a/src/common/GDBus/gdbus_powerwrapper.cc
+++ /dev/null
@@ -1,235 +0,0 @@
-#include "common/GDBus/gdbus_powerwrapper.h"
-#include
-#include "common/logger.h"
-
-namespace common {
-namespace gdbus {
-
-GDBusWrapperError::GDBusWrapperError() {
-}
-
-void GDBusWrapperError::ReportError(GError *error) {
- InitError();
- if (error != nullptr) {
- code_ = static_cast(error->code);
- msg_ = std::string(error->message);
- source_ = "glib";
- }
-}
-
-void GDBusWrapperError::ReportError(const std::string &msg) {
- InitError();
- msg_ = msg;
- source_ = "user";
-}
-
-void GDBusWrapperError::InitError() {
- code_ = 0;
- msg_ = "";
- source_ = "";
-}
-
-std::string GDBusWrapperError::Error() {
- std::stringstream result;
- result << "GDBUS REPORT ERROR: ";
- result << " source: ";
- result << source_;
- result << " code: ";
- result << std::to_string(code_);
- result << " message: ";
- result << msg_;
- result << std::endl;
- return result.str();
-}
-
-const std::string GDBusPowerWrapper::kDefaultBusName = "org.tizen.system.deviced";
-const std::string GDBusPowerWrapper::kDefaultObjectPath = "/Org/Tizen/System/DeviceD/Display";
-
-GDBusPowerWrapper::GDBusPowerWrapper(const std::string &bus_name, const std::string &object_path,
- GBusType bus_type, GDBusProxyFlags bus_proxy_flags)
- : bus_type_(bus_type),
- bus_proxy_flags_(bus_proxy_flags),
- bus_name_(bus_name),
- object_path_(object_path),
- proxy_(nullptr),
- err_(new GDBusWrapperError()) {
-}
-
-bool GDBusPowerWrapper::Connect() {
- GError *error = nullptr;
- proxy_ = _auto_gen_org_tizen_system_deviced_display_proxy_new_for_bus_sync(
- bus_type_, bus_proxy_flags_, bus_name_.c_str(), object_path_.c_str(), NULL, &error);
- if (!proxy_) {
- err_->ReportError(error);
- return false;
- }
- return true;
-}
-
-bool GDBusPowerWrapper::CurrentBrightness(int *result) {
- if (!result) {
- err_->ReportError("Null pointer function CurrentBrightness, parameter: result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
- GError *error = nullptr;
- gint out_result;
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_current_brightness_sync(
- proxy_, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = out_result;
- return true;
-}
-
-bool GDBusPowerWrapper::CustomBrightness(int *result) {
- if (!result) {
- err_->ReportError("Null pointer in function CustomBrightness, parameter result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
- GError *error = nullptr;
- gint out_result;
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_custom_brightness_sync(
- proxy_, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = static_cast(out_result);
- return true;
-}
-
-bool GDBusPowerWrapper::HoldBrightness(const int brightness, int *result) {
- if (!result) {
- err_->ReportError("Null pointer in function HoldBrightness, parameter result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
-
- GError *error = nullptr;
- gint out_result;
- gint in_brightness = static_cast(brightness);
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_hold_brightness_sync(
- proxy_, in_brightness, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = static_cast(out_result);
- return true;
-}
-
-bool GDBusPowerWrapper::LockState(int *result) {
- return LockStateRaw("lcddim", "staycurstate", "NULL", 0, result);
-}
-
-bool GDBusPowerWrapper::LockStateRaw(const std::string &state, const std::string &option1,
- const std::string &option2, const int timeout, int *result) {
- if (!result) {
- err_->ReportError("Null pointer in function LockState, parameter result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
-
- GError *error = nullptr;
- const gchar *arg_state = static_cast(state.c_str());
- const gchar *arg_option1 = static_cast(option1.c_str());
- const gchar *arg_option2 = static_cast(option2.c_str());
- const gint _timeout = static_cast(timeout);
-
- gint out_result;
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_lockstate_sync(
- proxy_, arg_state, arg_option1, arg_option2, _timeout, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = static_cast(out_result);
- return true;
-}
-
-bool GDBusPowerWrapper::ReleaseBrightness(int *result) {
- if (!result) {
- err_->ReportError("Null pointer in function ReleaseBrightness, parameter result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
- GError *error = nullptr;
- gint out_result;
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_release_brightness_sync(
- proxy_, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = static_cast(out_result);
- return true;
-}
-
-bool GDBusPowerWrapper::UnlockState(int *result) {
- return UnlockStateRaw("lcddim", "keeptimer", result);
-}
-
-bool GDBusPowerWrapper::UnlockStateRaw(const std::string &state, const std::string &option,
- int *result) {
- if (!result) {
- err_->ReportError("Null pointer in function UnlockState, parameter result");
- return false;
- }
- if (!IsConnected()) {
- err_->ReportError("No connected to bus, try execute method Connect");
- return false;
- }
-
- GError *error = nullptr;
- gint out_result;
- const gchar *arg_state = static_cast(state.c_str());
- const gchar *arg_option = static_cast(option.c_str());
- gboolean ret = _auto_gen_org_tizen_system_deviced_display_call_unlockstate_sync(
- proxy_, arg_state, arg_option, &out_result, NULL, &error);
- if (!ret) {
- err_->ReportError(error);
- return false;
- }
- *result = static_cast(out_result);
- return true;
-}
-
-std::string GDBusPowerWrapper::GetLastError() {
- return err_->Error();
-}
-
-bool GDBusPowerWrapper::IsConnected() {
- if (!proxy_) {
- return Connect();
- }
- return true;
-}
-
-GDBusPowerWrapper::~GDBusPowerWrapper() {
- if (proxy_ != nullptr) {
- g_object_unref(proxy_);
- proxy_ = nullptr;
- }
-}
-
-} // namespace gdbus
-} // namespace common
diff --git a/src/common/GDBus/gdbus_powerwrapper.h b/src/common/GDBus/gdbus_powerwrapper.h
deleted file mode 100644
index 4aa678d..0000000
--- a/src/common/GDBus/gdbus_powerwrapper.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef GDBUSWRAPPER_H
-#define GDBUSWRAPPER_H
-
-#include
-#include
-#include
-#include "auto_gen_interface.h"
-
-namespace common {
-namespace gdbus {
-
-class GDBusWrapperError {
- public:
- GDBusWrapperError();
- void ReportError(GError *error_);
- void ReportError(const std::string &msg);
- std::string Error();
-
- private:
- std::string source_;
- std::string msg_;
- int code_;
- void InitError();
-};
-
-class GDBusPowerWrapper {
- public:
- GDBusPowerWrapper(const std::string &bus_name, const std::string &object_path,
- GBusType bus_type = G_BUS_TYPE_SYSTEM,
- GDBusProxyFlags bus_proxy_flags = G_DBUS_PROXY_FLAGS_NONE);
-
- ~GDBusPowerWrapper();
-
- static const std::string kDefaultBusName;
- static const std::string kDefaultObjectPath;
-
- bool Connect();
- bool CurrentBrightness(int *result);
- bool CustomBrightness(int *result);
- bool HoldBrightness(const int brightness, int *result);
- bool LockState(int *result);
- bool ReleaseBrightness(int *result);
- bool UnlockState(int *result);
- std::string GetLastError();
-
- private:
- GBusType bus_type_;
- GDBusProxyFlags bus_proxy_flags_;
-
- std::string bus_name_;
- std::string object_path_;
- _auto_genOrgTizenSystemDevicedDisplay *proxy_;
- std::unique_ptr err_;
-
- bool IsConnected();
- bool IsValidHoldBrightness(int brightness) const;
- bool IsValidTimeout(int timeout) const;
-
- bool LockStateRaw(const std::string &state, const std::string &option1,
- const std::string &option2, const int timeout, int *result);
-
- bool UnlockStateRaw(const std::string &state, const std::string &option, int *result);
-};
-
-} // namespace gdbus
-} // namespace common
-
-#endif // GDBUSWRAPPER_H
diff --git a/src/common/GDBus/gdbus_tizen_display_interface.xml b/src/common/GDBus/gdbus_tizen_display_interface.xml
deleted file mode 100644
index 18422e4..0000000
--- a/src/common/GDBus/gdbus_tizen_display_interface.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/common/common.gyp b/src/common/common.gyp
index 7f4e78e..90fd8a4 100644
--- a/src/common/common.gyp
+++ b/src/common/common.gyp
@@ -42,10 +42,6 @@
'GDBus/connection.h',
'GDBus/proxy.cpp',
'GDBus/proxy.h',
- 'GDBus/gdbus_powerwrapper.cc',
- 'GDBus/gdbus_powerwrapper.h',
- 'GDBus/auto_gen_interface.c',
- 'GDBus/auto_gen_interface.h',
'filesystem/filesystem_storage_types.h',
'filesystem/filesystem_storage.h',
'filesystem/filesystem_storage.cc',
diff --git a/src/power/power.gyp b/src/power/power.gyp
index 8b6c10f..74a4204 100755
--- a/src/power/power.gyp
+++ b/src/power/power.gyp
@@ -17,8 +17,6 @@
'power_instance.h',
'power_manager.cc',
'power_manager.h',
- 'power_platform_proxy.cc',
- 'power_platform_proxy.h'
],
'conditions': [
['tizen == 1', {
@@ -26,7 +24,6 @@
'packages': [
'capi-system-device',
'deviced',
- 'vconf',
]
},
}],
diff --git a/src/power/power_api.js b/src/power/power_api.js
index 06453eb..769ccf1 100755
--- a/src/power/power_api.js
+++ b/src/power/power_api.js
@@ -19,6 +19,7 @@ var validator_ = xwalk.utils.validator;
var types_ = validator_.Types;
var native_ = new xwalk.utils.NativeManager(extension);
var privUtils_ = xwalk.utils;
+var T_ = xwalk.utils.type;
function ListenerManager(native, listenerName) {
this.listener;
@@ -27,9 +28,7 @@ function ListenerManager(native, listenerName) {
}
ListenerManager.prototype.onListenerCalled = function(msg) {
- if(this.listener) {
- this.listener(msg.prev_state, msg.new_state);
- }
+ this.listener(msg.previousState, msg.changedState);
};
ListenerManager.prototype.addListener = function(callback) {
@@ -42,45 +41,11 @@ ListenerManager.prototype.removeListener = function() {
delete this.listener;
};
-var screenStateChangeListener = new ListenerManager(native_, "SCREEN_STATE_LISTENER");
-
-function callNative(cmd, args) {
- var json = {'cmd':cmd, 'args':args};
- var argjson = JSON_.stringify(json);
- var resultString = extension.internal.sendSyncMessage(argjson);
- var result = JSON_.parse(resultString);
-
- if (typeof result !== 'object') {
- throw new WebAPIException(WebAPIException.UNKNOWN_ERR);
- }
-
- if (result['status'] == 'success') {
- if('result' in result) {
- return result['result'];
- }
- return true;
- } else if (result['status'] == 'error') {
- var err = result['error'];
- if(err) {
- throw new WebAPIException(err);
- }
- return false;
- }
-}
-
-function callNativeWithCallback(cmd, args, callback) {
- if(callback) {
- var id = nextCallbackId();
- args['callbackId'] = id;
- callbacks[id] = callback;
- }
-
- return callNative(cmd, args);
-}
+ListenerManager.prototype.isListenerSet = function() {
+ return this.native.isListenerSet(this.listenerName);
+};
-function SetReadOnlyProperty(obj, n, v){
- Object.defineProperty(obj, n, {value:v, writable: false});
-}
+var screenStateChangeListener = new ListenerManager(native_, 'ScreenStateChangeListener');
var PowerResource = {
'SCREEN': 'SCREEN',
@@ -106,6 +71,8 @@ var PowerCpuState = {
'CPU_AWAKE': 'CPU_AWAKE'
};
+var PowerState = Object.assign({}, PowerScreenState, PowerCpuState);
+
/**
* This class provides functions to request and release power resource.
* @constructor
@@ -121,32 +88,36 @@ function PowerManager() {
* @param {!PowerState} state The minimal state in which the power resource
* is desired to be.
*/
-PowerManager.prototype.request = function(resource, state) {
- var args = validator_.validateArgs(arguments, [
- {'name' : 'resource', 'type': types_.ENUM, 'values' : ['SCREEN', 'CPU']},
- {'name' : 'state', 'type': types_.ENUM, 'values' : ['SCREEN_OFF', 'SCREEN_DIM', 'SCREEN_NORMAL', 'SCREEN_BRIGHT', 'CPU_AWAKE']}
- ]);
-
- if (args['state'] && args.state === PowerScreenState['SCREEN_BRIGHT']) {
- privUtils_.warn('DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.');
- }
+PowerManager.prototype.request = function() {
+ var args = validator_.validateMethod(arguments, [{
+ name: 'resource',
+ type: types_.ENUM,
+ values: T_.getValues(PowerResource)
+ }, {
+ name: 'state',
+ type: types_.ENUM,
+ values: T_.getValues(PowerState)
+ }]);
+
+ if (args.state === PowerScreenState.SCREEN_BRIGHT) {
+ privUtils_.warn('DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.');
+ }
- var nativeParam = {
- };
+ if ((args.resource === PowerResource.SCREEN && args.state === PowerCpuState.CPU_AWAKE) ||
+ (args.resource === PowerResource.CPU && args.state !== PowerCpuState.CPU_AWAKE) ||
+ (args.resource === PowerResource.SCREEN && args.state === PowerScreenState.SCREEN_OFF)) {
+ throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ }
- if (args['resource']) {
- nativeParam['resource'] = args.resource;
- }
- if (args['state']) {
- nativeParam['state'] = args.state;
- }
+ var nativeParam = {
+ resource: args.resource,
+ state: args.state
+ };
- try {
- var syncResult = callNative('PowerManager_request', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
+ var ret = native_.callSync('PowerManager_request', nativeParam);
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
};
/**
@@ -154,45 +125,52 @@ PowerManager.prototype.request = function(resource, state) {
* @param {!PowerResource} resource The resource for which requests are to
* be removed.
*/
-PowerManager.prototype.release = function(resource) {
- var args = validator_.validateArgs(arguments, [
- {'name' : 'resource', 'type': types_.ENUM, 'values' : ['SCREEN', 'CPU']}
- ]);
-
- if (!PowerResource.hasOwnProperty(args.resource))
- throw new WebAPIException(WebAPIException.TYPE_MISMATCH_ERR);
-
- var nativeParam = {
- };
- if (args['resource']) {
- nativeParam['resource'] = args.resource;
- }
- try {
- var syncResult = callNative('PowerManager_release', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
-
+PowerManager.prototype.release = function() {
+ var args = validator_.validateMethod(arguments, [{
+ name: 'resource',
+ type: types_.ENUM,
+ values: T_.getValues(PowerResource)
+ }]);
+
+ var nativeParam = {
+ resource: args.resource
+ };
+
+ var ret = native_.callSync('PowerManager_release', nativeParam);
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
};
/**
* Sets the screen state change callback and monitors its state changes.
* @param {!function} listener The screen state change callback.
*/
-PowerManager.prototype.setScreenStateChangeListener = function(listener) {
- var args = validator_.validateArgs(arguments, [
- {name: 'listener', type: types_.FUNCTION}
- ]);
-
- screenStateChangeListener.addListener(args.listener);
+PowerManager.prototype.setScreenStateChangeListener = function() {
+ var args = validator_.validateArgs(arguments, [
+ {name: 'listener', type: types_.FUNCTION}
+ ]);
+
+ if (!screenStateChangeListener.isListenerSet()) {
+ var ret = native_.callSync('PowerManager_setScreenStateChangeListener', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
+ }
+ screenStateChangeListener.addListener(args.listener);
};
/**
* Unsets the screen state change callback and stop monitoring it.
*/
PowerManager.prototype.unsetScreenStateChangeListener = function() {
- screenStateChangeListener.removeListener();
+ if (screenStateChangeListener.isListenerSet()) {
+ var ret = native_.callSync('PowerManager_unsetScreenStateChangeListener', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
+ }
+ screenStateChangeListener.removeListener();
};
/**
@@ -200,45 +178,32 @@ PowerManager.prototype.unsetScreenStateChangeListener = function() {
* @return {number} Current screen brightness value.
*/
PowerManager.prototype.getScreenBrightness = function() {
- var nativeParam = {
- };
- var syncResult = 0;
-
- try {
- syncResult = callNative('PowerManager_getScreenBrightness', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
-
- return syncResult;
+ var ret = native_.callSync('PowerManager_getScreenBrightness', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ } else {
+ return native_.getResultObject(ret);
+ }
}
/**
* Sets the screen brightness level for an application, from 0 to 1.
* @param {!number} brightness The screen brightness value to set.
*/
-var PowerManagerSetScreenBrightness = function() {
- var args = validator_.validateArgs(arguments, [
- {'name' : 'brightness', 'type': types_.DOUBLE}
- ]);
-
- if (args.brightness < 0 || args.brightness > 1)
- throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
-
- var nativeParam = {
- 'brightness': args.brightness
- };
- try {
- var syncResult = callNative('PowerManager_setScreenBrightness', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
-};
+PowerManager.prototype.setScreenBrightness = function() {
+ var args = validator_.validateArgs(arguments, [
+ {name: 'brightness', type: types_.DOUBLE}
+ ]);
+
+ if (args.brightness < 0 || args.brightness > 1) {
+ throw new WebAPIException(WebAPIException.INVALID_VALUES_ERR);
+ }
-PowerManager.prototype.setScreenBrightness = function(brightness) {
- PowerManagerSetScreenBrightness.apply(this, arguments);
+ var ret = native_.callSync('PowerManager_setScreenBrightness',
+ {brightness: args.brightness});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
}
/**
@@ -246,70 +211,46 @@ PowerManager.prototype.setScreenBrightness = function(brightness) {
* @return {boolean} true if screen is on.
*/
PowerManager.prototype.isScreenOn = function() {
- var nativeParam = {
- };
- var syncResult = 0;
-
- try {
- syncResult = callNative('PowerManager_isScreenOn', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
-
- return syncResult;
+ var ret = native_.callSync('PowerManager_isScreenOn', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ } else {
+ return native_.getResultObject(ret);
+ }
}
/**
* Restores the screen brightness to the system default setting value.
*/
PowerManager.prototype.restoreScreenBrightness = function() {
- var nativeParam = {
- };
-
- try {
- var syncResult = callNative('PowerManager_restoreScreenBrightness', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
+ var ret = native_.callSync('PowerManager_restoreScreenBrightness', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
}
/**
- * Turns on the screen.
+ * Turns the screen on.
*/
PowerManager.prototype.turnScreenOn = function() {
- privUtils_.warn('DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. Use request() instead.');
+ privUtils_.warn('DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. Use request() instead.');
- var nativeParam = {
- };
-
- try {
- var syncResult = callNative('PowerManager_turnScreenOn', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
+ var ret = native_.callSync('PowerManager_turnScreenOn', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
}
/**
- * Turns off the screen.
+ * Turns the screen off.
*/
PowerManager.prototype.turnScreenOff = function() {
- privUtils_.warn('DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. Use release() instead.');
-
- var nativeParam = {
- };
-
- try {
- var syncResult = callNative('PowerManager_turnScreenOff', nativeParam);
- // if you need synchronous result from native function using 'syncResult'.
- } catch(e) {
- throw e;
- }
+ privUtils_.warn('DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. Use release() instead.');
+ var ret = native_.callSync('PowerManager_turnScreenOff', {});
+ if (native_.isFailure(ret)) {
+ throw native_.getErrorObject(ret);
+ }
}
-
-exports = new PowerManager();
-
+exports = new PowerManager();
\ No newline at end of file
diff --git a/src/power/power_instance.cc b/src/power/power_instance.cc
index b1e6968..b4e6c8b 100644
--- a/src/power/power_instance.cc
+++ b/src/power/power_instance.cc
@@ -27,8 +27,6 @@
#include "common/platform_exception.h"
#include "common/tools.h"
-#include "power_manager.h"
-
namespace extension {
namespace power {
@@ -43,133 +41,140 @@ const std::map kPowerStateMap = {
{"SCREEN_OFF", POWER_STATE_SCREEN_OFF},
{"SCREEN_DIM", POWER_STATE_SCREEN_DIM},
{"SCREEN_NORMAL", POWER_STATE_SCREEN_NORMAL},
- {"SCREEN_BRIGHT", POWER_STATE_SCREEN_BRIGHT},
+ {"SCREEN_BRIGHT",
+ POWER_STATE_SCREEN_BRIGHT}, // TODO: remove this enum when removing enum from the API
{"CPU_AWAKE", POWER_STATE_CPU_AWAKE}};
} // namespace
using namespace common;
using namespace extension::power;
-PowerInstance::PowerInstance() {
+PowerInstance::PowerInstance() : manager_(*this) {
ScopeLogger();
using std::placeholders::_1;
using std::placeholders::_2;
#define REGISTER_SYNC(c, x) RegisterSyncHandler(c, std::bind(&PowerInstance::x, this, _1, _2));
- REGISTER_SYNC("PowerManager_turnScreenOff", PowerManagerTurnscreenoff);
- REGISTER_SYNC("PowerManager_restoreScreenBrightness", PowerManagerRestorescreenbrightness);
- REGISTER_SYNC("PowerManager_request", PowerManagerRequest);
- REGISTER_SYNC("PowerManager_getScreenBrightness", PowerManagerGetscreenbrightness);
- REGISTER_SYNC("PowerManager_release", PowerManagerRelease);
- REGISTER_SYNC("PowerManager_isScreenOn", PowerManagerIsscreenon);
- REGISTER_SYNC("PowerManager_turnScreenOn", PowerManagerTurnscreenon);
- REGISTER_SYNC("PowerManager_setScreenBrightness", PowerManagerSetscreenbrightness);
+ REGISTER_SYNC("PowerManager_request", Request);
+ REGISTER_SYNC("PowerManager_release", Release);
+ REGISTER_SYNC("PowerManager_setScreenStateChangeListener", SetScreenStateChangeListener);
+ REGISTER_SYNC("PowerManager_unsetScreenStateChangeListener", UnsetScreenStateChangeListener);
+ REGISTER_SYNC("PowerManager_getScreenBrightness", GetScreenBrightness);
+ REGISTER_SYNC("PowerManager_setScreenBrightness", SetScreenBrightness);
+ REGISTER_SYNC("PowerManager_isScreenOn", IsScreenOn);
+ REGISTER_SYNC("PowerManager_restoreScreenBrightness", RestoreScreenBrightness);
+ REGISTER_SYNC("PowerManager_turnScreenOn", TurnScreenOn);
+ REGISTER_SYNC("PowerManager_turnScreenOff", TurnScreenOff);
#undef REGISTER_SYNC
- PowerManager::GetInstance()->AddListener(this);
}
PowerInstance::~PowerInstance() {
ScopeLogger();
-
- PowerManager::GetInstance()->RemoveListener(this);
-
- PlatformResult result = PowerManager::GetInstance()->RestoreScreenBrightness();
- if (result.IsError()) {
- LoggerE("Failed to restore brightness.");
- }
}
-enum PowerCallbacks {
- PowerManagerTurnscreenoffCallback,
- PowerManagerRestorescreenbrightnessCallback,
- PowerManagerRequestCallback,
- PowerManagerGetscreenbrightnessCallback,
- PowerManagerReleaseCallback,
- PowerManagerUnsetscreenstatechangelistenerCallback,
- PowerManagerIsscreenonCallback,
- PowerManagerTurnscreenonCallback,
- PowerManagerSetscreenbrightnessCallback,
- PowerManagerSetscreenstatechangelistenerCallback
-};
-
#define CHECK_EXIST(args, name, out) \
if (!args.contains(name)) { \
LogAndReportError(TypeMismatchException(name " is required argument"), out); \
return; \
}
-void PowerInstance::PowerManagerRequest(const picojson::value& args, picojson::object& out) {
+void PowerInstance::Request(const picojson::value& args, picojson::object& out) {
ScopeLogger();
CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
const std::string& resource = args.get("resource").get();
const std::string& state = args.get("state").get();
- PlatformResult result = PowerManager::GetInstance()->Request(kPowerResourceMap.at(resource),
- kPowerStateMap.at(state));
- if (result.IsError())
+ PlatformResult result =
+ manager_.Request(kPowerResourceMap.at(resource), kPowerStateMap.at(state));
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
+ }
}
-void PowerInstance::PowerManagerRelease(const picojson::value& args, picojson::object& out) {
+void PowerInstance::Release(const picojson::value& args, picojson::object& out) {
ScopeLogger();
const std::string& resource = args.get("resource").get();
- PlatformResult result = PowerManager::GetInstance()->Release(kPowerResourceMap.at(resource));
- if (result.IsError())
+ PlatformResult result = manager_.Release(kPowerResourceMap.at(resource));
+ if (result.IsError()) {
+ LogAndReportError(result, &out);
+ } else {
+ ReportSuccess(out);
+ }
+}
+
+void PowerInstance::SetScreenStateChangeListener(const picojson::value& args,
+ picojson::object& out) {
+ ScopeLogger();
+ PlatformResult result = manager_.SetScreenStateChangeListener();
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
+ }
}
-void PowerInstance::PowerManagerGetscreenbrightness(const picojson::value& args,
- picojson::object& out) {
+void PowerInstance::UnsetScreenStateChangeListener(const picojson::value& args,
+ picojson::object& out) {
+ ScopeLogger();
+ PlatformResult result = manager_.UnsetScreenStateChangeListener();
+ if (result.IsError()) {
+ LogAndReportError(result, &out);
+ } else {
+ ReportSuccess(out);
+ }
+}
+
+void PowerInstance::GetScreenBrightness(const picojson::value& args, picojson::object& out) {
ScopeLogger();
double brightness;
- PlatformResult result = PowerManager::GetInstance()->GetScreenBrightness(&brightness);
- if (result.IsError())
+ PlatformResult result = manager_.GetScreenBrightness(&brightness);
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(picojson::value(brightness), out);
+ }
}
-void PowerInstance::PowerManagerSetscreenbrightness(const picojson::value& args,
- picojson::object& out) {
+void PowerInstance::SetScreenBrightness(const picojson::value& args, picojson::object& out) {
ScopeLogger();
CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
CHECK_EXIST(args, "brightness", out)
double brightness = args.get("brightness").get();
- PlatformResult result = PowerManager::GetInstance()->SetScreenBrightness(brightness);
- if (result.IsError())
+ PlatformResult result = manager_.SetScreenBrightness(brightness);
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
+ }
}
-void PowerInstance::PowerManagerIsscreenon(const picojson::value& args, picojson::object& out) {
+void PowerInstance::IsScreenOn(const picojson::value& args, picojson::object& out) {
ScopeLogger();
bool state = false;
- PlatformResult result = PowerManager::GetInstance()->IsScreenOn(&state);
- if (result.IsError())
+ PlatformResult result = manager_.IsScreenOn(&state);
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(picojson::value(state), out);
+ }
}
-void PowerInstance::PowerManagerRestorescreenbrightness(const picojson::value& args,
- picojson::object& out) {
+void PowerInstance::RestoreScreenBrightness(const picojson::value& args, picojson::object& out) {
ScopeLogger();
- PlatformResult result = PowerManager::GetInstance()->RestoreScreenBrightness();
- if (result.IsError())
+ PlatformResult result = manager_.RestoreScreenBrightness();
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
+ }
}
-void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojson::object& out) {
+void PowerInstance::TurnScreenOn(const picojson::value& args, picojson::object& out) {
ScopeLogger();
LoggerW(
"DEPRECATION WARNING: turnScreenOn() is deprecated and will be removed from next release. "
@@ -177,14 +182,15 @@ void PowerInstance::PowerManagerTurnscreenon(const picojson::value& args, picojs
CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
- PlatformResult result = PowerManager::GetInstance()->SetScreenState(true);
- if (result.IsError())
+ PlatformResult result = manager_.TurnScreenOn();
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
+ }
}
-void PowerInstance::PowerManagerTurnscreenoff(const picojson::value& args, picojson::object& out) {
+void PowerInstance::TurnScreenOff(const picojson::value& args, picojson::object& out) {
ScopeLogger();
LoggerW(
"DEPRECATION WARNING: turnScreenOff() is deprecated and will be removed from next release. "
@@ -192,29 +198,12 @@ void PowerInstance::PowerManagerTurnscreenoff(const picojson::value& args, picoj
CHECK_PRIVILEGE_ACCESS(kPrivilegePower, &out);
- PlatformResult result = PowerManager::GetInstance()->SetScreenState(false);
- if (result.IsError())
+ PlatformResult result = manager_.TurnScreenOff();
+ if (result.IsError()) {
LogAndReportError(result, &out);
- else
+ } else {
ReportSuccess(out);
-}
-
-void PowerInstance::OnScreenStateChanged(PowerState prev_state, PowerState new_state) {
- ScopeLogger();
- picojson::value event = picojson::value(picojson::object());
- picojson::object& obj = event.get();
- obj["cmd"] = picojson::value("ScreenStateChanged");
- obj["listenerId"] = picojson::value("SCREEN_STATE_LISTENER");
- for (auto it = kPowerStateMap.begin(); it != kPowerStateMap.end(); ++it) {
- if (it->second == prev_state) {
- obj["prev_state"] = picojson::value(it->first);
- }
- if (it->second == new_state) {
- obj["new_state"] = picojson::value(it->first);
- }
}
-
- Instance::PostMessage(this, event.serialize().c_str());
}
#undef CHECK_EXIST
diff --git a/src/power/power_instance.h b/src/power/power_instance.h
index 33d8efe..fb57d49 100644
--- a/src/power/power_instance.h
+++ b/src/power/power_instance.h
@@ -19,29 +19,29 @@
#include "common/extension.h"
-#include "power_manager.h"
+#include "power/power_manager.h"
namespace extension {
namespace power {
-class PowerInstance : public common::ParsedInstance, public PowerManagerListener {
+class PowerInstance : public common::ParsedInstance {
public:
PowerInstance();
virtual ~PowerInstance();
private:
- void PowerManagerRequest(const picojson::value& args, picojson::object& out);
- void PowerManagerRelease(const picojson::value& args, picojson::object& out);
- void PowerManagerGetscreenbrightness(const picojson::value& args, picojson::object& out);
- void PowerManagerSetscreenbrightness(const picojson::value& args, picojson::object& out);
- void PowerManagerIsscreenon(const picojson::value& args, picojson::object& out);
- void PowerManagerRestorescreenbrightness(const picojson::value& args, picojson::object& out);
- void PowerManagerTurnscreenon(const picojson::value& args, picojson::object& out);
- void PowerManagerTurnscreenoff(const picojson::value& args, picojson::object& out);
- void SetScreenState(const picojson::value& args, picojson::object& out);
-
- // Override
- void OnScreenStateChanged(PowerState prev_state, PowerState new_state);
+ void Request(const picojson::value& args, picojson::object& out);
+ void Release(const picojson::value& args, picojson::object& out);
+ void SetScreenStateChangeListener(const picojson::value& args, picojson::object& out);
+ void UnsetScreenStateChangeListener(const picojson::value& args, picojson::object& out);
+ void GetScreenBrightness(const picojson::value& args, picojson::object& out);
+ void SetScreenBrightness(const picojson::value& args, picojson::object& out);
+ void IsScreenOn(const picojson::value& args, picojson::object& out);
+ void RestoreScreenBrightness(const picojson::value& args, picojson::object& out);
+ void TurnScreenOn(const picojson::value& args, picojson::object& out);
+ void TurnScreenOff(const picojson::value& args, picojson::object& out);
+
+ PowerManager manager_;
};
} // namespace power
diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc
index cf50a59..c8638b6 100644
--- a/src/power/power_manager.cc
+++ b/src/power/power_manager.cc
@@ -24,473 +24,422 @@
#include
#include
#include
-#include
#include "common/logger.h"
-#include "power_platform_proxy.h"
+
+#include "power_instance.h"
using namespace common;
using namespace std;
+#define MAIN_DISPLAY 0
+
namespace extension {
namespace power {
-PowerManager::PowerManager()
- : current_state_(POWER_STATE_SCREEN_NORMAL),
- bright_state_enabled_(false),
- current_brightness_(-1),
- should_be_read_from_cache_(false),
- set_custom_brightness_(false),
- current_requested_state_(POWER_STATE_NONE) {
+namespace {
+static const std::string kListenerId = "listenerId";
+static const std::string kScreenStateChangeListener = "ScreenStateChangeListener";
+static const std::string kPreviousState = "previousState";
+static const std::string kChangedState = "changedState";
+
+const char* kPowerTarget = "org.tizen.system.deviced";
+const char* kPowerObject = "/Org/Tizen/System/DeviceD/Display";
+const char* kPowerInterface = "org.tizen.system.deviced.display";
+const char* kReleaseBrightness = "ReleaseBrightness";
+const char* kHoldBrightness = "HoldBrightness";
+} // namespace
+
+PowerManager::PowerManager(PowerInstance& instance)
+ : instance_(instance),
+ is_screen_listener_set(false),
+ max_brightness_(-1),
+ current_screen_state(DISPLAY_STATE_NORMAL),
+ // In fact, above value does not matter now.
+ // The screen state will be acquired before setting
+ // the listener.
+ screen_lock_state_(POWER_LOCK_DISPLAY),
+ // Above value does not mattern now as well.
+ is_screen_bright_set(false),
+ is_cpu_state_locked(false),
+ is_screen_state_locked(false) {
ScopeLogger();
+ GetMaxBrightness();
+}
- display_state_e platform_state = DISPLAY_STATE_NORMAL;
- int ret = device_display_get_state(&platform_state);
- if (DEVICE_ERROR_NONE != ret) LoggerE("device_display_get_state failed (%d)", ret);
-
- switch (platform_state) {
- case DISPLAY_STATE_NORMAL:
- current_state_ = POWER_STATE_SCREEN_NORMAL;
- break;
- case DISPLAY_STATE_SCREEN_DIM:
- current_state_ = POWER_STATE_SCREEN_DIM;
- break;
- case DISPLAY_STATE_SCREEN_OFF:
- current_state_ = POWER_STATE_SCREEN_OFF;
- break;
- default:
- current_state_ = POWER_STATE_NONE;
- break;
+PowerManager::~PowerManager() {
+ ScopeLogger();
+ if (is_screen_listener_set) {
+ UnsetScreenStateChangeListener();
}
-
- ret = device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::OnPlatformStateChangedCB,
- static_cast(this));
- if (DEVICE_ERROR_NONE != ret) LoggerE("device_add_callback failed (%d)", ret);
+ ReleaseCPUState();
+ ReleaseScreenState();
}
-PowerManager::~PowerManager() {
+PlatformResult PowerManager::Request(PowerResource resource, PowerState state) {
ScopeLogger();
- int ret =
- device_remove_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::OnPlatformStateChangedCB);
- if (DEVICE_ERROR_NONE != ret) LoggerE("device_remove_callback failed (%d)", ret);
+
+ switch (resource) {
+ case POWER_RESOURCE_SCREEN:
+ return RequestScreenState(state);
+ case POWER_RESOURCE_CPU:
+ default:
+ return RequestCPUState();
+ }
}
-PowerManager* PowerManager::GetInstance() {
+PlatformResult PowerManager::Release(PowerResource resource) {
ScopeLogger();
- static PowerManager instance;
- return &instance;
+
+ switch (resource) {
+ case POWER_RESOURCE_SCREEN:
+ return ReleaseScreenState();
+ case POWER_RESOURCE_CPU:
+ default:
+ return ReleaseCPUState();
+ }
}
-void PowerManager::OnPlatformStateChangedCB(device_callback_e type, void* value, void* user_data) {
+void PowerManager::ScreenStateChangeCB(device_callback_e type, void* value, void* user_data) {
ScopeLogger();
- PowerManager* object = static_cast(user_data);
- if (object == NULL) {
- LoggerE("User data is NULL");
+ PowerManager* manager = static_cast(user_data);
+ if (nullptr == manager) {
+ LoggerE("User data is nullptr");
return;
}
- if (type != DEVICE_CALLBACK_DISPLAY_STATE) {
- LoggerE("type is not DISPLAY_STATE");
+
+ if (DEVICE_CALLBACK_DISPLAY_STATE != type) {
+ LoggerE("callback should be called for type DEVICE_CALLBACK_DISPLAY_STATE.");
return;
}
- display_state_e state = static_cast(reinterpret_cast(value));
- PowerState current = POWER_STATE_SCREEN_OFF;
- switch (state) {
- case DISPLAY_STATE_NORMAL:
- current =
- object->bright_state_enabled_ ? POWER_STATE_SCREEN_BRIGHT : POWER_STATE_SCREEN_NORMAL;
-
- // TODO: Remove log along with removal of deprecation power state
- if (POWER_STATE_SCREEN_BRIGHT == current) {
- LoggerW(
- "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next "
- "release.");
- }
- break;
- case DISPLAY_STATE_SCREEN_DIM:
- current = POWER_STATE_SCREEN_DIM;
- break;
- case DISPLAY_STATE_SCREEN_OFF: {
- current = POWER_STATE_SCREEN_OFF;
- if (object->set_custom_brightness_ == true) {
- PlatformResult result = object->RestoreScreenBrightness();
- if (result.IsError()) {
- LOGGER(ERROR) << "RestoreScreenBrightness failed";
- return;
- }
- object->set_custom_brightness_ = false;
- }
- break;
- }
+ display_state_e state = static_cast(reinterpret_cast(value));
+ if (manager->current_screen_state == state) {
+ return;
}
- object->BroadcastScreenState(current);
-}
-void PowerManager::AddListener(PowerManagerListener* listener) {
- ScopeLogger();
- auto it = std::find(listeners_.begin(), listeners_.end(), listener);
- if (it == listeners_.end()) listeners_.push_back(listener);
+ picojson::value result = picojson::value(picojson::object());
+ picojson::object& object = result.get();
+ object[kListenerId] = picojson::value(kScreenStateChangeListener);
+ object[kPreviousState] =
+ picojson::value(manager->ScreenStateToString(manager->current_screen_state));
+ object[kChangedState] = picojson::value(manager->ScreenStateToString(state));
+ manager->current_screen_state = state;
+ Instance::PostMessage(&manager->instance_, result.serialize().c_str());
}
-void PowerManager::RemoveListener(PowerManagerListener* listener) {
+PlatformResult PowerManager::SetScreenStateChangeListener() {
ScopeLogger();
- listeners_.remove(listener);
-}
-
-PlatformResult PowerManager::Request(PowerResource resource, PowerState state) {
- ScopeLogger();
- if (resource == POWER_RESOURCE_SCREEN && state == POWER_STATE_CPU_AWAKE)
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "invalid PowerState");
- if (resource == POWER_RESOURCE_CPU && state != POWER_STATE_CPU_AWAKE)
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "invalid PowerState");
-
- if (current_requested_state_ == POWER_STATE_SCREEN_DIM) {
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().UnlockState(&result);
- if (!error_code || result < 0) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_unlock error",
- ("deviceUnlockState error %d", result));
- }
+ PlatformResult result = GetDisplayState(¤t_screen_state);
+ if (result.IsError()) {
+ return result;
}
- int ret = 0;
- switch (state) {
- case POWER_STATE_CPU_AWAKE: {
- ret = device_power_request_lock(POWER_LOCK_CPU, 0);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error",
- ("device_power_request_lock error %d", ret));
- }
- break;
- }
- case POWER_STATE_SCREEN_DIM: {
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().LockState(&result);
- if (!error_code || result < 0) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error",
- ("device_power_request_lock error %d", result));
- }
- break;
- }
- case POWER_STATE_SCREEN_NORMAL: {
- ret = device_power_request_lock(POWER_LOCK_DISPLAY, 0);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR, "device_power_request_lock error",
- ("device_power_request_lock error %d", ret));
- }
- break;
- }
- case POWER_STATE_SCREEN_BRIGHT: {
- LoggerW(
- "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next "
- "release.");
-
- int max_brightness;
- ret = device_display_get_max_brightness(0, &max_brightness);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR,
- "Platform error while getting max brightness",
- ("Platform error while getting max brightness: %d", ret));
- }
-
- PlatformResult set_result = SetPlatformBrightness(max_brightness);
- if (set_result.IsError()) return set_result;
- LoggerD("Succeeded setting the brightness to a max level: %d", max_brightness);
-
- ret = device_display_change_state(DISPLAY_STATE_NORMAL);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(
- ErrorCode::UNKNOWN_ERR, "device_display_change_state error",
- ("device_display_change_state(DISPLAY_STATE_NORMAL) error %d", ret));
- }
-
- ret = device_power_request_lock(POWER_LOCK_DISPLAY, 0);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "device_power_request_lock error",
- ("device_power_request_lock error %d", ret));
- }
-
- bright_state_enabled_ = true;
-
- display_state_e platform_state = DISPLAY_STATE_NORMAL;
- ret = device_display_get_state(&platform_state);
- if (DEVICE_ERROR_NONE != ret) LoggerE("device_display_get_state failed (%d)", ret);
- if (DISPLAY_STATE_NORMAL == platform_state) {
- // TODO: Remove log along with removal of deprecation power state
- LoggerW(
- "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next "
- "release.");
- BroadcastScreenState(POWER_STATE_SCREEN_BRIGHT);
- }
- break;
- }
- case POWER_STATE_SCREEN_OFF:
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR,
- "SCREEN_OFF state cannot be requested");
- default:
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while locking state");
+ int ret =
+ device_add_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::ScreenStateChangeCB, this);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to set change listener",
+ ("Failed to set change listener %d", ret));
}
- current_requested_state_ = state;
+ is_screen_listener_set = true;
return PlatformResult(ErrorCode::NO_ERROR);
}
-PlatformResult PowerManager::Release(PowerResource resource) {
+PlatformResult PowerManager::UnsetScreenStateChangeListener() {
ScopeLogger();
- int ret;
- if (POWER_RESOURCE_SCREEN == resource) {
- ret = device_power_release_lock(POWER_LOCK_DISPLAY);
- if (DEVICE_ERROR_NONE != ret) LoggerE("Platform return value from dim unlock: %d", ret);
-
- if (bright_state_enabled_) {
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().SetBrightnessFromSettings(&result);
- if (!error_code || DEVICE_ERROR_NONE != result) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR,
- "Platform error while setting restore brightness",
- ("Platform error while setting restore brightness %d", result));
- }
- }
- bright_state_enabled_ = false;
-
- display_state_e platform_state = DISPLAY_STATE_NORMAL;
- if (current_requested_state_ == POWER_STATE_SCREEN_DIM) {
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().UnlockState(&result);
- if (!error_code || DEVICE_ERROR_NONE != result) {
- LoggerE("Failed to UnlockState (%d)", result);
- }
- }
- ret = device_display_get_state(&platform_state);
- if (DEVICE_ERROR_NONE != ret) {
- LoggerE("device_display_get_state failed (%d)", ret);
- } else {
- if (DISPLAY_STATE_NORMAL == platform_state) {
- BroadcastScreenState(POWER_STATE_SCREEN_NORMAL);
- }
- }
-
- current_requested_state_ = POWER_STATE_NONE;
- } else if (POWER_RESOURCE_CPU == resource) {
- ret = device_power_release_lock(POWER_LOCK_CPU);
- if (DEVICE_ERROR_NONE != ret) LoggerE("Platform return value from off unlock: %d", ret);
+ int ret =
+ device_remove_callback(DEVICE_CALLBACK_DISPLAY_STATE, PowerManager::ScreenStateChangeCB);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to unset change listener",
+ ("Failed to unset change listener %d", ret));
}
+ is_screen_listener_set = false;
return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult PowerManager::GetScreenBrightness(double* output) {
ScopeLogger();
- int brightness = 0;
-
- auto error_code = GetPlatformBrightness(&brightness);
-
- if (!error_code) {
- LoggerE("Failed to obtain brightness value from platform.");
- return error_code;
+ PlatformResult result = GetMaxBrightness();
+ if (result.IsError()) {
+ return result;
}
- LoggerD("Brightness value: %d", brightness);
-
- int max_brightness;
- int ret = device_display_get_max_brightness(0, &max_brightness);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting max brightness",
- ("Platform error while getting brightness: %d", ret));
+ int brightness = 0;
+ result = GetScreenBrightness(&brightness);
+ if (result.IsError()) {
+ return result;
}
- *output = (double)brightness / (double)max_brightness;
+
+ *output = (double)brightness / (double)max_brightness_;
return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult PowerManager::SetScreenBrightness(double brightness) {
ScopeLogger();
- if (brightness > 1 || brightness < 0)
- return LogAndCreateResult(ErrorCode::INVALID_VALUES_ERR,
- "brightness should be 0 <= brightness <= 1");
- int max_brightness;
- int ret = device_display_get_max_brightness(0, &max_brightness);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting max brightness",
- ("Platform error while setting restore brightness: %d", ret));
+ PlatformResult result = GetMaxBrightness();
+ if (result.IsError()) {
+ return result;
}
- int platform_brightness = (int)(brightness * max_brightness);
- if (platform_brightness == 0) {
+ int platform_brightness = (int)(brightness * max_brightness_);
+ if (0 == platform_brightness) {
+ // The value '0' on native level is treated as setting ScreenState to "SCREEN_DIM", thus the
+ // brightness values come from range from 1 to max_brightness_ (which is usually equal to
+ // '100').
platform_brightness = 1;
}
- PlatformResult set_result = SetPlatformBrightness(platform_brightness);
- if (set_result.IsError()) return set_result;
+
+ result = SetBrightness(platform_brightness);
+ if (result.IsError()) {
+ return result;
+ }
+
LoggerD("Set the brightness value: %d", platform_brightness);
- return set_result;
+ return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult PowerManager::IsScreenOn(bool* state) {
ScopeLogger();
- display_state_e platform_state = DISPLAY_STATE_NORMAL;
-
- int ret = device_display_get_state(&platform_state);
- if (DEVICE_ERROR_NONE != ret) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error while getting screen state.",
- ("device_display_get_state failed (%d)", ret));
+ display_state_e display_state = DISPLAY_STATE_NORMAL;
+ PlatformResult result = GetDisplayState(&display_state);
+ if (result.IsError()) {
+ return result;
}
- *state = (DISPLAY_STATE_SCREEN_OFF != platform_state);
+ *state = (DISPLAY_STATE_SCREEN_OFF != display_state);
return PlatformResult(ErrorCode::NO_ERROR);
}
-PlatformResult PowerManager::SetScreenState(bool onoff) {
+PlatformResult PowerManager::TurnScreenOn() {
ScopeLogger();
- int ret = device_display_change_state(onoff ? DISPLAY_STATE_NORMAL : DISPLAY_STATE_SCREEN_OFF);
+ return SetScreenState(DISPLAY_STATE_NORMAL);
+}
+
+PlatformResult PowerManager::TurnScreenOff() {
+ ScopeLogger();
+ return SetScreenState(DISPLAY_STATE_SCREEN_OFF);
+}
+
+PlatformResult PowerManager::SetScreenState(display_state_e state) {
+ ScopeLogger();
+ int ret = device_display_change_state(state);
if (DEVICE_ERROR_NONE != ret) {
return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while changing screen state",
("Platform error while changing screen state %d", ret));
}
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
- int timeout = 100;
- bool state = false;
- while (timeout--) {
- PlatformResult result = IsScreenOn(&state);
- if (result.IsError()) {
- return result;
- }
+PlatformResult PowerManager::CallNativeFunctionThroughDbus(const std::string& method_name,
+ GVariant* parameters) {
+ GError* error = nullptr;
+ GVariant* variant = nullptr;
+ variant =
+ g_dbus_connection_call_sync(common::dbus::Connection::getInstance().getDBus(), kPowerTarget,
+ kPowerObject, kPowerInterface, method_name.c_str(), parameters,
+ NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
+ if (!variant || error) {
+ std::string message = error ? error->message : "";
+ g_error_free(error);
+ return LogAndCreateResult(
+ ErrorCode::UNKNOWN_ERR, "DBus returned error",
+ ("Failed to call %s method - %s", method_name.c_str(), message.c_str()));
+ }
+ int result = 0;
+ g_variant_get(variant, "(i)", &result);
+ g_variant_unref(variant);
+ if (DEVICE_ERROR_NONE != result) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "DBus method returned error",
+ ("%s method returned error code %d", method_name.c_str(), result));
+ }
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
- if (state == onoff) {
- break;
- }
+PlatformResult PowerManager::RestoreScreenBrightness() {
+ ScopeLogger();
+
+ // Need to request Native Deviced devs for wrapping
+ // below [internal] d-bus method:
+ // org.tizen.system.deviced
+ // /Org/Tizen/System/DeviceD/Display
+ // org.tizen.system.deviced.display.ReleaseBrightness
+
+ // TODO: refactor this method when the function will be ready:
+ // display_release_brightness();
- struct timespec sleep_time = {0, 100L * 1000L * 1000L};
- nanosleep(&sleep_time, nullptr);
+ return CallNativeFunctionThroughDbus(kReleaseBrightness, g_variant_new("()"));
+}
+
+PlatformResult PowerManager::GetMaxBrightness() {
+ ScopeLogger();
+
+ if (0 > max_brightness_) {
+ int ret = device_display_get_max_brightness(MAIN_DISPLAY, &max_brightness_);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR,
+ "Platform error while getting max brightness",
+ ("Platform error while getting max brightness: %d", ret));
+ }
}
return PlatformResult(ErrorCode::NO_ERROR);
}
-PlatformResult PowerManager::RestoreScreenBrightness() {
+PlatformResult PowerManager::SetBrightness(int brightness) {
ScopeLogger();
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().SetBrightnessFromSettings(&result);
- if (!error_code || DEVICE_ERROR_NONE != result) {
- return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while restoring brightness",
- ("Platform error while restoring brightness %d", result));
+ /*
+ Warning: implementation should use below commented code (public Native Device API).
+ However, this implementation does not guarantee the backward compability because of the
+ RestoreScreenBrightness method.
+ TODO: When the ReleaseBrightness dbus method is wrapped (see comment in the
+ PowerManager::RestoreScreenBrightness method) the implementation might be fully dependend only
+ on Native API.
+
+ int ret = device_display_set_brightness(MAIN_DISPLAY, brightness);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while setting brightness",
+ ("Platform error while setting brightness: %d", ret));
}
return PlatformResult(ErrorCode::NO_ERROR);
+ */
+ return CallNativeFunctionThroughDbus(kHoldBrightness, g_variant_new("(i)", brightness));
}
-PlatformResult PowerManager::SetPlatformBrightness(int brightness) {
+const char* PowerManager::ScreenStateToString(display_state_e state) {
ScopeLogger();
- if (current_state_ == POWER_STATE_SCREEN_DIM) {
- current_brightness_ = brightness;
- LoggerD("Current state is not normal state the value is saved in cache: %d", brightness);
- should_be_read_from_cache_ = true;
- return PlatformResult(ErrorCode::NO_ERROR);
- } else if (current_state_ == POWER_STATE_SCREEN_BRIGHT) {
- LoggerW(
- "DEPRECATION WARNING: SCREEN_BRIGHT is deprecated and will be removed from next release.");
+ switch (state) {
+ case DISPLAY_STATE_NORMAL:
+ if (is_screen_bright_set) {
+ return "SCREEN_BRIGHT";
+ } else {
+ return "SCREEN_NORMAL";
+ }
+ case DISPLAY_STATE_SCREEN_DIM:
+ return "SCREEN_DIM";
+ case DISPLAY_STATE_SCREEN_OFF:
+ default:
+ return "SCREEN_OFF";
+ }
+}
+
+PlatformResult PowerManager::GetDisplayState(display_state_e* state) {
+ ScopeLogger();
+ int ret = device_display_get_state(state);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Error while getting screen state.",
+ ("device_display_get_state failed (%d)", ret));
+ }
+
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
- current_brightness_ = brightness;
- LoggerD("Current state is not normal state the value is saved in cache: %d", brightness);
- should_be_read_from_cache_ = true;
+PlatformResult PowerManager::RequestCPUState() {
+ ScopeLogger();
+ if (is_cpu_state_locked) {
return PlatformResult(ErrorCode::NO_ERROR);
- } else {
- should_be_read_from_cache_ = false;
}
- int result = 0;
- auto error_code = PowerPlatformProxy::GetInstance().SetBrightness(brightness, &result);
- if (!error_code || result != 0) {
- return LogAndCreateResult(
- ErrorCode::UNKNOWN_ERR, "Platform error while setting brightness.",
- ("Platform error while setting %d brightness: %d", brightness, result));
+ int ret = device_power_request_lock(POWER_LOCK_CPU, 0);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to request for CPU state",
+ ("device_power_request_lock error %d", ret));
}
- set_custom_brightness_ = true;
- current_brightness_ = brightness;
+ is_cpu_state_locked = true;
return PlatformResult(ErrorCode::NO_ERROR);
}
-PlatformResult PowerManager::GetPlatformBrightness(int* result) {
+PlatformResult PowerManager::RequestScreenState(PowerState state) {
ScopeLogger();
+ PlatformResult result = ReleaseScreenState();
+ if (result.IsError()) {
+ return result;
+ }
- int brightness = 0;
-
- int is_custom_mode = 0;
- auto error_code = PowerPlatformProxy::GetInstance().IsCustomBrightness(&is_custom_mode);
+ int ret = DEVICE_ERROR_NONE;
+ switch (state) {
+ case POWER_STATE_SCREEN_DIM:
+ screen_lock_state_ = POWER_LOCK_DISPLAY_DIM;
+ break;
+ case POWER_STATE_SCREEN_BRIGHT:
+ result = SetBrightness(max_brightness_);
+ if (result.IsError()) {
+ return result;
+ }
- if (!error_code) {
- LoggerE("Failed to check if custom brightness is set.");
- return error_code;
+ ret = device_display_change_state(DISPLAY_STATE_NORMAL);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(
+ ErrorCode::UNKNOWN_ERR, "Failed to change display state",
+ ("device_display_change_state(DISPLAY_STATE_NORMAL) error %d", ret));
+ }
+ is_screen_bright_set = true;
+ case POWER_STATE_SCREEN_NORMAL:
+ default:
+ screen_lock_state_ = POWER_LOCK_DISPLAY;
+ break;
}
- if ((is_custom_mode && current_brightness_ != -1) || should_be_read_from_cache_) {
- LoggerD("return custom brightness %d", current_brightness_);
- *result = current_brightness_;
- return PlatformResult(ErrorCode::NO_ERROR);
+ ret = device_power_request_lock(screen_lock_state_, 0);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to request for screen state",
+ ("device_power_request_lock error %d", ret));
}
+ is_screen_state_locked = true;
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
- int is_auto_brightness = 0;
- vconf_get_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, &is_auto_brightness);
- if (is_auto_brightness == 1) {
- int ret = vconf_get_int(VCONFKEY_SETAPPL_PREFIX
- "/automatic_brightness_level" /*prevent RSA build error*/,
- &brightness);
- if (ret != 0) {
- // RSA binary has no AUTOMATIC_BRIGHTNESS
- vconf_get_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, &brightness);
- }
- } else {
- LoggerD("Brightness via DBUS");
- auto error_code = PowerPlatformProxy::GetInstance().GetBrightness(&brightness);
+PlatformResult PowerManager::ReleaseCPUState() {
+ ScopeLogger();
- if (!error_code) {
- LoggerE("Failed to obtain brightness via DBUS.");
- return error_code;
- }
+ if (!is_cpu_state_locked) {
+ return PlatformResult(ErrorCode::NO_ERROR);
}
- LoggerD("BRIGHTNESS(%s) %d", is_auto_brightness == 1 ? "auto" : "fix", brightness);
-
- *result = brightness;
-
+ int ret = device_power_release_lock(POWER_LOCK_CPU);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to release CPU lock",
+ ("device_power_release_lock error %d", ret));
+ }
+ is_cpu_state_locked = false;
return PlatformResult(ErrorCode::NO_ERROR);
}
-PlatformResult PowerManager::RestoreSettedBrightness() {
+PlatformResult PowerManager::ReleaseScreenState() {
ScopeLogger();
- PlatformResult result(ErrorCode::NO_ERROR);
- int is_custom_mode = 0;
- vconf_get_int(VCONFKEY_PM_CUSTOM_BRIGHTNESS_STATUS, &is_custom_mode);
- if (is_custom_mode || should_be_read_from_cache_) {
- if (current_brightness_ == -1) {
- // brightness was changed in other process
- result = RestoreScreenBrightness();
- } else {
- result = SetPlatformBrightness(current_brightness_);
- }
+
+ if (!is_screen_state_locked) {
+ return PlatformResult(ErrorCode::NO_ERROR);
}
- should_be_read_from_cache_ = false;
- return result;
-}
-void PowerManager::BroadcastScreenState(PowerState current) {
- ScopeLogger();
- if (current_state_ == current) return;
+ int ret = device_power_release_lock(screen_lock_state_);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Failed to release screen lock",
+ ("Platform error while releasing lock: %d", ret));
+ }
- PowerState prev_state = current_state_;
- current_state_ = current;
+ is_screen_state_locked = false;
- if (current_state_ == POWER_STATE_SCREEN_NORMAL) {
- if (prev_state == POWER_STATE_SCREEN_DIM) {
- PlatformResult result = RestoreSettedBrightness();
- if (result.IsError()) {
- LOGGER(ERROR) << "Error restore custom brightness " << result.message();
- }
- } else if (prev_state == POWER_STATE_SCREEN_OFF) {
- should_be_read_from_cache_ = false;
+ if (is_screen_bright_set) {
+ PlatformResult result = RestoreScreenBrightness();
+ if (result.IsError()) {
+ return result;
}
+ is_screen_bright_set = false;
}
- for (auto it = listeners_.begin(); it != listeners_.end(); ++it) {
- (*it)->OnScreenStateChanged(prev_state, current_state_);
+ return PlatformResult(ErrorCode::NO_ERROR);
+}
+
+PlatformResult PowerManager::GetScreenBrightness(int* output) {
+ ScopeLogger();
+ int ret = device_display_get_brightness(MAIN_DISPLAY, output);
+ if (DEVICE_ERROR_NONE != ret) {
+ return LogAndCreateResult(ErrorCode::UNKNOWN_ERR, "Platform error while getting brightness",
+ ("Platform error while getting brightness: %d", ret));
}
+ return PlatformResult(ErrorCode::NO_ERROR);
}
} // namespace power
diff --git a/src/power/power_manager.h b/src/power/power_manager.h
index da82348..8f85063 100644
--- a/src/power/power_manager.h
+++ b/src/power/power_manager.h
@@ -18,9 +18,10 @@
#define POWER_POWER_MANAGER_H_
#include
-#include
-#include
+#include
+#include
+#include "common/GDBus/connection.h"
#include "common/platform_result.h"
namespace extension {
@@ -36,49 +37,58 @@ enum PowerState {
POWER_STATE_SCREEN_OFF,
POWER_STATE_SCREEN_DIM,
POWER_STATE_SCREEN_NORMAL,
- POWER_STATE_SCREEN_BRIGHT,
+ POWER_STATE_SCREEN_BRIGHT, // TODO: remove this enum when removing enum from the API
POWER_STATE_CPU_AWAKE,
};
-class PowerManagerListener {
- public:
- virtual void OnScreenStateChanged(PowerState prev_state, PowerState new_state) = 0;
-};
+class PowerInstance;
class PowerManager {
public:
- void AddListener(PowerManagerListener* listener);
- void RemoveListener(PowerManagerListener* listener);
+ PowerManager(PowerInstance& instance);
+ virtual ~PowerManager();
+
common::PlatformResult Request(PowerResource resource, PowerState state);
common::PlatformResult Release(PowerResource resource);
+ common::PlatformResult SetScreenStateChangeListener();
+ common::PlatformResult UnsetScreenStateChangeListener();
common::PlatformResult GetScreenBrightness(double* output);
common::PlatformResult SetScreenBrightness(double brightness);
- common::PlatformResult RestoreScreenBrightness();
common::PlatformResult IsScreenOn(bool* state);
- common::PlatformResult SetScreenState(bool onoff);
-
- static PowerManager* GetInstance();
- private:
- common::PlatformResult GetPlatformBrightness(int* result);
- common::PlatformResult SetPlatformBrightness(int brightness);
- common::PlatformResult RestoreSettedBrightness();
+ // TODO: remove "TurnScreen..." methods AND SetScreenState() method
+ // when it is removed from the API
+ common::PlatformResult TurnScreenOn();
+ common::PlatformResult TurnScreenOff();
- PowerManager();
- virtual ~PowerManager();
-
- void BroadcastScreenState(PowerState current);
-
- static void OnPlatformStateChangedCB(device_callback_e type, void* value, void* user_data);
-
- std::list listeners_;
+ common::PlatformResult RestoreScreenBrightness();
- PowerState current_state_;
- bool bright_state_enabled_;
- int current_brightness_;
- bool should_be_read_from_cache_;
- bool set_custom_brightness_;
- PowerState current_requested_state_;
+ private:
+ static void ScreenStateChangeCB(device_callback_e type, void* value, void* user_data);
+ common::PlatformResult CallNativeFunctionThroughDbus(const std::string& method_name,
+ GVariant* parameters);
+
+ common::PlatformResult SetScreenState(display_state_e state);
+ common::PlatformResult GetMaxBrightness();
+ common::PlatformResult SetBrightness(int brightness);
+ const char* ScreenStateToString(display_state_e state);
+ common::PlatformResult GetDisplayState(display_state_e* state);
+ common::PlatformResult RequestCPUState();
+ common::PlatformResult RequestScreenState(PowerState state);
+ common::PlatformResult ReleaseCPUState();
+ common::PlatformResult ReleaseScreenState();
+ common::PlatformResult GetScreenBrightness(int* output);
+
+ PowerInstance& instance_;
+ bool is_screen_listener_set;
+ int max_brightness_;
+ display_state_e current_screen_state;
+ power_lock_e screen_lock_state_;
+ // TODO: remove below attribute, when "SCREEN_BRIGHT" enum is removed from the API
+ bool is_screen_bright_set;
+
+ bool is_cpu_state_locked;
+ bool is_screen_state_locked;
};
} // namespace power
diff --git a/src/power/power_platform_proxy.cc b/src/power/power_platform_proxy.cc
deleted file mode 100644
index 5947805..0000000
--- a/src/power/power_platform_proxy.cc
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "power_platform_proxy.h"
-
-#include
-
-#include "common/logger.h"
-
-using namespace common;
-
-namespace extension {
-namespace power {
-
-PowerPlatformProxy::PowerPlatformProxy()
- : gdbus_op_(common::gdbus::GDBusPowerWrapper::kDefaultBusName,
- common::gdbus::GDBusPowerWrapper::kDefaultObjectPath) {
- ScopeLogger();
-}
-
-PowerPlatformProxy::~PowerPlatformProxy() {
- ScopeLogger();
-}
-
-PowerPlatformProxy& PowerPlatformProxy::GetInstance() {
- ScopeLogger();
- static PowerPlatformProxy instance;
- return instance;
-}
-
-common::PlatformResult PowerPlatformProxy::LockState(int* result) {
- ScopeLogger();
- if (!gdbus_op_.LockState(result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-common::PlatformResult PowerPlatformProxy::UnlockState(int* result) {
- ScopeLogger();
- if (!gdbus_op_.UnlockState(result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-common::PlatformResult PowerPlatformProxy::SetBrightnessFromSettings(int* result) {
- ScopeLogger();
- if (!gdbus_op_.ReleaseBrightness(result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-common::PlatformResult PowerPlatformProxy::SetBrightness(int val, int* result) {
- ScopeLogger();
- if (!gdbus_op_.HoldBrightness(val, result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-common::PlatformResult PowerPlatformProxy::GetBrightness(int* result) {
- ScopeLogger();
- if (!gdbus_op_.CurrentBrightness(result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-common::PlatformResult PowerPlatformProxy::IsCustomBrightness(int* result) {
- ScopeLogger();
- if (!gdbus_op_.CustomBrightness(result)) {
- LoggerE("%s", gdbus_op_.GetLastError().c_str());
- return PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get reply from gdbus");
- }
- return PlatformResult(ErrorCode::NO_ERROR);
-}
-
-} // namespace power
-} // namespace extension
diff --git a/src/power/power_platform_proxy.h b/src/power/power_platform_proxy.h
deleted file mode 100644
index fb5e32a..0000000
--- a/src/power/power_platform_proxy.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef POWER_POWER_PLATFORM_PROXY_H_
-#define POWER_POWER_PLATFORM_PROXY_H_
-
-#include "common/GDBus/gdbus_powerwrapper.h"
-#include "common/platform_result.h"
-
-namespace extension {
-namespace power {
-
-class PowerPlatformProxy {
- public:
- common::PlatformResult LockState(int* result);
- common::PlatformResult UnlockState(int* result);
- common::PlatformResult SetBrightnessFromSettings(int* result);
- common::PlatformResult SetBrightness(int val, int* result);
-
- common::PlatformResult GetBrightness(int* result);
- common::PlatformResult IsCustomBrightness(int* result);
-
- static PowerPlatformProxy& GetInstance();
-
- private:
- PowerPlatformProxy();
- virtual ~PowerPlatformProxy();
-
- common::gdbus::GDBusPowerWrapper gdbus_op_;
-};
-
-} // namespace power
-} // namespace extension
-
-#endif // POWER_POWER_PLATFORM_PROXY_H_
--
2.7.4
From 20a5f25726763cc3a5a44961f473eef0669b0eca Mon Sep 17 00:00:00 2001
From: Pawel Wasowski
Date: Wed, 4 Apr 2018 18:33:30 +0200
Subject: [PATCH 12/16] [Power] Prevent override of power level locked with Web
API
Chromium used to override power level locked by Web API with its own
settings. The level set by Web API was not restored.
From now on, Chromium will not override power level lock, after receiving
"__DisableChromiumInternalPowerLock" message from the Web API
and will be able to control the locked power level,
after receiving "__EnableChromiumInternalPowerLock" message.
Change-Id: Ia14f873766e26bd02ae7eecb182c69e0b6af00e8
Signed-off-by: Pawel Wasowski
---
src/power/power_manager.cc | 26 ++++++++++++++++++++++++++
src/power/power_manager.h | 3 +++
src/utils/utils_api.js | 6 +++++-
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/src/power/power_manager.cc b/src/power/power_manager.cc
index c8638b6..3646d8f 100644
--- a/src/power/power_manager.cc
+++ b/src/power/power_manager.cc
@@ -387,6 +387,16 @@ PlatformResult PowerManager::RequestScreenState(PowerState state) {
("device_power_request_lock error %d", ret));
}
is_screen_state_locked = true;
+
+ /*
+ * In some cases Chromium requests power lock on screen backlight
+ * (e.g. when an mp4 video is played in the app). This results in
+ * overriding the power level set by the Web API.
+ *
+ * Below method prevents Chromium from locking the power level.
+ */
+ DisableChromiumInternalPowerLock();
+
return PlatformResult(ErrorCode::NO_ERROR);
}
@@ -421,6 +431,12 @@ PlatformResult PowerManager::ReleaseScreenState() {
is_screen_state_locked = false;
+ /*
+ * Below method enables Chromium to lock screen backlight power level,
+ * when it is no longer locked by the Web API.
+ */
+ EnableChromiumInternalPowerLock();
+
if (is_screen_bright_set) {
PlatformResult result = RestoreScreenBrightness();
if (result.IsError()) {
@@ -442,5 +458,15 @@ PlatformResult PowerManager::GetScreenBrightness(int* output) {
return PlatformResult(ErrorCode::NO_ERROR);
}
+void PowerManager::EnableChromiumInternalPowerLock() {
+ ScopeLogger();
+ Instance::PostMessage(&instance_, "__EnableChromiumInternalPowerLock");
+}
+
+void PowerManager::DisableChromiumInternalPowerLock() {
+ ScopeLogger();
+ Instance::PostMessage(&instance_, "__DisableChromiumInternalPowerLock");
+}
+
} // namespace power
} // namespace extension
diff --git a/src/power/power_manager.h b/src/power/power_manager.h
index 8f85063..c3c46d3 100644
--- a/src/power/power_manager.h
+++ b/src/power/power_manager.h
@@ -79,6 +79,9 @@ class PowerManager {
common::PlatformResult ReleaseScreenState();
common::PlatformResult GetScreenBrightness(int* output);
+ void EnableChromiumInternalPowerLock();
+ void DisableChromiumInternalPowerLock();
+
PowerInstance& instance_;
bool is_screen_listener_set;
int max_brightness_;
diff --git a/src/utils/utils_api.js b/src/utils/utils_api.js
index 4cc9868..2eef03e 100644
--- a/src/utils/utils_api.js
+++ b/src/utils/utils_api.js
@@ -1017,7 +1017,11 @@ var NativeManager = function(extension) {
});
extension_.setMessageListener(function(json) {
- var msg = JSON_.parse(json);
+ try {
+ var msg = JSON_.parse(json);
+ } catch (error) {
+ xwalk.utils.error('Invalid JSON received: ' + json);
+ }
var id;
if (msg.hasOwnProperty(this.CALLBACK_ID_KEY)) {
--
2.7.4
From 4ccba17e546a3d8278217c4702a2c3590bfe5b6d Mon Sep 17 00:00:00 2001
From: Lukasz Bardeli
Date: Tue, 17 Apr 2018 10:45:24 +0200
Subject: [PATCH 13/16] [Application] Add removing event_handler in destructor.
Removing all event_handler from events while closing application.
Without removing event_handler it is possible that native api will call
event with destroyed data. This fix is to prevent such situation
[Verification] Code compiles without error. TCT passrate 100%
Change-Id: I94d1fbb85ad47ca6dbcba6c56cd043521952860e
Signed-off-by: Lukasz Bardeli
---
src/application/application_manager.cc | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/application/application_manager.cc b/src/application/application_manager.cc
index 821f0fd..5ac925e 100644
--- a/src/application/application_manager.cc
+++ b/src/application/application_manager.cc
@@ -103,6 +103,13 @@ ApplicationManager::ApplicationManager(ApplicationInstance& instance)
ApplicationManager::~ApplicationManager() {
ScopeLogger();
StopAppInfoEventListener();
+ for (auto it = event_handler_map_.begin(); it != event_handler_map_.end();) {
+ int ret = event_remove_event_handler(it->second);
+ if (EVENT_ERROR_NONE != ret) {
+ LoggerE("event_remove_event_handler failed, error: %d (%s)", ret, get_error_message(ret));
+ }
+ it = event_handler_map_.erase(it);
+ }
}
void ApplicationManager::GetCurrentApplication(const std::string& app_id, picojson::object* out) {
--
2.7.4
From 590bb7aae552b0deef51be0c6c2d130cafe6696c Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 18 Apr 2018 08:11:18 +0200
Subject: [PATCH 14/16] [Spec] Fixing build dependency
[Verification] Code compiles without errors.
Change-Id: I7bc3f9c4ed440ab00822366c49843228be626b62
Signed-off-by: Piotr Kosko
---
packaging/webapi-plugins.spec | 1 +
1 file changed, 1 insertion(+)
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index 5c7573d..cc1902f 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -484,6 +484,7 @@ BuildRequires: pkgconfig(ecore-file)
BuildRequires: pkgconfig(email-service)
BuildRequires: pkgconfig(msg-service)
BuildRequires: pkgconfig(db-util)
+BuildRequires: pkgconfig(dbus-glib-1)
%endif
%if 0%{?tizen_feature_badge_support}
--
2.7.4
From 9c9f5b4d8ea1a31fdb0e6b545ea7fa7c133a61fd Mon Sep 17 00:00:00 2001
From: Rafal Walczyna
Date: Tue, 17 Apr 2018 14:39:23 +0200
Subject: [PATCH 15/16] [IoTcon] Fix query creation for requests
[Bug] query was not created properly when there was no
resource interface set
[Verification] 100% passrate on TM1
Change-Id: Iea1db9418fe10e9fad56a9bb7de1c34c95cbc5dd
Signed-off-by: Rafal Walczyna
---
src/iotcon/iotcon_utils.cc | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/src/iotcon/iotcon_utils.cc b/src/iotcon/iotcon_utils.cc
index 70546a4..abbe5d8 100644
--- a/src/iotcon/iotcon_utils.cc
+++ b/src/iotcon/iotcon_utils.cc
@@ -1106,11 +1106,14 @@ common::TizenResult IotconUtils::QueryToJson(iotcon_query_h query, picojson::obj
{
// resourceInterface
char* interface = nullptr;
- auto result = ConvertIotconError(iotcon_query_get_interface(query, &interface));
- if (!result || !interface) {
- LogAndReturnTizenError(result, ("iotcon_query_get_interface() failed"));
+ int err_code = iotcon_query_get_interface(query, &interface);
+ if (IOTCON_ERROR_NONE != err_code) {
+ // if no interface is set to query we continue execution to set other values
+ LoggerW("iotcon_query_get_interface() failed: %d, ignoring resource interface in query",
+ err_code);
+ } else {
+ out->insert(std::make_pair(kResourceInterface, picojson::value{interface}));
}
- out->insert(std::make_pair(kResourceInterface, picojson::value{interface}));
}
{
--
2.7.4
From 87e3fe5c183776964cd7ff227748f58a332355cb Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Wed, 18 Apr 2018 10:28:21 +0200
Subject: [PATCH 16/16] [version] 2.21
Change-Id: Id7ba90815fd7970998c28343c0b1e5cce6fac32f
Signed-off-by: Piotr Kosko
---
packaging/webapi-plugins.spec | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packaging/webapi-plugins.spec b/packaging/webapi-plugins.spec
index cc1902f..58f41cb 100644
--- a/packaging/webapi-plugins.spec
+++ b/packaging/webapi-plugins.spec
@@ -10,7 +10,7 @@
%define crosswalk_extensions_path %{_libdir}/%{crosswalk_extensions}
Name: webapi-plugins
-Version: 2.20
+Version: 2.21
Release: 0
License: Apache-2.0 and BSD-3-Clause and MIT
Group: Development/Libraries
--
2.7.4