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 package org.marre.wap.nokia;
36
37 import java.io.IOException;
38 import java.io.OutputStream;
39 import java.util.Iterator;
40 import java.util.LinkedList;
41 import java.util.List;
42
43 import org.marre.wap.wbxml.WbxmlDocument;
44 import org.marre.wap.wbxml.WbxmlWriter;
45 import org.marre.xml.XmlWriter;
46
47 public class NokiaOtaBrowserSettings implements WbxmlDocument
48 {
49 public static final String WBXML_SETTINGS_CONTENT_TYPE = "application/x-wap-prov.browser-settings";
50 public static final String XML_SETTINGS_CONTENT_TYPE = "application/x-wap-prov.browser-settings";
51 public static final String XML_BOOKMARKS_CONTENT_TYPE = "application/x-wap-prov.browser-bookmarks";
52
53 public static final String[] OTA_TAG_TOKENS = {
54 "CHARACTERISTIC-LIST",
55 "CHARACTERISTIC",
56 "PARM",
57 };
58
59 public static final String[] OTA_ATTR_START_TOKENS = {
60 "",
61 "TYPE=ADDRESS",
62 "TYPE=URL",
63 "TYPE=NAME",
64 "",
65 "",
66 "",
67 "",
68 "",
69 "",
70 "",
71 "NAME",
72 "VALUE",
73 "NAME=BEARER",
74 "NAME=PROXY",
75 "NAME=PORT",
76 "NAME=NAME",
77 "NAME=PROXY_TYPE",
78 "NAME=URL",
79 "NAME=PROXY_AUTHNAME",
80 "NAME=PROXY_AUTHSECRET",
81 "NAME=SMS_SMSC_ADDRESS",
82 "NAME=USSD_SERVICE_CODE",
83 "NAME=GPRS_ACCESSPOINTNAME",
84 "NAME=PPP_LOGINTYPE",
85 "NAME=PROXY_LOGINTYPE",
86 "",
87 "",
88 "NAME=CSD_DIALSTRING",
89 "NAME=PPP_AUTHTYPE",
90 "NAME=PPP_AUTHNAME",
91 "NAME=PPP_AUTHSECRET",
92 "",
93 "",
94 "",
95 "NAME=CSD_CALLTYPE",
96 "NAME=CSD_CALLSPEED",
97 "",
98 "",
99 "",
100 "",
101 "",
102 "",
103 "",
104 "",
105 "",
106 "",
107 "",
108 "",
109 "",
110 "",
111 "",
112 "",
113 "",
114 "",
115 "",
116 "",
117 "",
118 "",
119 "",
120 "",
121 "",
122 "",
123 "",
124 "VALUE=GSM/CSD",
125 "VALUE=GSM/SMS",
126 "VALUE=GSM/USSD",
127 "VALUE=IS-136/CSD",
128 "VALUE=GPRS",
129 "",
130 "",
131 "",
132 "",
133 "",
134 "",
135 "",
136 "",
137 "",
138 "",
139 "",
140 "",
141 "",
142 "",
143 "",
144 "",
145 "",
146 "",
147 "",
148 "",
149 "",
150 "",
151 "VALUE=9200",
152 "VALUE=9201",
153 "VALUE=9202",
154 "VALUE=9203",
155 "VALUE=AUTOMATIC",
156 "VALUE=MANUAL",
157 "",
158 "",
159 "",
160 "",
161 "VALUE=AUTO",
162 "VALUE=9600",
163 "VALUE=14400",
164 "VALUE=19200",
165 "VALUE=28800",
166 "VALUE=38400",
167 "VALUE=PAP",
168 "VALUE=CHAP",
169 "VALUE=ANALOGUE",
170 "VALUE=ISDN",
171 "VALUE=43200",
172 "VALUE=57600",
173 "VALUE=MSISDN_NO",
174 "VALUE=IPV4",
175 "VALUE=MSCHAP",
176 "",
177 "",
178 "",
179 "TYPE=MMSURL",
180 "TYPE=ID",
181 "NAME=ISPNAME",
182 "TYPE=BOOKMARK",
183 };
184
185 public static final String[] OTA_ATTR_VALUE_TOKENS = {
186 "",
187 "",
188 "",
189 };
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226 protected List myBookmarks;
227
228
229
230
231
232 public NokiaOtaBrowserSettings()
233 {
234 myBookmarks = new LinkedList();
235 }
236
237 protected void writeBookmarksTo(XmlWriter xmlWriter) throws IOException
238 {
239 Iterator bookmarkIterator = myBookmarks.iterator();
240
241 while (bookmarkIterator.hasNext())
242 {
243 NokiaOtaBookmark otaBookmark = (NokiaOtaBookmark)bookmarkIterator.next();
244 otaBookmark.writeXmlTo(xmlWriter);
245 }
246 }
247
248 public void addBookmark(String name, String url)
249 {
250 myBookmarks.add(new NokiaOtaBookmark(name, url));
251 }
252
253 public String getContentType()
254 {
255 return XML_SETTINGS_CONTENT_TYPE;
256 }
257
258 public String getWbxmlContentType()
259 {
260 return WBXML_SETTINGS_CONTENT_TYPE;
261 }
262
263 public XmlWriter getWbxmlWriter(OutputStream os)
264 {
265 return new WbxmlWriter(os, OTA_TAG_TOKENS, OTA_ATTR_START_TOKENS, OTA_ATTR_VALUE_TOKENS);
266 }
267
268 public void writeXmlTo(XmlWriter xmlWriter) throws IOException
269 {
270 xmlWriter.setDoctype("CHARACTERISTIC-LIST", "/DTD/characteristic_list.xml");
271
272
273 xmlWriter.addStartElement("CHARACTERISTIC-LIST");
274
275
276 writeBookmarksTo(xmlWriter);
277
278
279 xmlWriter.flush();
280 }
281 }