replace : iotivity -> iotivity-sec
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcSecurity.h
1 /******************************************************************
2  *
3  * Copyright 2015 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  *
20  ******************************************************************/
21
22 #ifndef __JNIOCSECURITY_H
23 #define __JNIOCSECURITY_H
24
25 #include <stdint.h>
26 #include <stdio.h>
27 #include <string>
28 #include "octypes.h"
29 #include <unistd.h>
30
31 namespace OC
32 {
33     class JniOcSecurity
34     {
35         private:
36             static size_t getDBSize(const char *filepath);
37             static OCStackResult ResetDBFile(const char *cred_file);
38             static size_t client_read(void *buffer, size_t size, size_t nmemb, FILE *fp);
39
40             static size_t client_write(const void *buffer, size_t size,
41                     size_t nmemb, FILE *fp);
42             static FILE* client_open(const char*, const char*);
43             static FILE* client_open_enc(const char*, const char*);
44             static FILE* client_open_rescue(const char*, const char*);
45             static int client_unlink(const char *path);
46             static int client_encrypt(const unsigned char *pt, size_t pt_len,
47                                 unsigned char **ct, size_t *ct_len);
48             static int client_decrypt(const unsigned char *ct, size_t ct_len,
49                                 unsigned char **pt, size_t *pt_len);
50         public:
51             static std::string& store_path(void);
52             static std::string& getEncDbPath(void);
53             static std::string& getRescueDbPath(void);
54             static void StoreDbPath(const std::string&);
55             static void StoreDefault_DbPath(const std::string&, const std::string&, int);
56             static OCPersistentStorage* getOCPersistentStorage(void);
57             static OCPersistentStorage* getOCPersistentStorageEnc(void);
58             static OCPersistentStorage* getOCPersistentStorageRescue(void);
59
60     };
61 }
62 #endif //__JNIOCSECURITY_H