summaryrefslogtreecommitdiff
path: root/include/service-adapter/sa_devinf_internal.h
blob: f60fd56373c48d466ed11f2836a31e9a8e372611 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*
 * oma-ds-agent
 * Copyright (c) 2012 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.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 *   @SA_DevInf_Internal.h
 *   @version									0.1
 *   @brief										This file is the header file that structure which is available in SA is defined
 *													about device information(DevInf)
 */

#ifndef SA_DEVINF_INTERNAL_H_
#define SA_DEVINF_INTERNAL_H_

#include "service-adapter/sa_define.h"

#define DEFINE_DEVICE_TYPE_PAGER "pager"
#define DEFINE_DEVICE_TYPE_HANDHELD "handheld"
#define DEFINE_DEVICE_TYPE_PDA "pda"
#define DEFINE_DEVICE_TYPE_PHONE "phone"
#define DEFINE_DEVICE_TYPE_SMARTPHONE "smartphone"
#define DEFINE_DEVICE_TYPE_SERVER "server"
#define DEFINE_DEVICE_TYPE_WORKSTATION "workstation"

struct devinf {
	devinf_version_e version;

	devinf_devtyp_e devtyp;
	char *manufacturer;
	char *model;
	char *oem;
	char *software_version;
	char *hardware_version;
	char *firmware_version;
	char *dev_id;

	int supports_utc;
	int supports_large_objs;
	int supports_number_of_changes;

	GList *datastores;	/*containing DevInfDataStore structure */
};

struct devinf_datastore {
	int supports_hierarchical_sync;

	char *source_ref;
	char *display_name;
	unsigned int max_guid_size;

	devinf_content_type_s *rx_pref;
	devinf_content_type_s *tx_pref;

	GList *filter_rx;	/*need to be considered filter_rx,filterCap */
	GList *filter_cap;

	GList *rx;
	GList *tx;

	int shared_mem;
	unsigned int max_mem;
	unsigned int max_id;

	unsigned int sync_cap;

	GList *ct_caps;		/*containing DevInfCTCap structure */
};

struct devinf_content_type {
	char *ct_type;
	char *verct;
};

struct devinf_ct_cap {
	devinf_content_type_s *ct;
	GList *properties;	/*containing DevInfProperty structure */
};

struct devinf_property {
	char *prop_name;
	char *data_type;
	unsigned int max_occur;
	unsigned int max_size;
/*	unsigned int propSize;*/
	int no_truncate;
	char *display_name;
	GList *val_enums;	/*containing char* */
	GList *prop_params;	/*containing DevInfPropParam structure */
};

struct devinf_prop_param {
	char *param_name;
	char *data_type;
	char *display_name;
	GList *val_enums;
};

struct filter_cap {
	char *ct_type;
	char *verct;
	GList *filter_keyword;
	GList *prop_name;
};

#endif				/* SA_DEVINF_INTERNAL_H_ */