Tizen 2.0 Release
[pkgs/o/oma-ds-service.git] / include / service-adapter / sa_devinf_internal.h
1 /*
2  * oma-ds-agent
3  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18 /**
19  *   @SA_DevInf_Internal.h
20  *   @version                                                                   0.1
21  *   @brief                                                                             This file is the header file that structure which is available in SA is defined
22  *                                                                                                      about device information(DevInf)
23  */
24
25 #ifndef SA_DEVINF_INTERNAL_H_
26 #define SA_DEVINF_INTERNAL_H_
27
28 #include "service-adapter/sa_define.h"
29
30 #define DEFINE_DEVICE_TYPE_PAGER "pager"
31 #define DEFINE_DEVICE_TYPE_HANDHELD "handheld"
32 #define DEFINE_DEVICE_TYPE_PDA "pda"
33 #define DEFINE_DEVICE_TYPE_PHONE "phone"
34 #define DEFINE_DEVICE_TYPE_SMARTPHONE "smartphone"
35 #define DEFINE_DEVICE_TYPE_SERVER "server"
36 #define DEFINE_DEVICE_TYPE_WORKSTATION "workstation"
37
38 struct devinf {
39         devinf_version_e version;
40
41         devinf_devtyp_e devtyp;
42         char *manufacturer;
43         char *model;
44         char *oem;
45         char *software_version;
46         char *hardware_version;
47         char *firmware_version;
48         char *dev_id;
49
50         int supports_utc;
51         int supports_large_objs;
52         int supports_number_of_changes;
53
54         GList *datastores;      /*containing DevInfDataStore structure */
55 };
56
57 struct devinf_datastore {
58         int supports_hierarchical_sync;
59
60         char *source_ref;
61         char *display_name;
62         unsigned int max_guid_size;
63
64         devinf_content_type_s *rx_pref;
65         devinf_content_type_s *tx_pref;
66
67         GList *filter_rx;       /*need to be considered filter_rx,filterCap */
68         GList *filter_cap;
69
70         GList *rx;
71         GList *tx;
72
73         int shared_mem;
74         unsigned int max_mem;
75         unsigned int max_id;
76
77         unsigned int sync_cap;
78
79         GList *ct_caps;         /*containing DevInfCTCap structure */
80 };
81
82 struct devinf_content_type {
83         char *ct_type;
84         char *verct;
85 };
86
87 struct devinf_ct_cap {
88         devinf_content_type_s *ct;
89         GList *properties;      /*containing DevInfProperty structure */
90 };
91
92 struct devinf_property {
93         char *prop_name;
94         char *data_type;
95         unsigned int max_occur;
96         unsigned int max_size;
97 /*      unsigned int propSize;*/
98         int no_truncate;
99         char *display_name;
100         GList *val_enums;       /*containing char* */
101         GList *prop_params;     /*containing DevInfPropParam structure */
102 };
103
104 struct devinf_prop_param {
105         char *param_name;
106         char *data_type;
107         char *display_name;
108         GList *val_enums;
109 };
110
111 struct filter_cap {
112         char *ct_type;
113         char *verct;
114         GList *filter_keyword;
115         GList *prop_name;
116 };
117
118 #endif                          /* SA_DEVINF_INTERNAL_H_ */