Package phones ::
Module p_lgvx8560
|
|
1
2
3 """Various descriptions of data specific to LG VX8560/VX8610"""
4
5
6
7
8
9 from p_lgvx9700 import *
10
11
12 from p_lgvx8550 import textmemo,textmemofile
13
14
15
16 from p_lgvx8800 import indexfile,indexentry
17
18 -class call(BaseProtogenClass):
19 __fields=['GPStime', 'unk0', 'duration', 'number', 'name', 'numberlength', 'status', 'pbnumbertype', 'unk1', 'pbentrynum', 'unk2']
20
29
30
33
34
46
47
48
49 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
65
66
68 'Reads this packet from the supplied buffer'
69 self._bufferstartoffset=buf.getcurrentoffset()
70 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
71 self.__field_GPStime=GPSDATE(**{'sizeinbytes': 4})
72 self.__field_GPStime.readfrombuffer(buf)
73 self.__field_unk0=UINT(**{'sizeinbytes': 4})
74 self.__field_unk0.readfrombuffer(buf)
75 self.__field_duration=UINT(**{'sizeinbytes': 4})
76 self.__field_duration.readfrombuffer(buf)
77 self.__field_number=USTRING(**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
78 self.__field_number.readfrombuffer(buf)
79 self.__field_name=USTRING(**{'sizeinbytes': 36, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
80 self.__field_name.readfrombuffer(buf)
81 self.__field_numberlength=UINT(**{'sizeinbytes': 1})
82 self.__field_numberlength.readfrombuffer(buf)
83 self.__field_status=UINT(**{'sizeinbytes': 1})
84 self.__field_status.readfrombuffer(buf)
85 self.__field_pbnumbertype=UINT(**{'sizeinbytes': 1})
86 self.__field_pbnumbertype.readfrombuffer(buf)
87 self.__field_unk1=UINT(**{'sizeinbytes': 4})
88 self.__field_unk1.readfrombuffer(buf)
89 self.__field_pbentrynum=UINT(**{'sizeinbytes': 4})
90 self.__field_pbentrynum.readfrombuffer(buf)
91 self.__field_unk2=DATA(**{'sizeinbytes': 24})
92 self.__field_unk2.readfrombuffer(buf)
93 self._bufferendoffset=buf.getcurrentoffset()
94
95
97 return self.__field_GPStime.getvalue()
98
100 if isinstance(value,GPSDATE):
101 self.__field_GPStime=value
102 else:
103 self.__field_GPStime=GPSDATE(value,**{'sizeinbytes': 4})
104
106
107 GPStime=property(__getfield_GPStime, __setfield_GPStime, __delfield_GPStime, None)
108
111
113 if isinstance(value,UINT):
114 self.__field_unk0=value
115 else:
116 self.__field_unk0=UINT(value,**{'sizeinbytes': 4})
117
119
120 unk0=property(__getfield_unk0, __setfield_unk0, __delfield_unk0, None)
121
123 return self.__field_duration.getvalue()
124
126 if isinstance(value,UINT):
127 self.__field_duration=value
128 else:
129 self.__field_duration=UINT(value,**{'sizeinbytes': 4})
130
132
133 duration=property(__getfield_duration, __setfield_duration, __delfield_duration, None)
134
136 return self.__field_number.getvalue()
137
139 if isinstance(value,USTRING):
140 self.__field_number=value
141 else:
142 self.__field_number=USTRING(value,**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
143
145
146 number=property(__getfield_number, __setfield_number, __delfield_number, None)
147
150
152 if isinstance(value,USTRING):
153 self.__field_name=value
154 else:
155 self.__field_name=USTRING(value,**{'sizeinbytes': 36, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
156
158
159 name=property(__getfield_name, __setfield_name, __delfield_name, None)
160
162 return self.__field_numberlength.getvalue()
163
165 if isinstance(value,UINT):
166 self.__field_numberlength=value
167 else:
168 self.__field_numberlength=UINT(value,**{'sizeinbytes': 1})
169
171
172 numberlength=property(__getfield_numberlength, __setfield_numberlength, __delfield_numberlength, None)
173
175 return self.__field_status.getvalue()
176
178 if isinstance(value,UINT):
179 self.__field_status=value
180 else:
181 self.__field_status=UINT(value,**{'sizeinbytes': 1})
182
184
185 status=property(__getfield_status, __setfield_status, __delfield_status, None)
186
188 return self.__field_pbnumbertype.getvalue()
189
191 if isinstance(value,UINT):
192 self.__field_pbnumbertype=value
193 else:
194 self.__field_pbnumbertype=UINT(value,**{'sizeinbytes': 1})
195
197
198 pbnumbertype=property(__getfield_pbnumbertype, __setfield_pbnumbertype, __delfield_pbnumbertype, None)
199
202
204 if isinstance(value,UINT):
205 self.__field_unk1=value
206 else:
207 self.__field_unk1=UINT(value,**{'sizeinbytes': 4})
208
210
211 unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)
212
214 return self.__field_pbentrynum.getvalue()
215
216 - def __setfield_pbentrynum(self, value):
217 if isinstance(value,UINT):
218 self.__field_pbentrynum=value
219 else:
220 self.__field_pbentrynum=UINT(value,**{'sizeinbytes': 4})
221
222 - def __delfield_pbentrynum(self): del self.__field_pbentrynum
223
224 pbentrynum=property(__getfield_pbentrynum, __setfield_pbentrynum, __delfield_pbentrynum, None)
225
228
230 if isinstance(value,DATA):
231 self.__field_unk2=value
232 else:
233 self.__field_unk2=DATA(value,**{'sizeinbytes': 24})
234
236
237 unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)
238
241
243 yield ('GPStime', self.__field_GPStime, None)
244 yield ('unk0', self.__field_unk0, None)
245 yield ('duration', self.__field_duration, None)
246 yield ('number', self.__field_number, None)
247 yield ('name', self.__field_name, None)
248 yield ('numberlength', self.__field_numberlength, None)
249 yield ('status', self.__field_status, None)
250 yield ('pbnumbertype', self.__field_pbnumbertype, None)
251 yield ('unk1', self.__field_unk1, None)
252 yield ('pbentrynum', self.__field_pbentrynum, None)
253 yield ('unk2', self.__field_unk2, None)
254
255
256
257
258 -class callhistory(BaseProtogenClass):
259 __fields=['unk0', 'numcalls', 'unk1', 'calls']
260
261 - def __init__(self, *args, **kwargs):
262 dict={}
263
264 dict.update(kwargs)
265
266 super(callhistory,self).__init__(**dict)
267 if self.__class__ is callhistory:
268 self._update(args,dict)
269
270
271 - def getfields(self):
273
274
275 - def _update(self, args, kwargs):
276 super(callhistory,self)._update(args,kwargs)
277 keys=kwargs.keys()
278 for key in keys:
279 if key in self.__fields:
280 setattr(self, key, kwargs[key])
281 del kwargs[key]
282
283 if __debug__:
284 self._complainaboutunusedargs(callhistory,kwargs)
285 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
286
287
288
289 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
290 'Writes this packet to the supplied buffer'
291 self._bufferstartoffset=buf.getcurrentoffset()
292 self.__field_unk0.writetobuffer(buf)
293 self.__field_numcalls.writetobuffer(buf)
294 self.__field_unk1.writetobuffer(buf)
295 try: self.__field_calls
296 except:
297 self.__field_calls=LIST(**{'elementclass': call})
298 self.__field_calls.writetobuffer(buf)
299 self._bufferendoffset=buf.getcurrentoffset()
300 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
301
302
303 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
304 'Reads this packet from the supplied buffer'
305 self._bufferstartoffset=buf.getcurrentoffset()
306 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
307 self.__field_unk0=UINT(**{'sizeinbytes': 4, 'default': 0x00020000 })
308 self.__field_unk0.readfrombuffer(buf)
309 self.__field_numcalls=UINT(**{'sizeinbytes': 4})
310 self.__field_numcalls.readfrombuffer(buf)
311 self.__field_unk1=UINT(**{'sizeinbytes': 1})
312 self.__field_unk1.readfrombuffer(buf)
313 self.__field_calls=LIST(**{'elementclass': call})
314 self.__field_calls.readfrombuffer(buf)
315 self._bufferendoffset=buf.getcurrentoffset()
316
317
318 - def __getfield_unk0(self):
319 return self.__field_unk0.getvalue()
320
321 - def __setfield_unk0(self, value):
322 if isinstance(value,UINT):
323 self.__field_unk0=value
324 else:
325 self.__field_unk0=UINT(value,**{'sizeinbytes': 4, 'default': 0x00020000 })
326
327 - def __delfield_unk0(self): del self.__field_unk0
328
329 unk0=property(__getfield_unk0, __setfield_unk0, __delfield_unk0, None)
330
332 return self.__field_numcalls.getvalue()
333
334 - def __setfield_numcalls(self, value):
335 if isinstance(value,UINT):
336 self.__field_numcalls=value
337 else:
338 self.__field_numcalls=UINT(value,**{'sizeinbytes': 4})
339
340 - def __delfield_numcalls(self): del self.__field_numcalls
341
342 numcalls=property(__getfield_numcalls, __setfield_numcalls, __delfield_numcalls, None)
343
344 - def __getfield_unk1(self):
345 return self.__field_unk1.getvalue()
346
347 - def __setfield_unk1(self, value):
348 if isinstance(value,UINT):
349 self.__field_unk1=value
350 else:
351 self.__field_unk1=UINT(value,**{'sizeinbytes': 1})
352
353 - def __delfield_unk1(self): del self.__field_unk1
354
355 unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)
356
358 try: self.__field_calls
359 except:
360 self.__field_calls=LIST(**{'elementclass': call})
361 return self.__field_calls.getvalue()
362
363 - def __setfield_calls(self, value):
364 if isinstance(value,LIST):
365 self.__field_calls=value
366 else:
367 self.__field_calls=LIST(value,**{'elementclass': call})
368
369 - def __delfield_calls(self): del self.__field_calls
370
371 calls=property(__getfield_calls, __setfield_calls, __delfield_calls, None)
372
373 - def iscontainer(self):
375
377 yield ('unk0', self.__field_unk0, None)
378 yield ('numcalls', self.__field_numcalls, None)
379 yield ('unk1', self.__field_unk1, None)
380 yield ('calls', self.__field_calls, None)
381