Initial Import
[profile/ivi/bundle.git] / include / keyval_type.h
1 /*
2  * bundle
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7  * Jaeho Lee <jaeho81.lee@samsung.com>
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  */
22
23
24 #ifndef __KEYVAL_TYPE_H__
25 #define __KEYVAL_TYPE_H__
26
27 /**
28  * keyval_type.h
29  *
30  * Definitions & short funcs for keyval type
31  */
32
33 #include "bundle.h"
34 #include <stddef.h>
35 #include <string.h>
36
37 // measure_size function type
38 typedef size_t (*keyval_type_measure_size_func_t) (void *val);
39
40 void _type_init_measure_size_func(void);
41 int keyval_type_is_array(int type);
42 int keyval_type_is_measurable(int type);
43 keyval_type_measure_size_func_t keyval_type_get_measure_size_func(int type);
44
45
46 /* Measure functions for each type */
47 size_t keyval_type_measure_size_str(void *val);
48 void keyval_type_init(void);
49
50 #endif /* __KEYVAL_TYPE_H__ */