Modify member variable name
[apps/agl-service-windowmanager.git] / src / policy_manager / policy_manager.hpp
index 57856dc..6233a77 100644 (file)
@@ -25,6 +25,7 @@
 struct json_object;
 struct sd_event;
 
+
 class PolicyManager {
 
 public:
@@ -33,10 +34,16 @@ public:
 
     using Handler = std::function<void(json_object *)>;
 
+    typedef struct {
+        Handler  onStateTransitioned;
+        Handler  onError;
+    } CallbackTable;
+
     int initialize();
-    void setEventHandler(PolicyManager::Handler handler);
-    int inputEvent(json_object* json_in, PolicyManager::Handler notify_state);
-    std::string roleToCategory(const char* role);
+    void registerCallback(CallbackTable callback_table);
+    int setInputEventData(json_object* json_in);
+    int executeStateTransition();
+    void undoState();
 
 private:
     // Disable copy and move
@@ -46,22 +53,23 @@ private:
     PolicyManager &operator=(PolicyManager &&) = delete;
 
     // Convert map
-    std::unordered_map<std::string, int> eventname2no_;
-    std::unordered_map<std::string, int> categoryname2no_;
-    std::unordered_map<std::string, int> areaname2no_;
-
-    std::unordered_map<std::string, std::string> role2category_;
-    std::unordered_map<std::string, std::string> category2role_;
-    std::unordered_map<std::string, std::string> role2defaultarea_;
+    std::unordered_map<std::string, int> eventname2no;
+    std::unordered_map<std::string, int> categoryname2no;
+    std::unordered_map<std::string, int> areaname2no;
 
-    struct sd_event* sd_event_;
+    std::unordered_map<std::string, std::string> role2category;
+    std::unordered_map<std::string, std::string> category2role;
+    std::unordered_map<std::string, std::string> role2defaultarea;
 
+    void initializeLocalState();
     int initializeSdEventLoop();
-    void checkPolicyEntry(int event, int delay_ms, PolicyManager::Handler handler);
 
     // Load role.db
     int loadRoleDb();
 
+    // Load layout.db
+    int loadLayoutDb();
+
     const char* getStringFromJson(json_object* obj, const char* key);
     int inputJsonFilie(const char* file, json_object** obj);
     std::vector<std::string> parseString(std::string str, char delimiter);
@@ -70,8 +78,4 @@ private:
 };
 
 
-extern const char* getStringFromJson(json_object* obj, const char* key);
-extern int getIntFromJson(json_object* obj, const char* key);
-
-
 #endif  // TMCAGLWM_POLICY_MANAGER_HPP