Modify struct stm_state_t
[apps/agl-service-windowmanager.git] / src / policy_manager / policy_manager.hpp
index 6926bc4..9a40d7c 100644 (file)
@@ -25,6 +25,7 @@
 struct json_object;
 struct sd_event;
 
+
 class PolicyManager {
 
 public:
@@ -33,8 +34,14 @@ public:
 
     using Handler = std::function<void(json_object *)>;
 
+    typedef struct {
+        Handler  onStateTransitioned;
+        Handler  onError;
+    } CallbackTable;
+
     int initialize();
-    int inputEvent(json_object* json_in, PolicyManager::Handler notify_state);
+    void registerCallback(CallbackTable callback_table);
+    int inputEvent(json_object* json_in);
     std::string roleToCategory(const char* role);
 
 private:
@@ -53,6 +60,23 @@ private:
     std::unordered_map<std::string, std::string> category2role_;
     std::unordered_map<std::string, std::string> role2defaultarea_;
 
+#if 0
+    struct AreaState {
+        std::string name;
+        std::string role;
+    } AreaState;
+
+    struct LayoutState {
+        std::string name;
+        std::vector<AreaState> areas;
+    } LayoutState;
+
+    struct LayerState {
+        std::string name;
+        LayoutState layout;
+    } LayerState;
+#endif
+
     int initializeSdEventLoop();
 
     // Load role.db