sensord: set cynara configuration for cache size 44/70244/4
authorkibak.yoon <kibak.yoon@samsung.com>
Thu, 19 May 2016 04:11:32 +0000 (13:11 +0900)
committerKibak Yoon <kibak.yoon@samsung.com>
Thu, 19 May 2016 05:23:34 +0000 (22:23 -0700)
- cynara cache size : 16

Change-Id: Ia28f3b0da49a731ff2fa7493800482cdd08e77ad
Signed-off-by: kibak.yoon <kibak.yoon@samsung.com>
src/server/permission_checker.cpp
src/server/permission_checker.h

index e811217..b8ece6e 100644 (file)
@@ -25,6 +25,8 @@
 #include <sensor_loader.h>
 #include <sensor_base.h>
 
+#define CACHE_SIZE 16
+
 static cynara *cynara_env = NULL;
 
 static bool check_privilege_by_sockfd(int sock_fd, const char *priv)
@@ -90,10 +92,33 @@ void permission_checker::init()
 
        _I("Permission Set = %d", m_permission_set);
 
-       if (cynara_initialize(&cynara_env, NULL) != CYNARA_API_SUCCESS) {
+       init_cynara();
+}
+
+void permission_checker::init_cynara(void)
+{
+       cynara_configuration *conf;
+
+       int err = cynara_configuration_create(&conf);
+       retm_if(err != CYNARA_API_SUCCESS, "Failed to create cynara configuration");
+
+       err = cynara_configuration_set_cache_size(conf, CACHE_SIZE);
+       if (err != CYNARA_API_SUCCESS) {
+               _E("Failed to set cynara cache");
+               cynara_configuration_destroy(conf);
+               return;
+       }
+
+       err = cynara_initialize(&cynara_env, conf);
+       cynara_configuration_destroy(conf);
+
+       if (err != CYNARA_API_SUCCESS) {
+               _E("Failed to initialize cynara");
                cynara_env = NULL;
-               _E("Cynara initialization failed");
+               return;
        }
+
+       _I("Cynara initialized");
 }
 
 void permission_checker::deinit()
index cf9f444..c7ccbb0 100644 (file)
@@ -52,13 +52,15 @@ private:
        permission_checker(permission_checker const&) {};
        permission_checker& operator=(permission_checker const&);
 
-       void init();
-       void deinit();
+       void init(void);
+       void deinit(void);
 
 private:
        permission_info_vector m_permission_infos;
        int m_permission_set;
        cmutex m_mutex;
+
+       void init_cynara(void);
 };
 
 #endif /* _PERMISSION_CHECKER_H_ */