From 65332b0fefe1adde18426cc922ea1878ec30ca06 Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Thu, 24 Nov 2016 10:04:11 +0900 Subject: [PATCH] Move point to get krate handle into each APIs Signed-off-by: Sungbae Yoo Change-Id: I30b78a00065a92224ed83047a6863c141b6c29eb --- server/krate.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/server/krate.cpp b/server/krate.cpp index 33e3f77..6ebc51a 100644 --- a/server/krate.cpp +++ b/server/krate.cpp @@ -38,7 +38,6 @@ namespace DevicePolicyManager { namespace { -krate_manager_h krate_manager; std::regex krateNamePattern(NAME_PATTERN); bool isAllowedName(const std::string& name) { @@ -55,7 +54,7 @@ bool isAllowedName(const std::string& name) { return !exists; } -bool foreach_krate_cb(const char* name, void* user_data) { +bool foreachKrateCallback(const char* name, void* user_data) { auto pList = (std::vector*)user_data; pList->push_back(name); return true; @@ -73,13 +72,10 @@ KratePolicy::KratePolicy(PolicyControlContext& ctx) : context.createNotification("KratePolicy::created"); context.createNotification("KratePolicy::removed"); - - krate_manager_create(&krate_manager); } KratePolicy::~KratePolicy() { - krate_manager_destroy(krate_manager); } @@ -138,14 +134,22 @@ int KratePolicy::removeKrate(const std::string& name) int KratePolicy::getKrateState(const std::string& name) { krate_state_e state = (krate_state_e)0; + krate_manager_h krate_manager; + + krate_manager_create(&krate_manager); krate_manager_get_krate_state(krate_manager, name.c_str(), &state); + krate_manager_destroy(krate_manager); return (int)state; } std::vector KratePolicy::getKrateList(int state) { std::vector list; - krate_manager_foreach_name(krate_manager, (krate_state_e)state, foreach_krate_cb, &list); + krate_manager_h krate_manager; + + krate_manager_create(&krate_manager); + krate_manager_foreach_name(krate_manager, (krate_state_e)state, foreachKrateCallback, &list); + krate_manager_destroy(krate_manager); return list; } -- 2.7.4