struct json_object;
struct sd_event;
+
class PolicyManager {
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);
- 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
// 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);