libsyncml 0.5.4

- Main Page
- Modules
- Data Structures
- Files

- File List

sml_devinf_internals.h
1 /*
2 * libsyncml - A syncml protocol implementation
3 * Copyright (C) 2005 Armin Bauer <armin.bauer@opensync.org>
4 * Copyright (C) 2007-2008 Michael Bell <michael.bell@opensync.org>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21
29
30 #ifndef _SML_DEVINF_INTERNALS_H_
31 #define _SML_DEVINF_INTERNALS_H_
32
33 struct SmlDevInf {
34 gint refCount;
35 SmlDevInfVersion version;
36
37 SmlDevInfDevTyp devtyp;
38 char *manufacturer;
39 char *model;
40 char *oem;
41 char *softwareVersion;
42 char *hardwareVersion;
43 char *firmwareVersion;
44 char *devid;
45
46 SmlBool supportsUTC;
47 SmlBool supportsLargeObjs;
48 SmlBool supportsNumberOfChanges;
49
50 GList *datastores;
51
52 GList *ctcaps;
53 };
54
55 struct SmlDevInfDataStore {
56 gint refCount;
57
58 SmlBool supportsHierarchicalSync;
59
60 char *sourceref;
61 char *displayname;
62 unsigned int maxGUIDSize;
63
64 char *rxPrefContentType;
65 char *rxPrefVersion;
66
67 char *txPrefContentType;
68 char *txPrefVersion;
69
70 SmlDevInfContentType *rxPref;
71 SmlDevInfContentType *txPref;
72
73 GList *rx;
74 GList *tx;
75
76 SmlBool sharedMem;
77 unsigned int maxid;
78 unsigned int maxmem;
79
80 unsigned int synccap;
81 };
82
83 struct SmlDevInfPropParam {
84 char *paramName;
85 char *dataType;
86 char *displayName;
87 GList *valEnums;
88 };
89
90 struct SmlDevInfProperty {
91 char *propName;
92 char *dataType;
93 unsigned int maxOccur;
94 unsigned int maxSize;
95 unsigned int propSize;
96 SmlBool noTruncate;
97 char *displayName;
98 GList *valEnums;
99 GList *propParams;
100 };
101
102 struct SmlDevInfCTCap {
103 SmlDevInfContentType *ct;
104 GList *properties;
105 };
106
107 struct SmlDevInfContentType {
108 char *cttype;
109 char *verct;
110 };
111
112 SmlDevInfSyncCap smlDevInfSyncCapConvert(unsigned int id, SmlError **error);
113
114 #endif //_SML_DEVINF_INTERNALS_H_
115