Merge branch 'tizen' into tizen_4.0
[platform/core/system/sensord.git] / src / server / permission_checker.h
old mode 100755 (executable)
new mode 100644 (file)
index 5121e41..7549de4
@@ -1,7 +1,7 @@
 /*
  * sensord
  *
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  *
  */
 
-#ifndef _PERMISSION_CHECKER_H_
-#define _PERMISSION_CHECKER_H_
+#ifndef __PERMISSION_CHECKER_H__
+#define __PERMISSION_CHECKER_H__
 
+#include <sensor_types.h>
 #include <string>
-#include <vector>
-#include <memory>
 
-class permission_checker {
-private:
-       class permission_info {
-               public:
-               permission_info(int _permission, bool _need_to_check, std::string _name, std::string _access_right)
-               : permission(_permission)
-               , need_to_check(_need_to_check)
-               , name(_name)
-               , access_right(_access_right)
-               {
-               }
-               int permission;
-               bool need_to_check;
-               std::string name;
-               std::string access_right;
-       };
-
-       typedef std::vector<std::shared_ptr<permission_info>> permission_info_vector;
-
-       typedef int (*security_server_check_privilege_by_sockfd_t)(int sockfd,
-                         const char *object,
-                         const char *access_rights);
+namespace sensor {
 
+class permission_checker {
+public:
        permission_checker();
        ~permission_checker();
-       permission_checker(permission_checker const&) {};
-       permission_checker& operator=(permission_checker const&);
 
-       bool init_security_lib(void);
-       void init();
+       bool has_permission(int sock_fd, std::string &perm);
 
-       security_server_check_privilege_by_sockfd_t security_server_check_privilege_by_sockfd;
-       void *m_security_handle;
-
-       permission_info_vector m_permission_infos;
-       int m_permission_set;
-public:
-       static permission_checker& get_instance();
-
-       int get_permission(int sock_fd);
+private:
+       void init_cynara(void);
+       void deinit_cynara(void);
+       bool has_permission_cynara(int sock_fd, std::string &perm);
 };
 
-#endif /* COMMAND_WORKER_H_ */
+}
+
+#endif /* __PERMISSION_CHECKER_H__ */