Package phones ::
Module p_lglg6200
|
|
1
2
3 """Various descriptions of data specific to LG 6200 (Sprint)"""
4
5 import re
6
7 from prototypes import *
8 from prototypeslg import *
9
10
11 from p_lg import *
12
13 from p_lgpm225 import *
14
15
16
17 UINT=UINTlsb
18 BOOL=BOOLlsb
19
20 NUMSPEEDDIALS=99
21 FIRSTSPEEDDIAL=1
22 LASTSPEEDDIAL=99
23 NUMPHONEBOOKENTRIES=200
24 MEMOLENGTH=33
25
26 NORINGTONE=0
27 NOMSGRINGTONE=0
28 NOWALLPAPER=0
29
30 NUMEMAILS=3
31 NUMPHONENUMBERS=5
32
33 SMS_CANNED_MAX_ITEMS=40
34 SMS_CANNED_MAX_LENGTH=104
35 SMS_CANNED_FILENAME="sms/canned_msg.dat"
36 SMS_PATTERNS={'Inbox': re.compile(r"^.*/inbox[0-9][0-9][0-9]\.dat$"),
37 'Sent': re.compile(r"^.*/outbox[0-9][0-9][0-9]\.dat$"),
38 'Saved': re.compile(r"^.*/sf[0-9][0-9]\.dat$"),
39 }
40
41 numbertypetab=( 'cell', 'home', 'office', 'fax', 'pager' )
42
43
44 text_memo_file='sch/memo.dat'
45 content_file_name='ams/contentInfo'
46 content_count_file_name='ams/realContent'
47
48 media_directory='ams'
49 ringerindex='setas/amsRingerIndex.map'
50 imageindex='setas/amsImageIndex.map'
51 ringerconst=2
52 imageconst=3
53 max_ringers=100
54 max_images=100
55
56 phonebook_media='pim/pbookcontact.dat'
57
58
59 NUMCALENDARENTRIES=300
60 CAL_REP_NONE=0x10
61 CAL_REP_DAILY=0x11
62 CAL_REP_MONFRI=0x12
63 CAL_REP_WEEKLY=0x13
64 CAL_REP_MONTHLY=0x14
65 CAL_REP_YEARLY=0x15
66 CAL_DOW_SUN=0x0800
67 CAL_DOW_MON=0x0400
68 CAL_DOW_TUE=0x0200
69 CAL_DOW_WED=0x0100
70 CAL_DOW_THU=0x0080
71 CAL_DOW_FRI=0x0040
72 CAL_DOW_SAT=0x0020
73 CAL_DOW_EXCEPTIONS=0x0010
74 CAL_REMINDER_NONE=0
75 CAL_REMINDER_ONTIME=1
76 CAL_REMINDER_5MIN=2
77 CAL_REMINDER_10MIN=3
78 CAL_REMINDER_1HOUR=4
79 CAL_REMINDER_1DAY=5
80 CAL_REMINDER_2DAYS=6
81 CAL_REPEAT_DATE=(2100, 12, 31)
82
83 cal_dir='sch'
84 cal_data_file_name='sch/schedule.dat'
85 cal_exception_file_name='sch/schexception.dat'
86 cal_has_voice_id=False
87
88 PHONE_ENCODING='iso8859_1'
89
90 -class pbreadentryresponse(BaseProtogenClass):
91 "Results of reading one entry"
92 __fields=['header', 'entry']
93
94 - def __init__(self, *args, **kwargs):
95 dict={}
96
97 dict.update(kwargs)
98
99 super(pbreadentryresponse,self).__init__(**dict)
100 if self.__class__ is pbreadentryresponse:
101 self._update(args,dict)
102
103
104 - def getfields(self):
106
107
108 - def _update(self, args, kwargs):
109 super(pbreadentryresponse,self)._update(args,kwargs)
110 keys=kwargs.keys()
111 for key in keys:
112 if key in self.__fields:
113 setattr(self, key, kwargs[key])
114 del kwargs[key]
115
116 if __debug__:
117 self._complainaboutunusedargs(pbreadentryresponse,kwargs)
118 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
119
120
121
122 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
123 'Writes this packet to the supplied buffer'
124 self._bufferstartoffset=buf.getcurrentoffset()
125 self.__field_header.writetobuffer(buf)
126 self.__field_entry.writetobuffer(buf)
127 self._bufferendoffset=buf.getcurrentoffset()
128 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
129
130
131 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
132 'Reads this packet from the supplied buffer'
133 self._bufferstartoffset=buf.getcurrentoffset()
134 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
135 self.__field_header=pbheader()
136 self.__field_header.readfrombuffer(buf)
137 self.__field_entry=pbentry()
138 self.__field_entry.readfrombuffer(buf)
139 self._bufferendoffset=buf.getcurrentoffset()
140
141
143 return self.__field_header.getvalue()
144
146 if isinstance(value,pbheader):
147 self.__field_header=value
148 else:
149 self.__field_header=pbheader(value,)
150
152
153 header=property(__getfield_header, __setfield_header, __delfield_header, None)
154
156 return self.__field_entry.getvalue()
157
158 - def __setfield_entry(self, value):
159 if isinstance(value,pbentry):
160 self.__field_entry=value
161 else:
162 self.__field_entry=pbentry(value,)
163
164 - def __delfield_entry(self): del self.__field_entry
165
166 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
167
168 - def iscontainer(self):
170
172 yield ('header', self.__field_header, None)
173 yield ('entry', self.__field_entry, None)
174
175
176
177
178 -class pbupdateentryrequest(BaseProtogenClass):
179 __fields=['header', 'entry']
180
181 - def __init__(self, *args, **kwargs):
182 dict={}
183
184 dict.update(kwargs)
185
186 super(pbupdateentryrequest,self).__init__(**dict)
187 if self.__class__ is pbupdateentryrequest:
188 self._update(args,dict)
189
190
191 - def getfields(self):
193
194
195 - def _update(self, args, kwargs):
196 super(pbupdateentryrequest,self)._update(args,kwargs)
197 keys=kwargs.keys()
198 for key in keys:
199 if key in self.__fields:
200 setattr(self, key, kwargs[key])
201 del kwargs[key]
202
203 if __debug__:
204 self._complainaboutunusedargs(pbupdateentryrequest,kwargs)
205 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
206
207
208
209 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
210 'Writes this packet to the supplied buffer'
211 self._bufferstartoffset=buf.getcurrentoffset()
212 try: self.__field_header
213 except:
214 self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
215 self.__field_header.writetobuffer(buf)
216 self.__field_entry.writetobuffer(buf)
217 self._bufferendoffset=buf.getcurrentoffset()
218 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
219
220
221 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
222 'Reads this packet from the supplied buffer'
223 self._bufferstartoffset=buf.getcurrentoffset()
224 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
225 self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
226 self.__field_header.readfrombuffer(buf)
227 self.__field_entry=pbentry()
228 self.__field_entry.readfrombuffer(buf)
229 self._bufferendoffset=buf.getcurrentoffset()
230
231
233 try: self.__field_header
234 except:
235 self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
236 return self.__field_header.getvalue()
237
239 if isinstance(value,pbheader):
240 self.__field_header=value
241 else:
242 self.__field_header=pbheader(value,**{'command': 0x04, 'flag': 0x01})
243
245
246 header=property(__getfield_header, __setfield_header, __delfield_header, None)
247
249 return self.__field_entry.getvalue()
250
251 - def __setfield_entry(self, value):
252 if isinstance(value,pbentry):
253 self.__field_entry=value
254 else:
255 self.__field_entry=pbentry(value,)
256
257 - def __delfield_entry(self): del self.__field_entry
258
259 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
260
261 - def iscontainer(self):
263
265 yield ('header', self.__field_header, None)
266 yield ('entry', self.__field_entry, None)
267
268
269
270
271 -class pbappendentryrequest(BaseProtogenClass):
272 __fields=['header', 'entry']
273
274 - def __init__(self, *args, **kwargs):
275 dict={}
276
277 dict.update(kwargs)
278
279 super(pbappendentryrequest,self).__init__(**dict)
280 if self.__class__ is pbappendentryrequest:
281 self._update(args,dict)
282
283
284 - def getfields(self):
286
287
288 - def _update(self, args, kwargs):
289 super(pbappendentryrequest,self)._update(args,kwargs)
290 keys=kwargs.keys()
291 for key in keys:
292 if key in self.__fields:
293 setattr(self, key, kwargs[key])
294 del kwargs[key]
295
296 if __debug__:
297 self._complainaboutunusedargs(pbappendentryrequest,kwargs)
298 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
299
300
301
302 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
303 'Writes this packet to the supplied buffer'
304 self._bufferstartoffset=buf.getcurrentoffset()
305 try: self.__field_header
306 except:
307 self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
308 self.__field_header.writetobuffer(buf)
309 self.__field_entry.writetobuffer(buf)
310 self._bufferendoffset=buf.getcurrentoffset()
311 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
312
313
314 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
315 'Reads this packet from the supplied buffer'
316 self._bufferstartoffset=buf.getcurrentoffset()
317 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
318 self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
319 self.__field_header.readfrombuffer(buf)
320 self.__field_entry=pbentry()
321 self.__field_entry.readfrombuffer(buf)
322 self._bufferendoffset=buf.getcurrentoffset()
323
324
326 try: self.__field_header
327 except:
328 self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
329 return self.__field_header.getvalue()
330
332 if isinstance(value,pbheader):
333 self.__field_header=value
334 else:
335 self.__field_header=pbheader(value,**{'command': 0x03, 'flag': 0x01})
336
338
339 header=property(__getfield_header, __setfield_header, __delfield_header, None)
340
342 return self.__field_entry.getvalue()
343
344 - def __setfield_entry(self, value):
345 if isinstance(value,pbentry):
346 self.__field_entry=value
347 else:
348 self.__field_entry=pbentry(value,)
349
350 - def __delfield_entry(self): del self.__field_entry
351
352 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
353
354 - def iscontainer(self):
356
358 yield ('header', self.__field_header, None)
359 yield ('entry', self.__field_entry, None)
360
361
362
363
364 -class pbentry(BaseProtogenClass):
365 __fields=['serial1', 'entrysize', 'entrynumber', 'unknown1', 'name', 'group', 'unknown2', 'secret', 'memo', 'emails', 'url', 'numberspeeds', 'numbertypes', 'numbers', 'EndOfRecord', 'ringtone', 'wallpaper']
366
367 - def __init__(self, *args, **kwargs):
368 dict={}
369
370 dict.update(kwargs)
371
372 super(pbentry,self).__init__(**dict)
373 if self.__class__ is pbentry:
374 self._update(args,dict)
375
376
377 - def getfields(self):
379
380
381 - def _update(self, args, kwargs):
382 super(pbentry,self)._update(args,kwargs)
383 keys=kwargs.keys()
384 for key in keys:
385 if key in self.__fields:
386 setattr(self, key, kwargs[key])
387 del kwargs[key]
388
389 if __debug__:
390 self._complainaboutunusedargs(pbentry,kwargs)
391 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
392
393 try: self.__field_ringtone
394 except:
395 self.__field_ringtone=UINT(**{'default': 0x600})
396 try: self.__field_wallpaper
397 except:
398 self.__field_wallpaper=UINT(**{'default': 0x100})
399
400
401 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
402 'Writes this packet to the supplied buffer'
403 self._bufferstartoffset=buf.getcurrentoffset()
404 self.__field_serial1.writetobuffer(buf)
405 try: self.__field_entrysize
406 except:
407 self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x026e})
408 self.__field_entrysize.writetobuffer(buf)
409 self.__field_entrynumber.writetobuffer(buf)
410 try: self.__field_unknown1
411 except:
412 self.__field_unknown1=UINT(**{'sizeinbytes': 2, 'default': 0})
413 self.__field_unknown1.writetobuffer(buf)
414 self.__field_name.writetobuffer(buf)
415 self.__field_group.writetobuffer(buf)
416 try: self.__field_unknown2
417 except:
418 self.__field_unknown2=UINT(**{'sizeinbytes': 2, 'default': 0x10})
419 self.__field_unknown2.writetobuffer(buf)
420 self.__field_secret.writetobuffer(buf)
421 self.__field_memo.writetobuffer(buf)
422 try: self.__field_emails
423 except:
424 self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6200_129, 'length': NUMEMAILS})
425 self.__field_emails.writetobuffer(buf)
426 self.__field_url.writetobuffer(buf)
427 try: self.__field_numberspeeds
428 except:
429 self.__field_numberspeeds=LIST(**{'elementclass': _gen_p_lglg6200_132, 'length': NUMPHONENUMBERS})
430 self.__field_numberspeeds.writetobuffer(buf)
431 try: self.__field_numbertypes
432 except:
433 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6200_134, 'length': NUMPHONENUMBERS})
434 self.__field_numbertypes.writetobuffer(buf)
435 try: self.__field_numbers
436 except:
437 self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6200_136, 'length': NUMPHONENUMBERS})
438 self.__field_numbers.writetobuffer(buf)
439 try: self.__field_EndOfRecord
440 except:
441 self.__field_EndOfRecord=UINT(**{'sizeinbytes': 2, 'constant': 0x0278})
442 self.__field_EndOfRecord.writetobuffer(buf)
443 self._bufferendoffset=buf.getcurrentoffset()
444 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
445
446
447 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
448 'Reads this packet from the supplied buffer'
449 self._bufferstartoffset=buf.getcurrentoffset()
450 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
451 self.__field_serial1=UINT(**{'sizeinbytes': 4})
452 self.__field_serial1.readfrombuffer(buf)
453 self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x026e})
454 self.__field_entrysize.readfrombuffer(buf)
455 self.__field_entrynumber=UINT(**{'sizeinbytes': 2})
456 self.__field_entrynumber.readfrombuffer(buf)
457 self.__field_unknown1=UINT(**{'sizeinbytes': 2, 'default': 0})
458 self.__field_unknown1.readfrombuffer(buf)
459 self.__field_name=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
460 self.__field_name.readfrombuffer(buf)
461 self.__field_group=UINT(**{'sizeinbytes': 2})
462 self.__field_group.readfrombuffer(buf)
463 self.__field_unknown2=UINT(**{'sizeinbytes': 2, 'default': 0x10})
464 self.__field_unknown2.readfrombuffer(buf)
465 self.__field_secret=BOOL(**{'sizeinbytes': 1})
466 self.__field_secret.readfrombuffer(buf)
467 self.__field_memo=USTRING(**{'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'sizeinbytes': MEMOLENGTH})
468 self.__field_memo.readfrombuffer(buf)
469 self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6200_129, 'length': NUMEMAILS})
470 self.__field_emails.readfrombuffer(buf)
471 self.__field_url=USTRING(**{'sizeinbytes': 73, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
472 self.__field_url.readfrombuffer(buf)
473 self.__field_numberspeeds=LIST(**{'elementclass': _gen_p_lglg6200_132, 'length': NUMPHONENUMBERS})
474 self.__field_numberspeeds.readfrombuffer(buf)
475 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6200_134, 'length': NUMPHONENUMBERS})
476 self.__field_numbertypes.readfrombuffer(buf)
477 self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6200_136, 'length': NUMPHONENUMBERS})
478 self.__field_numbers.readfrombuffer(buf)
479 self.__field_EndOfRecord=UINT(**{'sizeinbytes': 2, 'constant': 0x0278})
480 self.__field_EndOfRecord.readfrombuffer(buf)
481 self._bufferendoffset=buf.getcurrentoffset()
482
483
485 return self.__field_serial1.getvalue()
486
487 - def __setfield_serial1(self, value):
488 if isinstance(value,UINT):
489 self.__field_serial1=value
490 else:
491 self.__field_serial1=UINT(value,**{'sizeinbytes': 4})
492
493 - def __delfield_serial1(self): del self.__field_serial1
494
495 serial1=property(__getfield_serial1, __setfield_serial1, __delfield_serial1, None)
496
498 try: self.__field_entrysize
499 except:
500 self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x026e})
501 return self.__field_entrysize.getvalue()
502
503 - def __setfield_entrysize(self, value):
504 if isinstance(value,UINT):
505 self.__field_entrysize=value
506 else:
507 self.__field_entrysize=UINT(value,**{'sizeinbytes': 2, 'constant': 0x026e})
508
509 - def __delfield_entrysize(self): del self.__field_entrysize
510
511 entrysize=property(__getfield_entrysize, __setfield_entrysize, __delfield_entrysize, None)
512
514 return self.__field_entrynumber.getvalue()
515
516 - def __setfield_entrynumber(self, value):
517 if isinstance(value,UINT):
518 self.__field_entrynumber=value
519 else:
520 self.__field_entrynumber=UINT(value,**{'sizeinbytes': 2})
521
522 - def __delfield_entrynumber(self): del self.__field_entrynumber
523
524 entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
525
527 try: self.__field_unknown1
528 except:
529 self.__field_unknown1=UINT(**{'sizeinbytes': 2, 'default': 0})
530 return self.__field_unknown1.getvalue()
531
532 - def __setfield_unknown1(self, value):
533 if isinstance(value,UINT):
534 self.__field_unknown1=value
535 else:
536 self.__field_unknown1=UINT(value,**{'sizeinbytes': 2, 'default': 0})
537
538 - def __delfield_unknown1(self): del self.__field_unknown1
539
540 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
541
542 - def __getfield_name(self):
543 return self.__field_name.getvalue()
544
545 - def __setfield_name(self, value):
546 if isinstance(value,USTRING):
547 self.__field_name=value
548 else:
549 self.__field_name=USTRING(value,**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
550
551 - def __delfield_name(self): del self.__field_name
552
553 name=property(__getfield_name, __setfield_name, __delfield_name, None)
554
556 return self.__field_group.getvalue()
557
558 - def __setfield_group(self, value):
559 if isinstance(value,UINT):
560 self.__field_group=value
561 else:
562 self.__field_group=UINT(value,**{'sizeinbytes': 2})
563
564 - def __delfield_group(self): del self.__field_group
565
566 group=property(__getfield_group, __setfield_group, __delfield_group, None)
567
569 try: self.__field_unknown2
570 except:
571 self.__field_unknown2=UINT(**{'sizeinbytes': 2, 'default': 0x10})
572 return self.__field_unknown2.getvalue()
573
574 - def __setfield_unknown2(self, value):
575 if isinstance(value,UINT):
576 self.__field_unknown2=value
577 else:
578 self.__field_unknown2=UINT(value,**{'sizeinbytes': 2, 'default': 0x10})
579
580 - def __delfield_unknown2(self): del self.__field_unknown2
581
582 unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
583
585 return self.__field_secret.getvalue()
586
587 - def __setfield_secret(self, value):
588 if isinstance(value,BOOL):
589 self.__field_secret=value
590 else:
591 self.__field_secret=BOOL(value,**{'sizeinbytes': 1})
592
593 - def __delfield_secret(self): del self.__field_secret
594
595 secret=property(__getfield_secret, __setfield_secret, __delfield_secret, None)
596
597 - def __getfield_memo(self):
598 return self.__field_memo.getvalue()
599
600 - def __setfield_memo(self, value):
601 if isinstance(value,USTRING):
602 self.__field_memo=value
603 else:
604 self.__field_memo=USTRING(value,**{'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'sizeinbytes': MEMOLENGTH})
605
606 - def __delfield_memo(self): del self.__field_memo
607
608 memo=property(__getfield_memo, __setfield_memo, __delfield_memo, None)
609
611 try: self.__field_emails
612 except:
613 self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6200_129, 'length': NUMEMAILS})
614 return self.__field_emails.getvalue()
615
616 - def __setfield_emails(self, value):
617 if isinstance(value,LIST):
618 self.__field_emails=value
619 else:
620 self.__field_emails=LIST(value,**{'elementclass': _gen_p_lglg6200_129, 'length': NUMEMAILS})
621
622 - def __delfield_emails(self): del self.__field_emails
623
624 emails=property(__getfield_emails, __setfield_emails, __delfield_emails, None)
625
626 - def __getfield_url(self):
627 return self.__field_url.getvalue()
628
629 - def __setfield_url(self, value):
630 if isinstance(value,USTRING):
631 self.__field_url=value
632 else:
633 self.__field_url=USTRING(value,**{'sizeinbytes': 73, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
634
635 - def __delfield_url(self): del self.__field_url
636
637 url=property(__getfield_url, __setfield_url, __delfield_url, None)
638
640 try: self.__field_numberspeeds
641 except:
642 self.__field_numberspeeds=LIST(**{'elementclass': _gen_p_lglg6200_132, 'length': NUMPHONENUMBERS})
643 return self.__field_numberspeeds.getvalue()
644
646 if isinstance(value,LIST):
647 self.__field_numberspeeds=value
648 else:
649 self.__field_numberspeeds=LIST(value,**{'elementclass': _gen_p_lglg6200_132, 'length': NUMPHONENUMBERS})
650
651 - def __delfield_numberspeeds(self): del self.__field_numberspeeds
652
653 numberspeeds=property(__getfield_numberspeeds, __setfield_numberspeeds, __delfield_numberspeeds, None)
654
656 try: self.__field_numbertypes
657 except:
658 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6200_134, 'length': NUMPHONENUMBERS})
659 return self.__field_numbertypes.getvalue()
660
661 - def __setfield_numbertypes(self, value):
662 if isinstance(value,LIST):
663 self.__field_numbertypes=value
664 else:
665 self.__field_numbertypes=LIST(value,**{'elementclass': _gen_p_lglg6200_134, 'length': NUMPHONENUMBERS})
666
667 - def __delfield_numbertypes(self): del self.__field_numbertypes
668
669 numbertypes=property(__getfield_numbertypes, __setfield_numbertypes, __delfield_numbertypes, None)
670
672 try: self.__field_numbers
673 except:
674 self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6200_136, 'length': NUMPHONENUMBERS})
675 return self.__field_numbers.getvalue()
676
677 - def __setfield_numbers(self, value):
678 if isinstance(value,LIST):
679 self.__field_numbers=value
680 else:
681 self.__field_numbers=LIST(value,**{'elementclass': _gen_p_lglg6200_136, 'length': NUMPHONENUMBERS})
682
683 - def __delfield_numbers(self): del self.__field_numbers
684
685 numbers=property(__getfield_numbers, __setfield_numbers, __delfield_numbers, None)
686
688 try: self.__field_EndOfRecord
689 except:
690 self.__field_EndOfRecord=UINT(**{'sizeinbytes': 2, 'constant': 0x0278})
691 return self.__field_EndOfRecord.getvalue()
692
693 - def __setfield_EndOfRecord(self, value):
694 if isinstance(value,UINT):
695 self.__field_EndOfRecord=value
696 else:
697 self.__field_EndOfRecord=UINT(value,**{'sizeinbytes': 2, 'constant': 0x0278})
698
699 - def __delfield_EndOfRecord(self): del self.__field_EndOfRecord
700
701 EndOfRecord=property(__getfield_EndOfRecord, __setfield_EndOfRecord, __delfield_EndOfRecord, None)
702
704 try: self.__field_ringtone
705 except:
706 self.__field_ringtone=UINT(**{'default': 0x600})
707 return self.__field_ringtone.getvalue()
708
709 - def __setfield_ringtone(self, value):
710 if isinstance(value,UINT):
711 self.__field_ringtone=value
712 else:
713 self.__field_ringtone=UINT(value,**{'default': 0x600})
714
715 - def __delfield_ringtone(self): del self.__field_ringtone
716
717 ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None)
718
720 try: self.__field_wallpaper
721 except:
722 self.__field_wallpaper=UINT(**{'default': 0x100})
723 return self.__field_wallpaper.getvalue()
724
725 - def __setfield_wallpaper(self, value):
726 if isinstance(value,UINT):
727 self.__field_wallpaper=value
728 else:
729 self.__field_wallpaper=UINT(value,**{'default': 0x100})
730
731 - def __delfield_wallpaper(self): del self.__field_wallpaper
732
733 wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None)
734
735 - def iscontainer(self):
737
739 yield ('serial1', self.__field_serial1, None)
740 yield ('entrysize', self.__field_entrysize, None)
741 yield ('entrynumber', self.__field_entrynumber, None)
742 yield ('unknown1', self.__field_unknown1, None)
743 yield ('name', self.__field_name, None)
744 yield ('group', self.__field_group, None)
745 yield ('unknown2', self.__field_unknown2, None)
746 yield ('secret', self.__field_secret, None)
747 yield ('memo', self.__field_memo, None)
748 yield ('emails', self.__field_emails, None)
749 yield ('url', self.__field_url, None)
750 yield ('numberspeeds', self.__field_numberspeeds, None)
751 yield ('numbertypes', self.__field_numbertypes, None)
752 yield ('numbers', self.__field_numbers, None)
753 yield ('EndOfRecord', self.__field_EndOfRecord, None)
754 yield ('ringtone', self.__field_ringtone, None)
755 yield ('wallpaper', self.__field_wallpaper, None)
756
757
758
759
761 'Anonymous inner class'
762 __fields=['email']
763
772
773
776
777
793
794
795
796 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
802
803
805 'Reads this packet from the supplied buffer'
806 self._bufferstartoffset=buf.getcurrentoffset()
807 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
808 self.__field_email=USTRING(**{'sizeinbytes': 73, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
809 self.__field_email.readfrombuffer(buf)
810 self._bufferendoffset=buf.getcurrentoffset()
811
812
814 return self.__field_email.getvalue()
815
817 if isinstance(value,USTRING):
818 self.__field_email=value
819 else:
820 self.__field_email=USTRING(value,**{'sizeinbytes': 73, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
821
823
824 email=property(__getfield_email, __setfield_email, __delfield_email, None)
825
828
830 yield ('email', self.__field_email, None)
831
832
833
834
836 'Anonymous inner class'
837 __fields=['numberspeed']
838
847
848
851
852
868
869
870
871 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
877
878
880 'Reads this packet from the supplied buffer'
881 self._bufferstartoffset=buf.getcurrentoffset()
882 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
883 self.__field_numberspeed=UINT(**{'sizeinbytes': 1})
884 self.__field_numberspeed.readfrombuffer(buf)
885 self._bufferendoffset=buf.getcurrentoffset()
886
887
889 return self.__field_numberspeed.getvalue()
890
892 if isinstance(value,UINT):
893 self.__field_numberspeed=value
894 else:
895 self.__field_numberspeed=UINT(value,**{'sizeinbytes': 1})
896
898
899 numberspeed=property(__getfield_numberspeed, __setfield_numberspeed, __delfield_numberspeed, None)
900
903
905 yield ('numberspeed', self.__field_numberspeed, None)
906
907
908
909
911 'Anonymous inner class'
912 __fields=['numbertype']
913
922
923
926
927
943
944
945
946 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
952
953
955 'Reads this packet from the supplied buffer'
956 self._bufferstartoffset=buf.getcurrentoffset()
957 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
958 self.__field_numbertype=UINT(**{'sizeinbytes': 1})
959 self.__field_numbertype.readfrombuffer(buf)
960 self._bufferendoffset=buf.getcurrentoffset()
961
962
964 return self.__field_numbertype.getvalue()
965
967 if isinstance(value,UINT):
968 self.__field_numbertype=value
969 else:
970 self.__field_numbertype=UINT(value,**{'sizeinbytes': 1})
971
973
974 numbertype=property(__getfield_numbertype, __setfield_numbertype, __delfield_numbertype, None)
975
978
980 yield ('numbertype', self.__field_numbertype, None)
981
982
983
984
986 'Anonymous inner class'
987 __fields=['number']
988
997
998
1001
1002
1018
1019
1020
1021 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1027
1028
1030 'Reads this packet from the supplied buffer'
1031 self._bufferstartoffset=buf.getcurrentoffset()
1032 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1033 self.__field_number=USTRING(**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1034 self.__field_number.readfrombuffer(buf)
1035 self._bufferendoffset=buf.getcurrentoffset()
1036
1037
1039 return self.__field_number.getvalue()
1040
1042 if isinstance(value,USTRING):
1043 self.__field_number=value
1044 else:
1045 self.__field_number=USTRING(value,**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1046
1048
1049 number=property(__getfield_number, __setfield_number, __delfield_number, None)
1050
1053
1055 yield ('number', self.__field_number, None)
1056
1057
1058
1059
1061 "A single group"
1062 __fields=['group_id', 'rectype', 'unknown2', 'unknown3', 'name']
1063
1072
1073
1076
1077
1089
1090
1091
1092 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1093 'Writes this packet to the supplied buffer'
1094 self._bufferstartoffset=buf.getcurrentoffset()
1095 self.__field_group_id.writetobuffer(buf)
1096 self.__field_rectype.writetobuffer(buf)
1097 try: self.__field_unknown2
1098 except:
1099 self.__field_unknown2=UNKNOWN(**{'sizeinbytes': 3})
1100 self.__field_unknown2.writetobuffer(buf)
1101 try: self.__field_unknown3
1102 except:
1103 self.__field_unknown3=UNKNOWN(**{'sizeinbytes': 3})
1104 self.__field_unknown3.writetobuffer(buf)
1105 self.__field_name.writetobuffer(buf)
1106 self._bufferendoffset=buf.getcurrentoffset()
1107 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1108
1109
1111 'Reads this packet from the supplied buffer'
1112 self._bufferstartoffset=buf.getcurrentoffset()
1113 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1114 self.__field_group_id=UINT(**{'sizeinbytes': 1})
1115 self.__field_group_id.readfrombuffer(buf)
1116 self.__field_rectype=UINT(**{'sizeinbytes': 1})
1117 self.__field_rectype.readfrombuffer(buf)
1118 self.__field_unknown2=UNKNOWN(**{'sizeinbytes': 3})
1119 self.__field_unknown2.readfrombuffer(buf)
1120 self.__field_unknown3=UNKNOWN(**{'sizeinbytes': 3})
1121 self.__field_unknown3.readfrombuffer(buf)
1122 self.__field_name=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
1123 self.__field_name.readfrombuffer(buf)
1124 self._bufferendoffset=buf.getcurrentoffset()
1125
1126
1128 return self.__field_group_id.getvalue()
1129
1131 if isinstance(value,UINT):
1132 self.__field_group_id=value
1133 else:
1134 self.__field_group_id=UINT(value,**{'sizeinbytes': 1})
1135
1137
1138 group_id=property(__getfield_group_id, __setfield_group_id, __delfield_group_id, None)
1139
1141 return self.__field_rectype.getvalue()
1142
1144 if isinstance(value,UINT):
1145 self.__field_rectype=value
1146 else:
1147 self.__field_rectype=UINT(value,**{'sizeinbytes': 1})
1148
1150
1151 rectype=property(__getfield_rectype, __setfield_rectype, __delfield_rectype, None)
1152
1154 try: self.__field_unknown2
1155 except:
1156 self.__field_unknown2=UNKNOWN(**{'sizeinbytes': 3})
1157 return self.__field_unknown2.getvalue()
1158
1160 if isinstance(value,UNKNOWN):
1161 self.__field_unknown2=value
1162 else:
1163 self.__field_unknown2=UNKNOWN(value,**{'sizeinbytes': 3})
1164
1166
1167 unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
1168
1170 try: self.__field_unknown3
1171 except:
1172 self.__field_unknown3=UNKNOWN(**{'sizeinbytes': 3})
1173 return self.__field_unknown3.getvalue()
1174
1176 if isinstance(value,UNKNOWN):
1177 self.__field_unknown3=value
1178 else:
1179 self.__field_unknown3=UNKNOWN(value,**{'sizeinbytes': 3})
1180
1182
1183 unknown3=property(__getfield_unknown3, __setfield_unknown3, __delfield_unknown3, None)
1184
1186 return self.__field_name.getvalue()
1187
1189 if isinstance(value,USTRING):
1190 self.__field_name=value
1191 else:
1192 self.__field_name=USTRING(value,**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
1193
1195
1196 name=property(__getfield_name, __setfield_name, __delfield_name, None)
1197
1200
1202 yield ('group_id', self.__field_group_id, None)
1203 yield ('rectype', self.__field_rectype, None)
1204 yield ('unknown2', self.__field_unknown2, None)
1205 yield ('unknown3', self.__field_unknown3, None)
1206 yield ('name', self.__field_name, None)
1207
1208
1209
1210
1212 "Phonebook groups"
1213 __fields=['groups']
1214
1223
1224
1227
1228
1244
1245
1246
1247 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1248 'Writes this packet to the supplied buffer'
1249 self._bufferstartoffset=buf.getcurrentoffset()
1250 try: self.__field_groups
1251 except:
1252 self.__field_groups=LIST(**{'elementclass': pbgroup})
1253 self.__field_groups.writetobuffer(buf)
1254 self._bufferendoffset=buf.getcurrentoffset()
1255 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1256
1257
1259 'Reads this packet from the supplied buffer'
1260 self._bufferstartoffset=buf.getcurrentoffset()
1261 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1262 self.__field_groups=LIST(**{'elementclass': pbgroup})
1263 self.__field_groups.readfrombuffer(buf)
1264 self._bufferendoffset=buf.getcurrentoffset()
1265
1266
1268 try: self.__field_groups
1269 except:
1270 self.__field_groups=LIST(**{'elementclass': pbgroup})
1271 return self.__field_groups.getvalue()
1272
1274 if isinstance(value,LIST):
1275 self.__field_groups=value
1276 else:
1277 self.__field_groups=LIST(value,**{'elementclass': pbgroup})
1278
1280
1281 groups=property(__getfield_groups, __setfield_groups, __delfield_groups, None)
1282
1285
1287 yield ('groups', self.__field_groups, None)
1288
1289
1290
1291
1293 """Reads the wallpaper/ringer info for each
1294 contact on the phone"""
1295 __fields=['index', 'dont_care1', 'ringer', 'name', 'dont_care2', 'wallpaper', 'dont_care3']
1296
1305
1306
1309
1310
1322
1323
1324
1325 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1337
1338
1340 'Reads this packet from the supplied buffer'
1341 self._bufferstartoffset=buf.getcurrentoffset()
1342 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1343 self.__field_index=UINT(**{'sizeinbytes': 2})
1344 self.__field_index.readfrombuffer(buf)
1345 self.__field_dont_care1=DATA(**{'sizeinbytes': 18})
1346 self.__field_dont_care1.readfrombuffer(buf)
1347 self.__field_ringer=UINT(**{'sizeinbytes': 2})
1348 self.__field_ringer.readfrombuffer(buf)
1349 self.__field_name=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING})
1350 self.__field_name.readfrombuffer(buf)
1351 self.__field_dont_care2=DATA(**{'sizeinbytes': 182})
1352 self.__field_dont_care2.readfrombuffer(buf)
1353 self.__field_wallpaper=UINT(**{'sizeinbytes': 2})
1354 self.__field_wallpaper.readfrombuffer(buf)
1355 self.__field_dont_care3=DATA(**{'sizeinbytes': 4})
1356 self.__field_dont_care3.readfrombuffer(buf)
1357 self._bufferendoffset=buf.getcurrentoffset()
1358
1359
1361 return self.__field_index.getvalue()
1362
1364 if isinstance(value,UINT):
1365 self.__field_index=value
1366 else:
1367 self.__field_index=UINT(value,**{'sizeinbytes': 2})
1368
1370
1371 index=property(__getfield_index, __setfield_index, __delfield_index, None)
1372
1374 return self.__field_dont_care1.getvalue()
1375
1377 if isinstance(value,DATA):
1378 self.__field_dont_care1=value
1379 else:
1380 self.__field_dont_care1=DATA(value,**{'sizeinbytes': 18})
1381
1383
1384 dont_care1=property(__getfield_dont_care1, __setfield_dont_care1, __delfield_dont_care1, None)
1385
1387 return self.__field_ringer.getvalue()
1388
1390 if isinstance(value,UINT):
1391 self.__field_ringer=value
1392 else:
1393 self.__field_ringer=UINT(value,**{'sizeinbytes': 2})
1394
1396
1397 ringer=property(__getfield_ringer, __setfield_ringer, __delfield_ringer, None)
1398
1400 return self.__field_name.getvalue()
1401
1403 if isinstance(value,USTRING):
1404 self.__field_name=value
1405 else:
1406 self.__field_name=USTRING(value,**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING})
1407
1409
1410 name=property(__getfield_name, __setfield_name, __delfield_name, None)
1411
1413 return self.__field_dont_care2.getvalue()
1414
1416 if isinstance(value,DATA):
1417 self.__field_dont_care2=value
1418 else:
1419 self.__field_dont_care2=DATA(value,**{'sizeinbytes': 182})
1420
1422
1423 dont_care2=property(__getfield_dont_care2, __setfield_dont_care2, __delfield_dont_care2, None)
1424
1426 return self.__field_wallpaper.getvalue()
1427
1429 if isinstance(value,UINT):
1430 self.__field_wallpaper=value
1431 else:
1432 self.__field_wallpaper=UINT(value,**{'sizeinbytes': 2})
1433
1435
1436 wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None)
1437
1439 return self.__field_dont_care3.getvalue()
1440
1442 if isinstance(value,DATA):
1443 self.__field_dont_care3=value
1444 else:
1445 self.__field_dont_care3=DATA(value,**{'sizeinbytes': 4})
1446
1448
1449 dont_care3=property(__getfield_dont_care3, __setfield_dont_care3, __delfield_dont_care3, None)
1450
1453
1455 yield ('index', self.__field_index, None)
1456 yield ('dont_care1', self.__field_dont_care1, None)
1457 yield ('ringer', self.__field_ringer, None)
1458 yield ('name', self.__field_name, None)
1459 yield ('dont_care2', self.__field_dont_care2, None)
1460 yield ('wallpaper', self.__field_wallpaper, None)
1461 yield ('dont_care3', self.__field_dont_care3, None)
1462
1463
1464
1465
1542
1543
1544
1545
1546 -class indexentry(BaseProtogenClass):
1547 __fields=['index', 'const', 'name']
1548
1549 - def __init__(self, *args, **kwargs):
1550 dict={}
1551
1552 dict.update(kwargs)
1553
1554 super(indexentry,self).__init__(**dict)
1555 if self.__class__ is indexentry:
1556 self._update(args,dict)
1557
1558
1559 - def getfields(self):
1560 return self.__fields
1561
1562
1563 - def _update(self, args, kwargs):
1564 super(indexentry,self)._update(args,kwargs)
1565 keys=kwargs.keys()
1566 for key in keys:
1567 if key in self.__fields:
1568 setattr(self, key, kwargs[key])
1569 del kwargs[key]
1570
1571 if __debug__:
1572 self._complainaboutunusedargs(indexentry,kwargs)
1573 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1574
1575
1576
1577 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1578 'Writes this packet to the supplied buffer'
1579 self._bufferstartoffset=buf.getcurrentoffset()
1580 self.__field_index.writetobuffer(buf)
1581 self.__field_const.writetobuffer(buf)
1582 try: self.__field_name
1583 except:
1584 self.__field_name=USTRING(**{'sizeinbytes': 80, 'default': ""})
1585 self.__field_name.writetobuffer(buf)
1586 self._bufferendoffset=buf.getcurrentoffset()
1587 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1588
1589
1590 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1591 'Reads this packet from the supplied buffer'
1592 self._bufferstartoffset=buf.getcurrentoffset()
1593 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1594 self.__field_index=UINT(**{'sizeinbytes': 1})
1595 self.__field_index.readfrombuffer(buf)
1596 self.__field_const=UINT(**{'sizeinbytes': 1})
1597 self.__field_const.readfrombuffer(buf)
1598 self.__field_name=USTRING(**{'sizeinbytes': 80, 'default': ""})
1599 self.__field_name.readfrombuffer(buf)
1600 self._bufferendoffset=buf.getcurrentoffset()
1601
1602
1603 - def __getfield_index(self):
1604 return self.__field_index.getvalue()
1605
1606 - def __setfield_index(self, value):
1607 if isinstance(value,UINT):
1608 self.__field_index=value
1609 else:
1610 self.__field_index=UINT(value,**{'sizeinbytes': 1})
1611
1612 - def __delfield_index(self): del self.__field_index
1613
1614 index=property(__getfield_index, __setfield_index, __delfield_index, None)
1615
1616 - def __getfield_const(self):
1617 return self.__field_const.getvalue()
1618
1619 - def __setfield_const(self, value):
1620 if isinstance(value,UINT):
1621 self.__field_const=value
1622 else:
1623 self.__field_const=UINT(value,**{'sizeinbytes': 1})
1624
1625 - def __delfield_const(self): del self.__field_const
1626
1627 const=property(__getfield_const, __setfield_const, __delfield_const, None)
1628
1629 - def __getfield_name(self):
1630 try: self.__field_name
1631 except:
1632 self.__field_name=USTRING(**{'sizeinbytes': 80, 'default': ""})
1633 return self.__field_name.getvalue()
1634
1635 - def __setfield_name(self, value):
1636 if isinstance(value,USTRING):
1637 self.__field_name=value
1638 else:
1639 self.__field_name=USTRING(value,**{'sizeinbytes': 80, 'default': ""})
1640
1641 - def __delfield_name(self): del self.__field_name
1642
1643 name=property(__getfield_name, __setfield_name, __delfield_name, None)
1644
1645 - def iscontainer(self):
1647
1649 yield ('index', self.__field_index, None)
1650 yield ('const', self.__field_const, None)
1651 yield ('name', self.__field_name, None)
1652
1653
1654
1655
1657 "Used for tracking wallpaper and ringtones"
1658 __fields=['numactiveitems', 'items']
1659
1668
1669
1672
1673
1685
1686
1687
1688 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1689 'Writes this packet to the supplied buffer'
1690 self._bufferstartoffset=buf.getcurrentoffset()
1691 self.__field_numactiveitems.writetobuffer(buf)
1692 try: self.__field_items
1693 except:
1694 self.__field_items=LIST(**{'elementclass': indexentry, 'createdefault': True})
1695 self.__field_items.writetobuffer(buf)
1696 self._bufferendoffset=buf.getcurrentoffset()
1697 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1698
1699
1701 'Reads this packet from the supplied buffer'
1702 self._bufferstartoffset=buf.getcurrentoffset()
1703 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1704 self.__field_numactiveitems=UINT(**{'sizeinbytes': 2})
1705 self.__field_numactiveitems.readfrombuffer(buf)
1706 self.__field_items=LIST(**{'elementclass': indexentry, 'createdefault': True})
1707 self.__field_items.readfrombuffer(buf)
1708 self._bufferendoffset=buf.getcurrentoffset()
1709
1710
1712 return self.__field_numactiveitems.getvalue()
1713
1715 if isinstance(value,UINT):
1716 self.__field_numactiveitems=value
1717 else:
1718 self.__field_numactiveitems=UINT(value,**{'sizeinbytes': 2})
1719
1721
1722 numactiveitems=property(__getfield_numactiveitems, __setfield_numactiveitems, __delfield_numactiveitems, None)
1723
1725 try: self.__field_items
1726 except:
1727 self.__field_items=LIST(**{'elementclass': indexentry, 'createdefault': True})
1728 return self.__field_items.getvalue()
1729
1731 if isinstance(value,LIST):
1732 self.__field_items=value
1733 else:
1734 self.__field_items=LIST(value,**{'elementclass': indexentry, 'createdefault': True})
1735
1737
1738 items=property(__getfield_items, __setfield_items, __delfield_items, None)
1739
1742
1744 yield ('numactiveitems', self.__field_numactiveitems, None)
1745 yield ('items', self.__field_items, None)
1746
1747
1748
1749
1750 -class content_entry(BaseProtogenClass):
1751 __fields=['type', 'index1', 'name1', 'unknown1', 'unknown2', 'mime_type', 'content_type', 'url', 'unknown_int1', 'unknown3', 'unknown_int2', 'unknown4', 'unknown5', 'size', 'location_maybe', 'index2', 'name2', 'unknown6']
1752
1753 - def __init__(self, *args, **kwargs):
1754 dict={}
1755
1756 dict.update(kwargs)
1757
1758 super(content_entry,self).__init__(**dict)
1759 if self.__class__ is content_entry:
1760 self._update(args,dict)
1761
1762
1763 - def getfields(self):
1764 return self.__fields
1765
1766
1767 - def _update(self, args, kwargs):
1768 super(content_entry,self)._update(args,kwargs)
1769 keys=kwargs.keys()
1770 for key in keys:
1771 if key in self.__fields:
1772 setattr(self, key, kwargs[key])
1773 del kwargs[key]
1774
1775 if __debug__:
1776 self._complainaboutunusedargs(content_entry,kwargs)
1777 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1778
1779
1780
1781 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1782 'Writes this packet to the supplied buffer'
1783 self._bufferstartoffset=buf.getcurrentoffset()
1784 self.__field_type.writetobuffer(buf)
1785 if self.type=='!C':
1786 self.__field_index1.writetobuffer(buf)
1787 self.__field_name1.writetobuffer(buf)
1788 try: self.__field_unknown1
1789 except:
1790 self.__field_unknown1=USTRING(**{'terminator': 0xA, 'default': '-1'})
1791 self.__field_unknown1.writetobuffer(buf)
1792 try: self.__field_unknown2
1793 except:
1794 self.__field_unknown2=UINT(**{'sizeinbytes': 8, 'default' :0})
1795 self.__field_unknown2.writetobuffer(buf)
1796 self.__field_mime_type.writetobuffer(buf)
1797 self.__field_content_type.writetobuffer(buf)
1798 try: self.__field_url
1799 except:
1800 self.__field_url=USTRING(**{'terminator': 0xA, 'default':'bitpim.org'})
1801 self.__field_url.writetobuffer(buf)
1802 try: self.__field_unknown_int1
1803 except:
1804 self.__field_unknown_int1=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
1805 self.__field_unknown_int1.writetobuffer(buf)
1806 try: self.__field_unknown3
1807 except:
1808 self.__field_unknown3=USTRING(**{'terminator': 0xA, 'default':''})
1809 self.__field_unknown3.writetobuffer(buf)
1810 try: self.__field_unknown_int2
1811 except:
1812 self.__field_unknown_int2=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
1813 self.__field_unknown_int2.writetobuffer(buf)
1814 try: self.__field_unknown4
1815 except:
1816 self.__field_unknown4=USTRING(**{'terminator': 0xA, 'default':''})
1817 self.__field_unknown4.writetobuffer(buf)
1818 try: self.__field_unknown5
1819 except:
1820 self.__field_unknown5=USTRING(**{'terminator': 0xA, 'default':'0'})
1821 self.__field_unknown5.writetobuffer(buf)
1822 self.__field_size.writetobuffer(buf)
1823 if self.type=='!E':
1824 try: self.__field_location_maybe
1825 except:
1826 self.__field_location_maybe=USTRING(**{'terminator': 0xA, 'default':'ams:'})
1827 self.__field_location_maybe.writetobuffer(buf)
1828 self.__field_index2.writetobuffer(buf)
1829 self.__field_name2.writetobuffer(buf)
1830 try: self.__field_unknown6
1831 except:
1832 self.__field_unknown6=USTRING(**{'terminator': 0xA, 'default':''})
1833 self.__field_unknown6.writetobuffer(buf)
1834 self._bufferendoffset=buf.getcurrentoffset()
1835 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1836
1837
1838 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1839 'Reads this packet from the supplied buffer'
1840 self._bufferstartoffset=buf.getcurrentoffset()
1841 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1842 self.__field_type=USTRING(**{'sizeinbytes': 3, 'terminator': 0xA})
1843 self.__field_type.readfrombuffer(buf)
1844 if self.type=='!C':
1845 self.__field_index1=USTRING(**{'terminator': 0xA})
1846 self.__field_index1.readfrombuffer(buf)
1847 self.__field_name1=USTRING(**{'terminator': 0xA})
1848 self.__field_name1.readfrombuffer(buf)
1849 self.__field_unknown1=USTRING(**{'terminator': 0xA, 'default': '-1'})
1850 self.__field_unknown1.readfrombuffer(buf)
1851 self.__field_unknown2=UINT(**{'sizeinbytes': 8, 'default' :0})
1852 self.__field_unknown2.readfrombuffer(buf)
1853 self.__field_mime_type=USTRING(**{'terminator': 0xA})
1854 self.__field_mime_type.readfrombuffer(buf)
1855 self.__field_content_type=USTRING(**{'terminator': 0xA})
1856 self.__field_content_type.readfrombuffer(buf)
1857 self.__field_url=USTRING(**{'terminator': 0xA, 'default':'bitpim.org'})
1858 self.__field_url.readfrombuffer(buf)
1859 self.__field_unknown_int1=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
1860 self.__field_unknown_int1.readfrombuffer(buf)
1861 self.__field_unknown3=USTRING(**{'terminator': 0xA, 'default':''})
1862 self.__field_unknown3.readfrombuffer(buf)
1863 self.__field_unknown_int2=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
1864 self.__field_unknown_int2.readfrombuffer(buf)
1865 self.__field_unknown4=USTRING(**{'terminator': 0xA, 'default':''})
1866 self.__field_unknown4.readfrombuffer(buf)
1867 self.__field_unknown5=USTRING(**{'terminator': 0xA, 'default':'0'})
1868 self.__field_unknown5.readfrombuffer(buf)
1869 self.__field_size=USTRING(**{'terminator': 0xA})
1870 self.__field_size.readfrombuffer(buf)
1871 if self.type=='!E':
1872 self.__field_location_maybe=USTRING(**{'terminator': 0xA, 'default':'ams:'})
1873 self.__field_location_maybe.readfrombuffer(buf)
1874 self.__field_index2=USTRING(**{'terminator': 0xA})
1875 self.__field_index2.readfrombuffer(buf)
1876 self.__field_name2=USTRING(**{'terminator': 0xA})
1877 self.__field_name2.readfrombuffer(buf)
1878 self.__field_unknown6=USTRING(**{'terminator': 0xA, 'default':''})
1879 self.__field_unknown6.readfrombuffer(buf)
1880 self._bufferendoffset=buf.getcurrentoffset()
1881
1882
1883 - def __getfield_type(self):
1884 return self.__field_type.getvalue()
1885
1886 - def __setfield_type(self, value):
1887 if isinstance(value,USTRING):
1888 self.__field_type=value
1889 else:
1890 self.__field_type=USTRING(value,**{'sizeinbytes': 3, 'terminator': 0xA})
1891
1892 - def __delfield_type(self): del self.__field_type
1893
1894 type=property(__getfield_type, __setfield_type, __delfield_type, None)
1895
1897 return self.__field_index1.getvalue()
1898
1899 - def __setfield_index1(self, value):
1900 if isinstance(value,USTRING):
1901 self.__field_index1=value
1902 else:
1903 self.__field_index1=USTRING(value,**{'terminator': 0xA})
1904
1905 - def __delfield_index1(self): del self.__field_index1
1906
1907 index1=property(__getfield_index1, __setfield_index1, __delfield_index1, None)
1908
1909 - def __getfield_name1(self):
1910 return self.__field_name1.getvalue()
1911
1912 - def __setfield_name1(self, value):
1913 if isinstance(value,USTRING):
1914 self.__field_name1=value
1915 else:
1916 self.__field_name1=USTRING(value,**{'terminator': 0xA})
1917
1918 - def __delfield_name1(self): del self.__field_name1
1919
1920 name1=property(__getfield_name1, __setfield_name1, __delfield_name1, None)
1921
1923 try: self.__field_unknown1
1924 except:
1925 self.__field_unknown1=USTRING(**{'terminator': 0xA, 'default': '-1'})
1926 return self.__field_unknown1.getvalue()
1927
1928 - def __setfield_unknown1(self, value):
1929 if isinstance(value,USTRING):
1930 self.__field_unknown1=value
1931 else:
1932 self.__field_unknown1=USTRING(value,**{'terminator': 0xA, 'default': '-1'})
1933
1934 - def __delfield_unknown1(self): del self.__field_unknown1
1935
1936 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
1937
1939 try: self.__field_unknown2
1940 except:
1941 self.__field_unknown2=UINT(**{'sizeinbytes': 8, 'default' :0})
1942 return self.__field_unknown2.getvalue()
1943
1944 - def __setfield_unknown2(self, value):
1945 if isinstance(value,UINT):
1946 self.__field_unknown2=value
1947 else:
1948 self.__field_unknown2=UINT(value,**{'sizeinbytes': 8, 'default' :0})
1949
1950 - def __delfield_unknown2(self): del self.__field_unknown2
1951
1952 unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
1953
1955 return self.__field_mime_type.getvalue()
1956
1957 - def __setfield_mime_type(self, value):
1958 if isinstance(value,USTRING):
1959 self.__field_mime_type=value
1960 else:
1961 self.__field_mime_type=USTRING(value,**{'terminator': 0xA})
1962
1963 - def __delfield_mime_type(self): del self.__field_mime_type
1964
1965 mime_type=property(__getfield_mime_type, __setfield_mime_type, __delfield_mime_type, None)
1966
1968 return self.__field_content_type.getvalue()
1969
1970 - def __setfield_content_type(self, value):
1971 if isinstance(value,USTRING):
1972 self.__field_content_type=value
1973 else:
1974 self.__field_content_type=USTRING(value,**{'terminator': 0xA})
1975
1976 - def __delfield_content_type(self): del self.__field_content_type
1977
1978 content_type=property(__getfield_content_type, __setfield_content_type, __delfield_content_type, None)
1979
1980 - def __getfield_url(self):
1981 try: self.__field_url
1982 except:
1983 self.__field_url=USTRING(**{'terminator': 0xA, 'default':'bitpim.org'})
1984 return self.__field_url.getvalue()
1985
1986 - def __setfield_url(self, value):
1987 if isinstance(value,USTRING):
1988 self.__field_url=value
1989 else:
1990 self.__field_url=USTRING(value,**{'terminator': 0xA, 'default':'bitpim.org'})
1991
1992 - def __delfield_url(self): del self.__field_url
1993
1994 url=property(__getfield_url, __setfield_url, __delfield_url, None)
1995
1997 try: self.__field_unknown_int1
1998 except:
1999 self.__field_unknown_int1=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
2000 return self.__field_unknown_int1.getvalue()
2001
2002 - def __setfield_unknown_int1(self, value):
2003 if isinstance(value,UINT):
2004 self.__field_unknown_int1=value
2005 else:
2006 self.__field_unknown_int1=UINT(value,**{'sizeinbytes': 2, 'default':0x08AA})
2007
2008 - def __delfield_unknown_int1(self): del self.__field_unknown_int1
2009
2010 unknown_int1=property(__getfield_unknown_int1, __setfield_unknown_int1, __delfield_unknown_int1, None)
2011
2013 try: self.__field_unknown3
2014 except:
2015 self.__field_unknown3=USTRING(**{'terminator': 0xA, 'default':''})
2016 return self.__field_unknown3.getvalue()
2017
2018 - def __setfield_unknown3(self, value):
2019 if isinstance(value,USTRING):
2020 self.__field_unknown3=value
2021 else:
2022 self.__field_unknown3=USTRING(value,**{'terminator': 0xA, 'default':''})
2023
2024 - def __delfield_unknown3(self): del self.__field_unknown3
2025
2026 unknown3=property(__getfield_unknown3, __setfield_unknown3, __delfield_unknown3, None)
2027
2029 try: self.__field_unknown_int2
2030 except:
2031 self.__field_unknown_int2=UINT(**{'sizeinbytes': 2, 'default':0x08AA})
2032 return self.__field_unknown_int2.getvalue()
2033
2034 - def __setfield_unknown_int2(self, value):
2035 if isinstance(value,UINT):
2036 self.__field_unknown_int2=value
2037 else:
2038 self.__field_unknown_int2=UINT(value,**{'sizeinbytes': 2, 'default':0x08AA})
2039
2040 - def __delfield_unknown_int2(self): del self.__field_unknown_int2
2041
2042 unknown_int2=property(__getfield_unknown_int2, __setfield_unknown_int2, __delfield_unknown_int2, None)
2043
2045 try: self.__field_unknown4
2046 except:
2047 self.__field_unknown4=USTRING(**{'terminator': 0xA, 'default':''})
2048 return self.__field_unknown4.getvalue()
2049
2050 - def __setfield_unknown4(self, value):
2051 if isinstance(value,USTRING):
2052 self.__field_unknown4=value
2053 else:
2054 self.__field_unknown4=USTRING(value,**{'terminator': 0xA, 'default':''})
2055
2056 - def __delfield_unknown4(self): del self.__field_unknown4
2057
2058 unknown4=property(__getfield_unknown4, __setfield_unknown4, __delfield_unknown4, None)
2059
2061 try: self.__field_unknown5
2062 except:
2063 self.__field_unknown5=USTRING(**{'terminator': 0xA, 'default':'0'})
2064 return self.__field_unknown5.getvalue()
2065
2066 - def __setfield_unknown5(self, value):
2067 if isinstance(value,USTRING):
2068 self.__field_unknown5=value
2069 else:
2070 self.__field_unknown5=USTRING(value,**{'terminator': 0xA, 'default':'0'})
2071
2072 - def __delfield_unknown5(self): del self.__field_unknown5
2073
2074 unknown5=property(__getfield_unknown5, __setfield_unknown5, __delfield_unknown5, None)
2075
2076 - def __getfield_size(self):
2077 return self.__field_size.getvalue()
2078
2079 - def __setfield_size(self, value):
2080 if isinstance(value,USTRING):
2081 self.__field_size=value
2082 else:
2083 self.__field_size=USTRING(value,**{'terminator': 0xA})
2084
2085 - def __delfield_size(self): del self.__field_size
2086
2087 size=property(__getfield_size, __setfield_size, __delfield_size, None)
2088
2090 try: self.__field_location_maybe
2091 except:
2092 self.__field_location_maybe=USTRING(**{'terminator': 0xA, 'default':'ams:'})
2093 return self.__field_location_maybe.getvalue()
2094
2096 if isinstance(value,USTRING):
2097 self.__field_location_maybe=value
2098 else:
2099 self.__field_location_maybe=USTRING(value,**{'terminator': 0xA, 'default':'ams:'})
2100
2101 - def __delfield_location_maybe(self): del self.__field_location_maybe
2102
2103 location_maybe=property(__getfield_location_maybe, __setfield_location_maybe, __delfield_location_maybe, None)
2104
2106 return self.__field_index2.getvalue()
2107
2108 - def __setfield_index2(self, value):
2109 if isinstance(value,USTRING):
2110 self.__field_index2=value
2111 else:
2112 self.__field_index2=USTRING(value,**{'terminator': 0xA})
2113
2114 - def __delfield_index2(self): del self.__field_index2
2115
2116 index2=property(__getfield_index2, __setfield_index2, __delfield_index2, None)
2117
2118 - def __getfield_name2(self):
2119 return self.__field_name2.getvalue()
2120
2121 - def __setfield_name2(self, value):
2122 if isinstance(value,USTRING):
2123 self.__field_name2=value
2124 else:
2125 self.__field_name2=USTRING(value,**{'terminator': 0xA})
2126
2127 - def __delfield_name2(self): del self.__field_name2
2128
2129 name2=property(__getfield_name2, __setfield_name2, __delfield_name2, None)
2130
2132 try: self.__field_unknown6
2133 except:
2134 self.__field_unknown6=USTRING(**{'terminator': 0xA, 'default':''})
2135 return self.__field_unknown6.getvalue()
2136
2137 - def __setfield_unknown6(self, value):
2138 if isinstance(value,USTRING):
2139 self.__field_unknown6=value
2140 else:
2141 self.__field_unknown6=USTRING(value,**{'terminator': 0xA, 'default':''})
2142
2143 - def __delfield_unknown6(self): del self.__field_unknown6
2144
2145 unknown6=property(__getfield_unknown6, __setfield_unknown6, __delfield_unknown6, None)
2146
2147 - def iscontainer(self):
2149
2151 yield ('type', self.__field_type, None)
2152 if self.type=='!C':
2153 yield ('index1', self.__field_index1, None)
2154 yield ('name1', self.__field_name1, None)
2155 yield ('unknown1', self.__field_unknown1, None)
2156 yield ('unknown2', self.__field_unknown2, None)
2157 yield ('mime_type', self.__field_mime_type, None)
2158 yield ('content_type', self.__field_content_type, None)
2159 yield ('url', self.__field_url, None)
2160 yield ('unknown_int1', self.__field_unknown_int1, None)
2161 yield ('unknown3', self.__field_unknown3, None)
2162 yield ('unknown_int2', self.__field_unknown_int2, None)
2163 yield ('unknown4', self.__field_unknown4, None)
2164 yield ('unknown5', self.__field_unknown5, None)
2165 yield ('size', self.__field_size, None)
2166 if self.type=='!E':
2167 yield ('location_maybe', self.__field_location_maybe, None)
2168 yield ('index2', self.__field_index2, None)
2169 yield ('name2', self.__field_name2, None)
2170 yield ('unknown6', self.__field_unknown6, None)
2171
2172
2173
2174
2175 -class content_file(BaseProtogenClass):
2176 "Used to store all content on the phone, apps, ringers and images (with the exception of the camera)"
2177 __fields=['items']
2178
2179 - def __init__(self, *args, **kwargs):
2180 dict={}
2181
2182 dict.update(kwargs)
2183
2184 super(content_file,self).__init__(**dict)
2185 if self.__class__ is content_file:
2186 self._update(args,dict)
2187
2188
2189 - def getfields(self):
2190 return self.__fields
2191
2192
2193 - def _update(self, args, kwargs):
2194 super(content_file,self)._update(args,kwargs)
2195 keys=kwargs.keys()
2196 for key in keys:
2197 if key in self.__fields:
2198 setattr(self, key, kwargs[key])
2199 del kwargs[key]
2200
2201 if __debug__:
2202 self._complainaboutunusedargs(content_file,kwargs)
2203 if len(args):
2204 dict2={'elementclass': content_entry, 'createdefault': True}
2205 dict2.update(kwargs)
2206 kwargs=dict2
2207 self.__field_items=LIST(*args,**dict2)
2208
2209
2210
2211 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2212 'Writes this packet to the supplied buffer'
2213 self._bufferstartoffset=buf.getcurrentoffset()
2214 try: self.__field_items
2215 except:
2216 self.__field_items=LIST(**{'elementclass': content_entry, 'createdefault': True})
2217 self.__field_items.writetobuffer(buf)
2218 self._bufferendoffset=buf.getcurrentoffset()
2219 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2220
2221
2222 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2223 'Reads this packet from the supplied buffer'
2224 self._bufferstartoffset=buf.getcurrentoffset()
2225 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2226 self.__field_items=LIST(**{'elementclass': content_entry, 'createdefault': True})
2227 self.__field_items.readfrombuffer(buf)
2228 self._bufferendoffset=buf.getcurrentoffset()
2229
2230
2231 - def __getfield_items(self):
2232 try: self.__field_items
2233 except:
2234 self.__field_items=LIST(**{'elementclass': content_entry, 'createdefault': True})
2235 return self.__field_items.getvalue()
2236
2237 - def __setfield_items(self, value):
2238 if isinstance(value,LIST):
2239 self.__field_items=value
2240 else:
2241 self.__field_items=LIST(value,**{'elementclass': content_entry, 'createdefault': True})
2242
2243 - def __delfield_items(self): del self.__field_items
2244
2245 items=property(__getfield_items, __setfield_items, __delfield_items, None)
2246
2247 - def iscontainer(self):
2249
2251 yield ('items', self.__field_items, None)
2252
2253
2254
2255
2256 -class content_count(BaseProtogenClass):
2257 "Stores the number of items in the content file"
2258 __fields=['count']
2259
2260 - def __init__(self, *args, **kwargs):
2261 dict={}
2262
2263 dict.update(kwargs)
2264
2265 super(content_count,self).__init__(**dict)
2266 if self.__class__ is content_count:
2267 self._update(args,dict)
2268
2269
2270 - def getfields(self):
2271 return self.__fields
2272
2273
2274 - def _update(self, args, kwargs):
2275 super(content_count,self)._update(args,kwargs)
2276 keys=kwargs.keys()
2277 for key in keys:
2278 if key in self.__fields:
2279 setattr(self, key, kwargs[key])
2280 del kwargs[key]
2281
2282 if __debug__:
2283 self._complainaboutunusedargs(content_count,kwargs)
2284 if len(args):
2285 dict2={'terminator': None}
2286 dict2.update(kwargs)
2287 kwargs=dict2
2288 self.__field_count=USTRING(*args,**dict2)
2289
2290
2291
2292 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2293 'Writes this packet to the supplied buffer'
2294 self._bufferstartoffset=buf.getcurrentoffset()
2295 self.__field_count.writetobuffer(buf)
2296 self._bufferendoffset=buf.getcurrentoffset()
2297 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2298
2299
2300 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2301 'Reads this packet from the supplied buffer'
2302 self._bufferstartoffset=buf.getcurrentoffset()
2303 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2304 self.__field_count=USTRING(**{'terminator': None})
2305 self.__field_count.readfrombuffer(buf)
2306 self._bufferendoffset=buf.getcurrentoffset()
2307
2308
2309 - def __getfield_count(self):
2310 return self.__field_count.getvalue()
2311
2312 - def __setfield_count(self, value):
2313 if isinstance(value,USTRING):
2314 self.__field_count=value
2315 else:
2316 self.__field_count=USTRING(value,**{'terminator': None})
2317
2318 - def __delfield_count(self): del self.__field_count
2319
2320 count=property(__getfield_count, __setfield_count, __delfield_count, None)
2321
2322 - def iscontainer(self):
2324
2326 yield ('count', self.__field_count, None)
2327
2328
2329
2330
2331 -class textmemo(BaseProtogenClass):
2332 __fields=['text']
2333
2334 - def __init__(self, *args, **kwargs):
2335 dict={}
2336
2337 dict.update(kwargs)
2338
2339 super(textmemo,self).__init__(**dict)
2340 if self.__class__ is textmemo:
2341 self._update(args,dict)
2342
2343
2344 - def getfields(self):
2345 return self.__fields
2346
2347
2348 - def _update(self, args, kwargs):
2349 super(textmemo,self)._update(args,kwargs)
2350 keys=kwargs.keys()
2351 for key in keys:
2352 if key in self.__fields:
2353 setattr(self, key, kwargs[key])
2354 del kwargs[key]
2355
2356 if __debug__:
2357 self._complainaboutunusedargs(textmemo,kwargs)
2358 if len(args):
2359 dict2={'sizeinbytes': 151, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False }
2360 dict2.update(kwargs)
2361 kwargs=dict2
2362 self.__field_text=USTRING(*args,**dict2)
2363
2364
2365
2366 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2367 'Writes this packet to the supplied buffer'
2368 self._bufferstartoffset=buf.getcurrentoffset()
2369 self.__field_text.writetobuffer(buf)
2370 self._bufferendoffset=buf.getcurrentoffset()
2371 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2372
2373
2374 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2375 'Reads this packet from the supplied buffer'
2376 self._bufferstartoffset=buf.getcurrentoffset()
2377 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2378 self.__field_text=USTRING(**{'sizeinbytes': 151, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2379 self.__field_text.readfrombuffer(buf)
2380 self._bufferendoffset=buf.getcurrentoffset()
2381
2382
2383 - def __getfield_text(self):
2384 return self.__field_text.getvalue()
2385
2386 - def __setfield_text(self, value):
2387 if isinstance(value,USTRING):
2388 self.__field_text=value
2389 else:
2390 self.__field_text=USTRING(value,**{'sizeinbytes': 151, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2391
2392 - def __delfield_text(self): del self.__field_text
2393
2394 text=property(__getfield_text, __setfield_text, __delfield_text, None)
2395
2396 - def iscontainer(self):
2398
2400 yield ('text', self.__field_text, None)
2401
2402
2403
2404
2405 -class textmemofile(BaseProtogenClass):
2406 __fields=['itemcount', 'items']
2407
2408 - def __init__(self, *args, **kwargs):
2409 dict={}
2410
2411 dict.update(kwargs)
2412
2413 super(textmemofile,self).__init__(**dict)
2414 if self.__class__ is textmemofile:
2415 self._update(args,dict)
2416
2417
2418 - def getfields(self):
2419 return self.__fields
2420
2421
2422 - def _update(self, args, kwargs):
2423 super(textmemofile,self)._update(args,kwargs)
2424 keys=kwargs.keys()
2425 for key in keys:
2426 if key in self.__fields:
2427 setattr(self, key, kwargs[key])
2428 del kwargs[key]
2429
2430 if __debug__:
2431 self._complainaboutunusedargs(textmemofile,kwargs)
2432 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2433
2434
2435
2436 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2437 'Writes this packet to the supplied buffer'
2438 self._bufferstartoffset=buf.getcurrentoffset()
2439 self.__field_itemcount.writetobuffer(buf)
2440 try: self.__field_items
2441 except:
2442 self.__field_items=LIST(**{ 'elementclass': textmemo })
2443 self.__field_items.writetobuffer(buf)
2444 self._bufferendoffset=buf.getcurrentoffset()
2445 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2446
2447
2448 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2449 'Reads this packet from the supplied buffer'
2450 self._bufferstartoffset=buf.getcurrentoffset()
2451 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2452 self.__field_itemcount=UINT(**{'sizeinbytes': 4})
2453 self.__field_itemcount.readfrombuffer(buf)
2454 self.__field_items=LIST(**{ 'elementclass': textmemo })
2455 self.__field_items.readfrombuffer(buf)
2456 self._bufferendoffset=buf.getcurrentoffset()
2457
2458
2460 return self.__field_itemcount.getvalue()
2461
2462 - def __setfield_itemcount(self, value):
2463 if isinstance(value,UINT):
2464 self.__field_itemcount=value
2465 else:
2466 self.__field_itemcount=UINT(value,**{'sizeinbytes': 4})
2467
2468 - def __delfield_itemcount(self): del self.__field_itemcount
2469
2470 itemcount=property(__getfield_itemcount, __setfield_itemcount, __delfield_itemcount, None)
2471
2472 - def __getfield_items(self):
2473 try: self.__field_items
2474 except:
2475 self.__field_items=LIST(**{ 'elementclass': textmemo })
2476 return self.__field_items.getvalue()
2477
2478 - def __setfield_items(self, value):
2479 if isinstance(value,LIST):
2480 self.__field_items=value
2481 else:
2482 self.__field_items=LIST(value,**{ 'elementclass': textmemo })
2483
2484 - def __delfield_items(self): del self.__field_items
2485
2486 items=property(__getfield_items, __setfield_items, __delfield_items, None)
2487
2488 - def iscontainer(self):
2490
2492 yield ('itemcount', self.__field_itemcount, None)
2493 yield ('items', self.__field_items, None)
2494