/*
* 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__ */