Package phones ::
Module p_lgvx5500
|
|
1
2
3 """Various descriptions of data specific to LG VX5500"""
4
5 from p_lgvx9700 import *
6
7
8 -class pbfileentry(BaseProtogenClass):
9 __fields=['entry_tag', 'mod_date', 'unk0', 'entry_number1', 'entry_number0', 'name', 'group', 'emails', 'ringtone', 'wallpaper', 'numbertypes', 'numberindices', 'memo', 'exit_tag', 'dontcare']
10
11 - def __init__(self, *args, **kwargs):
12 dict={}
13
14 dict.update(kwargs)
15
16 super(pbfileentry,self).__init__(**dict)
17 if self.__class__ is pbfileentry:
18 self._update(args,dict)
19
20
21 - def getfields(self):
23
24
25 - def _update(self, args, kwargs):
26 super(pbfileentry,self)._update(args,kwargs)
27 keys=kwargs.keys()
28 for key in keys:
29 if key in self.__fields:
30 setattr(self, key, kwargs[key])
31 del kwargs[key]
32
33 if __debug__:
34 self._complainaboutunusedargs(pbfileentry,kwargs)
35 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
36
37
38
39 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
40 'Writes this packet to the supplied buffer'
41 self._bufferstartoffset=buf.getcurrentoffset()
42 try: self.__field_entry_tag
43 except:
44 self.__field_entry_tag=STRING(**{'sizeinbytes': 5, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
45 self.__field_entry_tag.writetobuffer(buf)
46 if self.entry_tag==PB_ENTRY_SOR:
47 try: self.__field_mod_date
48 except:
49 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
50 self.__field_mod_date.writetobuffer(buf)
51 try: self.__field_unk0
52 except:
53 self.__field_unk0=STRING(**{'sizeinbytes': 6, 'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
54 self.__field_unk0.writetobuffer(buf)
55 self.__field_entry_number1.writetobuffer(buf)
56 self.__field_entry_number0.writetobuffer(buf)
57 try: self.__field_name
58 except:
59 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False })
60 self.__field_name.writetobuffer(buf)
61 try: self.__field_group
62 except:
63 self.__field_group=UINT(**{'sizeinbytes': 2, 'default': 0 })
64 self.__field_group.writetobuffer(buf)
65 try: self.__field_emails
66 except:
67 self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx5500_29, 'length': NUMEMAILS})
68 self.__field_emails.writetobuffer(buf)
69 try: self.__field_ringtone
70 except:
71 self.__field_ringtone=UINT(**{'sizeinbytes': 2, 'default': 0xffff })
72 self.__field_ringtone.writetobuffer(buf)
73 try: self.__field_wallpaper
74 except:
75 self.__field_wallpaper=UINT(**{'sizeinbytes': 2, 'default': 0 })
76 self.__field_wallpaper.writetobuffer(buf)
77 try: self.__field_numbertypes
78 except:
79 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx5500_33, 'length': NUMPHONENUMBERS})
80 self.__field_numbertypes.writetobuffer(buf)
81 try: self.__field_numberindices
82 except:
83 self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx5500_35, 'length': NUMPHONENUMBERS})
84 self.__field_numberindices.writetobuffer(buf)
85 try: self.__field_memo
86 except:
87 self.__field_memo=USTRING(**{'sizeinbytes': 36, 'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
88 self.__field_memo.writetobuffer(buf)
89 try: self.__field_exit_tag
90 except:
91 self.__field_exit_tag=USTRING(**{'sizeinbytes': 6, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
92 self.__field_exit_tag.writetobuffer(buf)
93 else:
94 try: self.__field_dontcare
95 except:
96 self.__field_dontcare=DATA(**{'sizeinbytes': 251, 'default': '\xff'*251 })
97 self.__field_dontcare.writetobuffer(buf)
98 self._bufferendoffset=buf.getcurrentoffset()
99 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
100
101
102 - def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
103 'Reads this packet from the supplied buffer'
104 self._bufferstartoffset=buf.getcurrentoffset()
105 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
106 self.__field_entry_tag=STRING(**{'sizeinbytes': 5, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
107 self.__field_entry_tag.readfrombuffer(buf)
108 if self.entry_tag==PB_ENTRY_SOR:
109 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
110 self.__field_mod_date.readfrombuffer(buf)
111 self.__field_unk0=STRING(**{'sizeinbytes': 6, 'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
112 self.__field_unk0.readfrombuffer(buf)
113 self.__field_entry_number1=UINT(**{'sizeinbytes': 4})
114 self.__field_entry_number1.readfrombuffer(buf)
115 self.__field_entry_number0=UINT(**{'sizeinbytes': 2})
116 self.__field_entry_number0.readfrombuffer(buf)
117 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False })
118 self.__field_name.readfrombuffer(buf)
119 self.__field_group=UINT(**{'sizeinbytes': 2, 'default': 0 })
120 self.__field_group.readfrombuffer(buf)
121 self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx5500_29, 'length': NUMEMAILS})
122 self.__field_emails.readfrombuffer(buf)
123 self.__field_ringtone=UINT(**{'sizeinbytes': 2, 'default': 0xffff })
124 self.__field_ringtone.readfrombuffer(buf)
125 self.__field_wallpaper=UINT(**{'sizeinbytes': 2, 'default': 0 })
126 self.__field_wallpaper.readfrombuffer(buf)
127 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx5500_33, 'length': NUMPHONENUMBERS})
128 self.__field_numbertypes.readfrombuffer(buf)
129 self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx5500_35, 'length': NUMPHONENUMBERS})
130 self.__field_numberindices.readfrombuffer(buf)
131 self.__field_memo=USTRING(**{'sizeinbytes': 36, 'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
132 self.__field_memo.readfrombuffer(buf)
133 self.__field_exit_tag=USTRING(**{'sizeinbytes': 6, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
134 self.__field_exit_tag.readfrombuffer(buf)
135 else:
136 self.__field_dontcare=DATA(**{'sizeinbytes': 251, 'default': '\xff'*251 })
137 self.__field_dontcare.readfrombuffer(buf)
138 self._bufferendoffset=buf.getcurrentoffset()
139
140
142 try: self.__field_entry_tag
143 except:
144 self.__field_entry_tag=STRING(**{'sizeinbytes': 5, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
145 return self.__field_entry_tag.getvalue()
146
147 - def __setfield_entry_tag(self, value):
148 if isinstance(value,STRING):
149 self.__field_entry_tag=value
150 else:
151 self.__field_entry_tag=STRING(value,**{'sizeinbytes': 5, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
152
153 - def __delfield_entry_tag(self): del self.__field_entry_tag
154
155 entry_tag=property(__getfield_entry_tag, __setfield_entry_tag, __delfield_entry_tag, None)
156
158 try: self.__field_mod_date
159 except:
160 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
161 return self.__field_mod_date.getvalue()
162
163 - def __setfield_mod_date(self, value):
164 if isinstance(value,PBDateTime):
165 self.__field_mod_date=value
166 else:
167 self.__field_mod_date=PBDateTime(value,**{ 'defaulttocurrenttime': True })
168
169 - def __delfield_mod_date(self): del self.__field_mod_date
170
171 mod_date=property(__getfield_mod_date, __setfield_mod_date, __delfield_mod_date, None)
172
173 - def __getfield_unk0(self):
174 try: self.__field_unk0
175 except:
176 self.__field_unk0=STRING(**{'sizeinbytes': 6, 'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
177 return self.__field_unk0.getvalue()
178
179 - def __setfield_unk0(self, value):
180 if isinstance(value,STRING):
181 self.__field_unk0=value
182 else:
183 self.__field_unk0=STRING(value,**{'sizeinbytes': 6, 'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
184
185 - def __delfield_unk0(self): del self.__field_unk0
186
187 unk0=property(__getfield_unk0, __setfield_unk0, __delfield_unk0, None)
188
190 return self.__field_entry_number1.getvalue()
191
193 if isinstance(value,UINT):
194 self.__field_entry_number1=value
195 else:
196 self.__field_entry_number1=UINT(value,**{'sizeinbytes': 4})
197
198 - def __delfield_entry_number1(self): del self.__field_entry_number1
199
200 entry_number1=property(__getfield_entry_number1, __setfield_entry_number1, __delfield_entry_number1, None)
201
203 return self.__field_entry_number0.getvalue()
204
206 if isinstance(value,UINT):
207 self.__field_entry_number0=value
208 else:
209 self.__field_entry_number0=UINT(value,**{'sizeinbytes': 2})
210
211 - def __delfield_entry_number0(self): del self.__field_entry_number0
212
213 entry_number0=property(__getfield_entry_number0, __setfield_entry_number0, __delfield_entry_number0, None)
214
215 - def __getfield_name(self):
216 try: self.__field_name
217 except:
218 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False })
219 return self.__field_name.getvalue()
220
221 - def __setfield_name(self, value):
222 if isinstance(value,USTRING):
223 self.__field_name=value
224 else:
225 self.__field_name=USTRING(value,**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False })
226
227 - def __delfield_name(self): del self.__field_name
228
229 name=property(__getfield_name, __setfield_name, __delfield_name, None)
230
232 try: self.__field_group
233 except:
234 self.__field_group=UINT(**{'sizeinbytes': 2, 'default': 0 })
235 return self.__field_group.getvalue()
236
237 - def __setfield_group(self, value):
238 if isinstance(value,UINT):
239 self.__field_group=value
240 else:
241 self.__field_group=UINT(value,**{'sizeinbytes': 2, 'default': 0 })
242
243 - def __delfield_group(self): del self.__field_group
244
245 group=property(__getfield_group, __setfield_group, __delfield_group, None)
246
248 try: self.__field_emails
249 except:
250 self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx5500_29, 'length': NUMEMAILS})
251 return self.__field_emails.getvalue()
252
253 - def __setfield_emails(self, value):
254 if isinstance(value,LIST):
255 self.__field_emails=value
256 else:
257 self.__field_emails=LIST(value,**{'elementclass': _gen_p_lgvx5500_29, 'length': NUMEMAILS})
258
259 - def __delfield_emails(self): del self.__field_emails
260
261 emails=property(__getfield_emails, __setfield_emails, __delfield_emails, None)
262
264 try: self.__field_ringtone
265 except:
266 self.__field_ringtone=UINT(**{'sizeinbytes': 2, 'default': 0xffff })
267 return self.__field_ringtone.getvalue()
268
269 - def __setfield_ringtone(self, value):
270 if isinstance(value,UINT):
271 self.__field_ringtone=value
272 else:
273 self.__field_ringtone=UINT(value,**{'sizeinbytes': 2, 'default': 0xffff })
274
275 - def __delfield_ringtone(self): del self.__field_ringtone
276
277 ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None)
278
280 try: self.__field_wallpaper
281 except:
282 self.__field_wallpaper=UINT(**{'sizeinbytes': 2, 'default': 0 })
283 return self.__field_wallpaper.getvalue()
284
285 - def __setfield_wallpaper(self, value):
286 if isinstance(value,UINT):
287 self.__field_wallpaper=value
288 else:
289 self.__field_wallpaper=UINT(value,**{'sizeinbytes': 2, 'default': 0 })
290
291 - def __delfield_wallpaper(self): del self.__field_wallpaper
292
293 wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None)
294
296 try: self.__field_numbertypes
297 except:
298 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx5500_33, 'length': NUMPHONENUMBERS})
299 return self.__field_numbertypes.getvalue()
300
301 - def __setfield_numbertypes(self, value):
302 if isinstance(value,LIST):
303 self.__field_numbertypes=value
304 else:
305 self.__field_numbertypes=LIST(value,**{'elementclass': _gen_p_lgvx5500_33, 'length': NUMPHONENUMBERS})
306
307 - def __delfield_numbertypes(self): del self.__field_numbertypes
308
309 numbertypes=property(__getfield_numbertypes, __setfield_numbertypes, __delfield_numbertypes, None)
310
312 try: self.__field_numberindices
313 except:
314 self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx5500_35, 'length': NUMPHONENUMBERS})
315 return self.__field_numberindices.getvalue()
316
318 if isinstance(value,LIST):
319 self.__field_numberindices=value
320 else:
321 self.__field_numberindices=LIST(value,**{'elementclass': _gen_p_lgvx5500_35, 'length': NUMPHONENUMBERS})
322
323 - def __delfield_numberindices(self): del self.__field_numberindices
324
325 numberindices=property(__getfield_numberindices, __setfield_numberindices, __delfield_numberindices, None)
326
327 - def __getfield_memo(self):
328 try: self.__field_memo
329 except:
330 self.__field_memo=USTRING(**{'sizeinbytes': 36, 'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
331 return self.__field_memo.getvalue()
332
333 - def __setfield_memo(self, value):
334 if isinstance(value,USTRING):
335 self.__field_memo=value
336 else:
337 self.__field_memo=USTRING(value,**{'sizeinbytes': 36, 'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
338
339 - def __delfield_memo(self): del self.__field_memo
340
341 memo=property(__getfield_memo, __setfield_memo, __delfield_memo, None)
342
344 try: self.__field_exit_tag
345 except:
346 self.__field_exit_tag=USTRING(**{'sizeinbytes': 6, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
347 return self.__field_exit_tag.getvalue()
348
349 - def __setfield_exit_tag(self, value):
350 if isinstance(value,USTRING):
351 self.__field_exit_tag=value
352 else:
353 self.__field_exit_tag=USTRING(value,**{'sizeinbytes': 6, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
354
355 - def __delfield_exit_tag(self): del self.__field_exit_tag
356
357 exit_tag=property(__getfield_exit_tag, __setfield_exit_tag, __delfield_exit_tag, None)
358
360 try: self.__field_dontcare
361 except:
362 self.__field_dontcare=DATA(**{'sizeinbytes': 251, 'default': '\xff'*251 })
363 return self.__field_dontcare.getvalue()
364
365 - def __setfield_dontcare(self, value):
366 if isinstance(value,DATA):
367 self.__field_dontcare=value
368 else:
369 self.__field_dontcare=DATA(value,**{'sizeinbytes': 251, 'default': '\xff'*251 })
370
371 - def __delfield_dontcare(self): del self.__field_dontcare
372
373 dontcare=property(__getfield_dontcare, __setfield_dontcare, __delfield_dontcare, None)
374
375 - def iscontainer(self):
377
379 yield ('entry_tag', self.__field_entry_tag, None)
380 if self.entry_tag==PB_ENTRY_SOR:
381 yield ('mod_date', self.__field_mod_date, None)
382 yield ('unk0', self.__field_unk0, None)
383 yield ('entry_number1', self.__field_entry_number1, None)
384 yield ('entry_number0', self.__field_entry_number0, None)
385 yield ('name', self.__field_name, None)
386 yield ('group', self.__field_group, None)
387 yield ('emails', self.__field_emails, None)
388 yield ('ringtone', self.__field_ringtone, None)
389 yield ('wallpaper', self.__field_wallpaper, None)
390 yield ('numbertypes', self.__field_numbertypes, None)
391 yield ('numberindices', self.__field_numberindices, None)
392 yield ('memo', self.__field_memo, None)
393 yield ('exit_tag', self.__field_exit_tag, None)
394 else:
395 yield ('dontcare', self.__field_dontcare, None)
396
398 global PB_ENTRY_SOR
399 return self.entry_tag==PB_ENTRY_SOR and ord(self.name[0]) != 0xff
400
401
402
403
405 'Anonymous inner class'
406 __fields=['email']
407
416
417
420
421
437
438
439
440 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
446
447
449 'Reads this packet from the supplied buffer'
450 self._bufferstartoffset=buf.getcurrentoffset()
451 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
452 self.__field_email=USTRING(**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
453 self.__field_email.readfrombuffer(buf)
454 self._bufferendoffset=buf.getcurrentoffset()
455
456
458 return self.__field_email.getvalue()
459
461 if isinstance(value,USTRING):
462 self.__field_email=value
463 else:
464 self.__field_email=USTRING(value,**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
465
467
468 email=property(__getfield_email, __setfield_email, __delfield_email, None)
469
472
474 yield ('email', self.__field_email, None)
475
476
477
478
480 'Anonymous inner class'
481 __fields=['numbertype']
482
491
492
495
496
512
513
514
515 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
521
522
524 'Reads this packet from the supplied buffer'
525 self._bufferstartoffset=buf.getcurrentoffset()
526 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
527 self.__field_numbertype=UINT(**{'sizeinbytes': 1, 'default': 0 })
528 self.__field_numbertype.readfrombuffer(buf)
529 self._bufferendoffset=buf.getcurrentoffset()
530
531
533 return self.__field_numbertype.getvalue()
534
536 if isinstance(value,UINT):
537 self.__field_numbertype=value
538 else:
539 self.__field_numbertype=UINT(value,**{'sizeinbytes': 1, 'default': 0 })
540
542
543 numbertype=property(__getfield_numbertype, __setfield_numbertype, __delfield_numbertype, None)
544
547
549 yield ('numbertype', self.__field_numbertype, None)
550
551
552
553
555 'Anonymous inner class'
556 __fields=['numberindex']
557
566
567
570
571
587
588
589
590 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
596
597
599 'Reads this packet from the supplied buffer'
600 self._bufferstartoffset=buf.getcurrentoffset()
601 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
602 self.__field_numberindex=UINT(**{'sizeinbytes': 2, 'default': 0xffff })
603 self.__field_numberindex.readfrombuffer(buf)
604 self._bufferendoffset=buf.getcurrentoffset()
605
606
608 return self.__field_numberindex.getvalue()
609
611 if isinstance(value,UINT):
612 self.__field_numberindex=value
613 else:
614 self.__field_numberindex=UINT(value,**{'sizeinbytes': 2, 'default': 0xffff })
615
617
618 numberindex=property(__getfield_numberindex, __setfield_numberindex, __delfield_numberindex, None)
619
622
624 yield ('numberindex', self.__field_numberindex, None)
625
626
627
628
629 -class pbfile(BaseProtogenClass):
630 __fields=['items', 'eof_tag', 'model_name', 'mod_date', 'blanks', 'eof_close_tag']
631
640
641
644
645
657
658
659
660 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
661 'Writes this packet to the supplied buffer'
662 self._bufferstartoffset=buf.getcurrentoffset()
663 try: self.__field_items
664 except:
665 self.__field_items=LIST(**{ 'elementclass': pbfileentry, 'length': NUMPHONEBOOKENTRIES, 'createdefault': True})
666 self.__field_items.writetobuffer(buf)
667 try: self.__field_eof_tag
668 except:
669 self.__field_eof_tag=STRING(**{'sizeinbytes': 6, 'default': '<HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
670 self.__field_eof_tag.writetobuffer(buf)
671 try: self.__field_model_name
672 except:
673 self.__field_model_name=STRING(**{'sizeinbytes': 10, 'raiseonunterminatedread': False, 'raiseontruncate': False })
674 self.__field_model_name.writetobuffer(buf)
675 try: self.__field_mod_date
676 except:
677 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
678 self.__field_mod_date.writetobuffer(buf)
679 try: self.__field_blanks
680 except:
681 self.__field_blanks=DATA(**{'sizeinbytes': 221, 'default': '\x00'*221 })
682 self.__field_blanks.writetobuffer(buf)
683 try: self.__field_eof_close_tag
684 except:
685 self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7, 'default': '</HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
686 self.__field_eof_close_tag.writetobuffer(buf)
687 self._bufferendoffset=buf.getcurrentoffset()
688 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
689
690
692 'Reads this packet from the supplied buffer'
693 self._bufferstartoffset=buf.getcurrentoffset()
694 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
695 self.__field_items=LIST(**{ 'elementclass': pbfileentry, 'length': NUMPHONEBOOKENTRIES, 'createdefault': True})
696 self.__field_items.readfrombuffer(buf)
697 self.__field_eof_tag=STRING(**{'sizeinbytes': 6, 'default': '<HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
698 self.__field_eof_tag.readfrombuffer(buf)
699 self.__field_model_name=STRING(**{'sizeinbytes': 10, 'raiseonunterminatedread': False, 'raiseontruncate': False })
700 self.__field_model_name.readfrombuffer(buf)
701 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
702 self.__field_mod_date.readfrombuffer(buf)
703 self.__field_blanks=DATA(**{'sizeinbytes': 221, 'default': '\x00'*221 })
704 self.__field_blanks.readfrombuffer(buf)
705 self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7, 'default': '</HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
706 self.__field_eof_close_tag.readfrombuffer(buf)
707 self._bufferendoffset=buf.getcurrentoffset()
708
709
715
717 if isinstance(value,LIST):
718 self.__field_items=value
719 else:
720 self.__field_items=LIST(value,**{ 'elementclass': pbfileentry, 'length': NUMPHONEBOOKENTRIES, 'createdefault': True})
721
723
724 items=property(__getfield_items, __setfield_items, __delfield_items, None)
725
727 try: self.__field_eof_tag
728 except:
729 self.__field_eof_tag=STRING(**{'sizeinbytes': 6, 'default': '<HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
730 return self.__field_eof_tag.getvalue()
731
733 if isinstance(value,STRING):
734 self.__field_eof_tag=value
735 else:
736 self.__field_eof_tag=STRING(value,**{'sizeinbytes': 6, 'default': '<HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
737
739
740 eof_tag=property(__getfield_eof_tag, __setfield_eof_tag, __delfield_eof_tag, None)
741
743 try: self.__field_model_name
744 except:
745 self.__field_model_name=STRING(**{'sizeinbytes': 10, 'raiseonunterminatedread': False, 'raiseontruncate': False })
746 return self.__field_model_name.getvalue()
747
749 if isinstance(value,STRING):
750 self.__field_model_name=value
751 else:
752 self.__field_model_name=STRING(value,**{'sizeinbytes': 10, 'raiseonunterminatedread': False, 'raiseontruncate': False })
753
755
756 model_name=property(__getfield_model_name, __setfield_model_name, __delfield_model_name, None)
757
759 try: self.__field_mod_date
760 except:
761 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
762 return self.__field_mod_date.getvalue()
763
765 if isinstance(value,PBDateTime):
766 self.__field_mod_date=value
767 else:
768 self.__field_mod_date=PBDateTime(value,**{ 'defaulttocurrenttime': True })
769
771
772 mod_date=property(__getfield_mod_date, __setfield_mod_date, __delfield_mod_date, None)
773
775 try: self.__field_blanks
776 except:
777 self.__field_blanks=DATA(**{'sizeinbytes': 221, 'default': '\x00'*221 })
778 return self.__field_blanks.getvalue()
779
781 if isinstance(value,DATA):
782 self.__field_blanks=value
783 else:
784 self.__field_blanks=DATA(value,**{'sizeinbytes': 221, 'default': '\x00'*221 })
785
787
788 blanks=property(__getfield_blanks, __setfield_blanks, __delfield_blanks, None)
789
791 try: self.__field_eof_close_tag
792 except:
793 self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7, 'default': '</HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
794 return self.__field_eof_close_tag.getvalue()
795
797 if isinstance(value,STRING):
798 self.__field_eof_close_tag=value
799 else:
800 self.__field_eof_close_tag=STRING(value,**{'sizeinbytes': 7, 'default': '</HPE>', 'raiseonunterminatedread': False, 'raiseontruncate': False })
801
803
804 eof_close_tag=property(__getfield_eof_close_tag, __setfield_eof_close_tag, __delfield_eof_close_tag, None)
805
808
810 yield ('items', self.__field_items, None)
811 yield ('eof_tag', self.__field_eof_tag, None)
812 yield ('model_name', self.__field_model_name, None)
813 yield ('mod_date', self.__field_mod_date, None)
814 yield ('blanks', self.__field_blanks, None)
815 yield ('eof_close_tag', self.__field_eof_close_tag, None)
816
817
818
819
821 __fields=['name', 'groupid', 'user_added']
822
831
832
835
836
848
849
850
851 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
852 'Writes this packet to the supplied buffer'
853 self._bufferstartoffset=buf.getcurrentoffset()
854 try: self.__field_name
855 except:
856 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': ''})
857 self.__field_name.writetobuffer(buf)
858 try: self.__field_groupid
859 except:
860 self.__field_groupid=UINT(**{'sizeinbytes': 2, 'default': 0 })
861 self.__field_groupid.writetobuffer(buf)
862 try: self.__field_user_added
863 except:
864 self.__field_user_added=UINT(**{'sizeinbytes': 1, 'default': 0})
865 self.__field_user_added.writetobuffer(buf)
866 self._bufferendoffset=buf.getcurrentoffset()
867 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
868
869
871 'Reads this packet from the supplied buffer'
872 self._bufferstartoffset=buf.getcurrentoffset()
873 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
874 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': ''})
875 self.__field_name.readfrombuffer(buf)
876 self.__field_groupid=UINT(**{'sizeinbytes': 2, 'default': 0 })
877 self.__field_groupid.readfrombuffer(buf)
878 self.__field_user_added=UINT(**{'sizeinbytes': 1, 'default': 0})
879 self.__field_user_added.readfrombuffer(buf)
880 self._bufferendoffset=buf.getcurrentoffset()
881
882
884 try: self.__field_name
885 except:
886 self.__field_name=USTRING(**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': ''})
887 return self.__field_name.getvalue()
888
890 if isinstance(value,USTRING):
891 self.__field_name=value
892 else:
893 self.__field_name=USTRING(value,**{'sizeinbytes': 66, 'encoding': 'utf_16_le', 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': ''})
894
896
897 name=property(__getfield_name, __setfield_name, __delfield_name, None)
898
900 try: self.__field_groupid
901 except:
902 self.__field_groupid=UINT(**{'sizeinbytes': 2, 'default': 0 })
903 return self.__field_groupid.getvalue()
904
906 if isinstance(value,UINT):
907 self.__field_groupid=value
908 else:
909 self.__field_groupid=UINT(value,**{'sizeinbytes': 2, 'default': 0 })
910
912
913 groupid=property(__getfield_groupid, __setfield_groupid, __delfield_groupid, None)
914
916 try: self.__field_user_added
917 except:
918 self.__field_user_added=UINT(**{'sizeinbytes': 1, 'default': 0})
919 return self.__field_user_added.getvalue()
920
922 if isinstance(value,UINT):
923 self.__field_user_added=value
924 else:
925 self.__field_user_added=UINT(value,**{'sizeinbytes': 1, 'default': 0})
926
928
929 user_added=property(__getfield_user_added, __setfield_user_added, __delfield_user_added, "=1 when was added by user")
930
933
935 yield ('name', self.__field_name, None)
936 yield ('groupid', self.__field_groupid, None)
937 yield ('user_added', self.__field_user_added, "=1 when was added by user")
938
939
940
941
943 "Phonebook groups"
944 __fields=['groups']
945
954
955
958
959
975
976
977
978 - def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
979 'Writes this packet to the supplied buffer'
980 self._bufferstartoffset=buf.getcurrentoffset()
981 try: self.__field_groups
982 except:
983 self.__field_groups=LIST(**{'elementclass': pbgroup, 'raiseonincompleteread': False, 'length': MAX_PHONEBOOK_GROUPS, 'createdefault': True})
984 self.__field_groups.writetobuffer(buf)
985 self._bufferendoffset=buf.getcurrentoffset()
986 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
987
988
996
997
999 try: self.__field_groups
1000 except:
1001 self.__field_groups=LIST(**{'elementclass': pbgroup, 'raiseonincompleteread': False, 'length': MAX_PHONEBOOK_GROUPS, 'createdefault': True})
1002 return self.__field_groups.getvalue()
1003
1005 if isinstance(value,LIST):
1006 self.__field_groups=value
1007 else:
1008 self.__field_groups=LIST(value,**{'elementclass': pbgroup, 'raiseonincompleteread': False, 'length': MAX_PHONEBOOK_GROUPS, 'createdefault': True})
1009
1011
1012 groups=property(__getfield_groups, __setfield_groups, __delfield_groups, None)
1013
1016
1018 yield ('groups', self.__field_groups, None)
1019