PyXR

c:\projects\bitpim\src \ phones \ p_lgvx8550.py



0001 # THIS FILE IS AUTOMATICALLY GENERATED.  EDIT THE SOURCE FILE NOT THIS ONE
0002 
0003 """Various descriptions of data specific to LG VX8550"""
0004 
0005 from p_lgvx8700 import *
0006 # same as the VX-8700 except as noted below
0007 
0008 NUMPHONEBOOKENTRIES=1000
0009 NUMPHONENUMBERENTRIES=5000
0010 
0011 NUMSPEEDDIALS=100
0012 FIRSTSPEEDDIAL=1
0013 LASTSPEEDDIAL=99
0014 
0015 NUMCALENDARENTRIES=300
0016 NUMEMERGENCYCONTACTS=3
0017 
0018 # sizes of pbfileentry and pnfileentry
0019 PHONEBOOKENTRYSIZE=256
0020 PHONENUMBERENTRYSIZE=64
0021 
0022 NUM_EMAILS=2
0023 NUMPHONENUMBERS=5
0024 
0025 pb_file_name         = 'pim/pbentry.dat'
0026 pb_recordid_filename = 'pim/record_id.dat'
0027 pn_file_name         = 'pim/pbnumber.dat'
0028 speed_file_name      = 'pim/pbspeed.dat'
0029 ice_file_name        = 'pim/pbiceentry.dat'
0030 
0031 PB_ENTRY_SOR='<PE>'
0032 PB_NUMBER_SOR='<PN>'
0033 
0034 class speeddial(BaseProtogenClass):
0035     __fields=['entry', 'number']
0036 
0037     def __init__(self, *args, **kwargs):
0038         dict={}
0039         # What was supplied to this function
0040         dict.update(kwargs)
0041         # Parent constructor
0042         super(speeddial,self).__init__(**dict)
0043         if self.__class__ is speeddial:
0044             self._update(args,dict)
0045 
0046 
0047     def getfields(self):
0048         return self.__fields
0049 
0050 
0051     def _update(self, args, kwargs):
0052         super(speeddial,self)._update(args,kwargs)
0053         keys=kwargs.keys()
0054         for key in keys:
0055             if key in self.__fields:
0056                 setattr(self, key, kwargs[key])
0057                 del kwargs[key]
0058         # Were any unrecognized kwargs passed in?
0059         if __debug__:
0060             self._complainaboutunusedargs(speeddial,kwargs)
0061         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0062         # Make all P fields that haven't already been constructed
0063 
0064 
0065     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0066         'Writes this packet to the supplied buffer'
0067         self._bufferstartoffset=buf.getcurrentoffset()
0068         try: self.__field_entry
0069         except:
0070             self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0071         self.__field_entry.writetobuffer(buf)
0072         try: self.__field_number
0073         except:
0074             self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0075         self.__field_number.writetobuffer(buf)
0076         self._bufferendoffset=buf.getcurrentoffset()
0077         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0078 
0079 
0080     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0081         'Reads this packet from the supplied buffer'
0082         self._bufferstartoffset=buf.getcurrentoffset()
0083         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0084         self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0085         self.__field_entry.readfrombuffer(buf)
0086         self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0087         self.__field_number.readfrombuffer(buf)
0088         self._bufferendoffset=buf.getcurrentoffset()
0089 
0090 
0091     def __getfield_entry(self):
0092         try: self.__field_entry
0093         except:
0094             self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0095         return self.__field_entry.getvalue()
0096 
0097     def __setfield_entry(self, value):
0098         if isinstance(value,UINT):
0099             self.__field_entry=value
0100         else:
0101             self.__field_entry=UINT(value,**{'sizeinbytes': 2, 'default': 0xffff})
0102 
0103     def __delfield_entry(self): del self.__field_entry
0104 
0105     entry=property(__getfield_entry, __setfield_entry, __delfield_entry, "0-based entry number")
0106 
0107     def __getfield_number(self):
0108         try: self.__field_number
0109         except:
0110             self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0111         return self.__field_number.getvalue()
0112 
0113     def __setfield_number(self, value):
0114         if isinstance(value,UINT):
0115             self.__field_number=value
0116         else:
0117             self.__field_number=UINT(value,**{'sizeinbytes': 1, 'default': 0xff})
0118 
0119     def __delfield_number(self): del self.__field_number
0120 
0121     number=property(__getfield_number, __setfield_number, __delfield_number, "number type")
0122 
0123     def iscontainer(self):
0124         return True
0125 
0126     def containerelements(self):
0127         yield ('entry', self.__field_entry, "0-based entry number")
0128         yield ('number', self.__field_number, "number type")
0129 
0130     def valid(self):
0131         return self.entry!=0xffff
0132 
0133 
0134 
0135 
0136 class speeddials(BaseProtogenClass):
0137     __fields=['speeddials']
0138 
0139     def __init__(self, *args, **kwargs):
0140         dict={}
0141         # What was supplied to this function
0142         dict.update(kwargs)
0143         # Parent constructor
0144         super(speeddials,self).__init__(**dict)
0145         if self.__class__ is speeddials:
0146             self._update(args,dict)
0147 
0148 
0149     def getfields(self):
0150         return self.__fields
0151 
0152 
0153     def _update(self, args, kwargs):
0154         super(speeddials,self)._update(args,kwargs)
0155         keys=kwargs.keys()
0156         for key in keys:
0157             if key in self.__fields:
0158                 setattr(self, key, kwargs[key])
0159                 del kwargs[key]
0160         # Were any unrecognized kwargs passed in?
0161         if __debug__:
0162             self._complainaboutunusedargs(speeddials,kwargs)
0163         if len(args):
0164             dict2={'length': NUMSPEEDDIALS, 'elementclass': speeddial}
0165             dict2.update(kwargs)
0166             kwargs=dict2
0167             self.__field_speeddials=LIST(*args,**dict2)
0168         # Make all P fields that haven't already been constructed
0169 
0170 
0171     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0172         'Writes this packet to the supplied buffer'
0173         self._bufferstartoffset=buf.getcurrentoffset()
0174         try: self.__field_speeddials
0175         except:
0176             self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0177         self.__field_speeddials.writetobuffer(buf)
0178         self._bufferendoffset=buf.getcurrentoffset()
0179         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0180 
0181 
0182     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0183         'Reads this packet from the supplied buffer'
0184         self._bufferstartoffset=buf.getcurrentoffset()
0185         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0186         self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0187         self.__field_speeddials.readfrombuffer(buf)
0188         self._bufferendoffset=buf.getcurrentoffset()
0189 
0190 
0191     def __getfield_speeddials(self):
0192         try: self.__field_speeddials
0193         except:
0194             self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0195         return self.__field_speeddials.getvalue()
0196 
0197     def __setfield_speeddials(self, value):
0198         if isinstance(value,LIST):
0199             self.__field_speeddials=value
0200         else:
0201             self.__field_speeddials=LIST(value,**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0202 
0203     def __delfield_speeddials(self): del self.__field_speeddials
0204 
0205     speeddials=property(__getfield_speeddials, __setfield_speeddials, __delfield_speeddials, None)
0206 
0207     def iscontainer(self):
0208         return True
0209 
0210     def containerelements(self):
0211         yield ('speeddials', self.__field_speeddials, None)
0212 
0213 
0214 
0215 
0216 class pbfileentry(BaseProtogenClass):
0217     __fields=['entry_tag', 'mod_date', 'unk0', 'entry_number1', 'entry_number0', 'name', 'group', 'emails', 'ringtone', 'wallpaper', 'numbertypes', 'numberindices', 'memo', 'exit_tag', 'dontcare']
0218 
0219     def __init__(self, *args, **kwargs):
0220         dict={}
0221         # What was supplied to this function
0222         dict.update(kwargs)
0223         # Parent constructor
0224         super(pbfileentry,self).__init__(**dict)
0225         if self.__class__ is pbfileentry:
0226             self._update(args,dict)
0227 
0228 
0229     def getfields(self):
0230         return self.__fields
0231 
0232 
0233     def _update(self, args, kwargs):
0234         super(pbfileentry,self)._update(args,kwargs)
0235         keys=kwargs.keys()
0236         for key in keys:
0237             if key in self.__fields:
0238                 setattr(self, key, kwargs[key])
0239                 del kwargs[key]
0240         # Were any unrecognized kwargs passed in?
0241         if __debug__:
0242             self._complainaboutunusedargs(pbfileentry,kwargs)
0243         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0244         # Make all P fields that haven't already been constructed
0245 
0246 
0247     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0248         'Writes this packet to the supplied buffer'
0249         self._bufferstartoffset=buf.getcurrentoffset()
0250         try: self.__field_entry_tag
0251         except:
0252             self.__field_entry_tag=STRING(**{'sizeinbytes': 5,  'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
0253         self.__field_entry_tag.writetobuffer(buf)
0254         if self.entry_tag==PB_ENTRY_SOR:
0255             try: self.__field_mod_date
0256             except:
0257                 self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0258             self.__field_mod_date.writetobuffer(buf)
0259             try: self.__field_unk0
0260             except:
0261                 self.__field_unk0=STRING(**{'sizeinbytes': 6,  'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
0262             self.__field_unk0.writetobuffer(buf)
0263             self.__field_entry_number1.writetobuffer(buf)
0264             self.__field_entry_number0.writetobuffer(buf)
0265             try: self.__field_name
0266             except:
0267                 self.__field_name=USTRING(**{'sizeinbytes': 33,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
0268             self.__field_name.writetobuffer(buf)
0269             try: self.__field_group
0270             except:
0271                 self.__field_group=UINT(**{'sizeinbytes': 2,  'default': 0 })
0272             self.__field_group.writetobuffer(buf)
0273             try: self.__field_emails
0274             except:
0275                 self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx8550_72, 'length': NUMEMAILS})
0276             self.__field_emails.writetobuffer(buf)
0277             try: self.__field_ringtone
0278             except:
0279                 self.__field_ringtone=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
0280             self.__field_ringtone.writetobuffer(buf)
0281             try: self.__field_wallpaper
0282             except:
0283                 self.__field_wallpaper=UINT(**{'sizeinbytes': 2,  'default': 0 })
0284             self.__field_wallpaper.writetobuffer(buf)
0285             try: self.__field_numbertypes
0286             except:
0287                 self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx8550_76, 'length': NUMPHONENUMBERS})
0288             self.__field_numbertypes.writetobuffer(buf)
0289             try: self.__field_numberindices
0290             except:
0291                 self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx8550_78, 'length': NUMPHONENUMBERS})
0292             self.__field_numberindices.writetobuffer(buf)
0293             try: self.__field_memo
0294             except:
0295                 self.__field_memo=USTRING(**{'sizeinbytes': 69,  'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
0296             self.__field_memo.writetobuffer(buf)
0297             try: self.__field_exit_tag
0298             except:
0299                 self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
0300             self.__field_exit_tag.writetobuffer(buf)
0301         else:
0302             try: self.__field_dontcare
0303             except:
0304                 self.__field_dontcare=DATA(**{'sizeinbytes': 251,  'default': '\xff'*251 })
0305             self.__field_dontcare.writetobuffer(buf)
0306         self._bufferendoffset=buf.getcurrentoffset()
0307         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0308 
0309 
0310     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0311         'Reads this packet from the supplied buffer'
0312         self._bufferstartoffset=buf.getcurrentoffset()
0313         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0314         self.__field_entry_tag=STRING(**{'sizeinbytes': 5,  'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
0315         self.__field_entry_tag.readfrombuffer(buf)
0316         if self.entry_tag==PB_ENTRY_SOR:
0317             self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0318             self.__field_mod_date.readfrombuffer(buf)
0319             self.__field_unk0=STRING(**{'sizeinbytes': 6,  'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
0320             self.__field_unk0.readfrombuffer(buf)
0321             self.__field_entry_number1=UINT(**{'sizeinbytes': 4})
0322             self.__field_entry_number1.readfrombuffer(buf)
0323             self.__field_entry_number0=UINT(**{'sizeinbytes': 2})
0324             self.__field_entry_number0.readfrombuffer(buf)
0325             self.__field_name=USTRING(**{'sizeinbytes': 33,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
0326             self.__field_name.readfrombuffer(buf)
0327             self.__field_group=UINT(**{'sizeinbytes': 2,  'default': 0 })
0328             self.__field_group.readfrombuffer(buf)
0329             self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx8550_72, 'length': NUMEMAILS})
0330             self.__field_emails.readfrombuffer(buf)
0331             self.__field_ringtone=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
0332             self.__field_ringtone.readfrombuffer(buf)
0333             self.__field_wallpaper=UINT(**{'sizeinbytes': 2,  'default': 0 })
0334             self.__field_wallpaper.readfrombuffer(buf)
0335             self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx8550_76, 'length': NUMPHONENUMBERS})
0336             self.__field_numbertypes.readfrombuffer(buf)
0337             self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx8550_78, 'length': NUMPHONENUMBERS})
0338             self.__field_numberindices.readfrombuffer(buf)
0339             self.__field_memo=USTRING(**{'sizeinbytes': 69,  'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
0340             self.__field_memo.readfrombuffer(buf)
0341             self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
0342             self.__field_exit_tag.readfrombuffer(buf)
0343         else:
0344             self.__field_dontcare=DATA(**{'sizeinbytes': 251,  'default': '\xff'*251 })
0345             self.__field_dontcare.readfrombuffer(buf)
0346         self._bufferendoffset=buf.getcurrentoffset()
0347 
0348 
0349     def __getfield_entry_tag(self):
0350         try: self.__field_entry_tag
0351         except:
0352             self.__field_entry_tag=STRING(**{'sizeinbytes': 5,  'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
0353         return self.__field_entry_tag.getvalue()
0354 
0355     def __setfield_entry_tag(self, value):
0356         if isinstance(value,STRING):
0357             self.__field_entry_tag=value
0358         else:
0359             self.__field_entry_tag=STRING(value,**{'sizeinbytes': 5,  'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '\xff\xff\xff\xff\xff' })
0360 
0361     def __delfield_entry_tag(self): del self.__field_entry_tag
0362 
0363     entry_tag=property(__getfield_entry_tag, __setfield_entry_tag, __delfield_entry_tag, None)
0364 
0365     def __getfield_mod_date(self):
0366         try: self.__field_mod_date
0367         except:
0368             self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0369         return self.__field_mod_date.getvalue()
0370 
0371     def __setfield_mod_date(self, value):
0372         if isinstance(value,PBDateTime):
0373             self.__field_mod_date=value
0374         else:
0375             self.__field_mod_date=PBDateTime(value,**{ 'defaulttocurrenttime': True })
0376 
0377     def __delfield_mod_date(self): del self.__field_mod_date
0378 
0379     mod_date=property(__getfield_mod_date, __setfield_mod_date, __delfield_mod_date, None)
0380 
0381     def __getfield_unk0(self):
0382         try: self.__field_unk0
0383         except:
0384             self.__field_unk0=STRING(**{'sizeinbytes': 6,  'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
0385         return self.__field_unk0.getvalue()
0386 
0387     def __setfield_unk0(self, value):
0388         if isinstance(value,STRING):
0389             self.__field_unk0=value
0390         else:
0391             self.__field_unk0=STRING(value,**{'sizeinbytes': 6,  'terminator': None, 'default': '\xff\xff\xff\xff\xff\xff' })
0392 
0393     def __delfield_unk0(self): del self.__field_unk0
0394 
0395     unk0=property(__getfield_unk0, __setfield_unk0, __delfield_unk0, None)
0396 
0397     def __getfield_entry_number1(self):
0398         return self.__field_entry_number1.getvalue()
0399 
0400     def __setfield_entry_number1(self, value):
0401         if isinstance(value,UINT):
0402             self.__field_entry_number1=value
0403         else:
0404             self.__field_entry_number1=UINT(value,**{'sizeinbytes': 4})
0405 
0406     def __delfield_entry_number1(self): del self.__field_entry_number1
0407 
0408     entry_number1=property(__getfield_entry_number1, __setfield_entry_number1, __delfield_entry_number1, None)
0409 
0410     def __getfield_entry_number0(self):
0411         return self.__field_entry_number0.getvalue()
0412 
0413     def __setfield_entry_number0(self, value):
0414         if isinstance(value,UINT):
0415             self.__field_entry_number0=value
0416         else:
0417             self.__field_entry_number0=UINT(value,**{'sizeinbytes': 2})
0418 
0419     def __delfield_entry_number0(self): del self.__field_entry_number0
0420 
0421     entry_number0=property(__getfield_entry_number0, __setfield_entry_number0, __delfield_entry_number0, None)
0422 
0423     def __getfield_name(self):
0424         try: self.__field_name
0425         except:
0426             self.__field_name=USTRING(**{'sizeinbytes': 33,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
0427         return self.__field_name.getvalue()
0428 
0429     def __setfield_name(self, value):
0430         if isinstance(value,USTRING):
0431             self.__field_name=value
0432         else:
0433             self.__field_name=USTRING(value,**{'sizeinbytes': 33,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
0434 
0435     def __delfield_name(self): del self.__field_name
0436 
0437     name=property(__getfield_name, __setfield_name, __delfield_name, None)
0438 
0439     def __getfield_group(self):
0440         try: self.__field_group
0441         except:
0442             self.__field_group=UINT(**{'sizeinbytes': 2,  'default': 0 })
0443         return self.__field_group.getvalue()
0444 
0445     def __setfield_group(self, value):
0446         if isinstance(value,UINT):
0447             self.__field_group=value
0448         else:
0449             self.__field_group=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
0450 
0451     def __delfield_group(self): del self.__field_group
0452 
0453     group=property(__getfield_group, __setfield_group, __delfield_group, None)
0454 
0455     def __getfield_emails(self):
0456         try: self.__field_emails
0457         except:
0458             self.__field_emails=LIST(**{'elementclass': _gen_p_lgvx8550_72, 'length': NUMEMAILS})
0459         return self.__field_emails.getvalue()
0460 
0461     def __setfield_emails(self, value):
0462         if isinstance(value,LIST):
0463             self.__field_emails=value
0464         else:
0465             self.__field_emails=LIST(value,**{'elementclass': _gen_p_lgvx8550_72, 'length': NUMEMAILS})
0466 
0467     def __delfield_emails(self): del self.__field_emails
0468 
0469     emails=property(__getfield_emails, __setfield_emails, __delfield_emails, None)
0470 
0471     def __getfield_ringtone(self):
0472         try: self.__field_ringtone
0473         except:
0474             self.__field_ringtone=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
0475         return self.__field_ringtone.getvalue()
0476 
0477     def __setfield_ringtone(self, value):
0478         if isinstance(value,UINT):
0479             self.__field_ringtone=value
0480         else:
0481             self.__field_ringtone=UINT(value,**{'sizeinbytes': 2,  'default': 0xffff })
0482 
0483     def __delfield_ringtone(self): del self.__field_ringtone
0484 
0485     ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None)
0486 
0487     def __getfield_wallpaper(self):
0488         try: self.__field_wallpaper
0489         except:
0490             self.__field_wallpaper=UINT(**{'sizeinbytes': 2,  'default': 0 })
0491         return self.__field_wallpaper.getvalue()
0492 
0493     def __setfield_wallpaper(self, value):
0494         if isinstance(value,UINT):
0495             self.__field_wallpaper=value
0496         else:
0497             self.__field_wallpaper=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
0498 
0499     def __delfield_wallpaper(self): del self.__field_wallpaper
0500 
0501     wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None)
0502 
0503     def __getfield_numbertypes(self):
0504         try: self.__field_numbertypes
0505         except:
0506             self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lgvx8550_76, 'length': NUMPHONENUMBERS})
0507         return self.__field_numbertypes.getvalue()
0508 
0509     def __setfield_numbertypes(self, value):
0510         if isinstance(value,LIST):
0511             self.__field_numbertypes=value
0512         else:
0513             self.__field_numbertypes=LIST(value,**{'elementclass': _gen_p_lgvx8550_76, 'length': NUMPHONENUMBERS})
0514 
0515     def __delfield_numbertypes(self): del self.__field_numbertypes
0516 
0517     numbertypes=property(__getfield_numbertypes, __setfield_numbertypes, __delfield_numbertypes, None)
0518 
0519     def __getfield_numberindices(self):
0520         try: self.__field_numberindices
0521         except:
0522             self.__field_numberindices=LIST(**{'elementclass': _gen_p_lgvx8550_78, 'length': NUMPHONENUMBERS})
0523         return self.__field_numberindices.getvalue()
0524 
0525     def __setfield_numberindices(self, value):
0526         if isinstance(value,LIST):
0527             self.__field_numberindices=value
0528         else:
0529             self.__field_numberindices=LIST(value,**{'elementclass': _gen_p_lgvx8550_78, 'length': NUMPHONENUMBERS})
0530 
0531     def __delfield_numberindices(self): del self.__field_numberindices
0532 
0533     numberindices=property(__getfield_numberindices, __setfield_numberindices, __delfield_numberindices, None)
0534 
0535     def __getfield_memo(self):
0536         try: self.__field_memo
0537         except:
0538             self.__field_memo=USTRING(**{'sizeinbytes': 69,  'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
0539         return self.__field_memo.getvalue()
0540 
0541     def __setfield_memo(self, value):
0542         if isinstance(value,USTRING):
0543             self.__field_memo=value
0544         else:
0545             self.__field_memo=USTRING(value,**{'sizeinbytes': 69,  'raiseonunterminatedread': False, 'default': '', 'encoding': PHONE_ENCODING })
0546 
0547     def __delfield_memo(self): del self.__field_memo
0548 
0549     memo=property(__getfield_memo, __setfield_memo, __delfield_memo, None)
0550 
0551     def __getfield_exit_tag(self):
0552         try: self.__field_exit_tag
0553         except:
0554             self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
0555         return self.__field_exit_tag.getvalue()
0556 
0557     def __setfield_exit_tag(self, value):
0558         if isinstance(value,USTRING):
0559             self.__field_exit_tag=value
0560         else:
0561             self.__field_exit_tag=USTRING(value,**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PE>'})
0562 
0563     def __delfield_exit_tag(self): del self.__field_exit_tag
0564 
0565     exit_tag=property(__getfield_exit_tag, __setfield_exit_tag, __delfield_exit_tag, None)
0566 
0567     def __getfield_dontcare(self):
0568         try: self.__field_dontcare
0569         except:
0570             self.__field_dontcare=DATA(**{'sizeinbytes': 251,  'default': '\xff'*251 })
0571         return self.__field_dontcare.getvalue()
0572 
0573     def __setfield_dontcare(self, value):
0574         if isinstance(value,DATA):
0575             self.__field_dontcare=value
0576         else:
0577             self.__field_dontcare=DATA(value,**{'sizeinbytes': 251,  'default': '\xff'*251 })
0578 
0579     def __delfield_dontcare(self): del self.__field_dontcare
0580 
0581     dontcare=property(__getfield_dontcare, __setfield_dontcare, __delfield_dontcare, None)
0582 
0583     def iscontainer(self):
0584         return True
0585 
0586     def containerelements(self):
0587         yield ('entry_tag', self.__field_entry_tag, None)
0588         if self.entry_tag==PB_ENTRY_SOR:
0589             yield ('mod_date', self.__field_mod_date, None)
0590             yield ('unk0', self.__field_unk0, None)
0591             yield ('entry_number1', self.__field_entry_number1, None)
0592             yield ('entry_number0', self.__field_entry_number0, None)
0593             yield ('name', self.__field_name, None)
0594             yield ('group', self.__field_group, None)
0595             yield ('emails', self.__field_emails, None)
0596             yield ('ringtone', self.__field_ringtone, None)
0597             yield ('wallpaper', self.__field_wallpaper, None)
0598             yield ('numbertypes', self.__field_numbertypes, None)
0599             yield ('numberindices', self.__field_numberindices, None)
0600             yield ('memo', self.__field_memo, None)
0601             yield ('exit_tag', self.__field_exit_tag, None)
0602         else:
0603             yield ('dontcare', self.__field_dontcare, None)
0604 
0605     def valid(self):
0606         global PB_ENTRY_SOR
0607         return self.entry_tag==PB_ENTRY_SOR and ord(self.name[0]) != 0xff
0608 
0609 
0610 
0611 
0612 class _gen_p_lgvx8550_72(BaseProtogenClass):
0613     'Anonymous inner class'
0614     __fields=['email']
0615 
0616     def __init__(self, *args, **kwargs):
0617         dict={}
0618         # What was supplied to this function
0619         dict.update(kwargs)
0620         # Parent constructor
0621         super(_gen_p_lgvx8550_72,self).__init__(**dict)
0622         if self.__class__ is _gen_p_lgvx8550_72:
0623             self._update(args,dict)
0624 
0625 
0626     def getfields(self):
0627         return self.__fields
0628 
0629 
0630     def _update(self, args, kwargs):
0631         super(_gen_p_lgvx8550_72,self)._update(args,kwargs)
0632         keys=kwargs.keys()
0633         for key in keys:
0634             if key in self.__fields:
0635                 setattr(self, key, kwargs[key])
0636                 del kwargs[key]
0637         # Were any unrecognized kwargs passed in?
0638         if __debug__:
0639             self._complainaboutunusedargs(_gen_p_lgvx8550_72,kwargs)
0640         if len(args):
0641             dict2={'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False}
0642             dict2.update(kwargs)
0643             kwargs=dict2
0644             self.__field_email=USTRING(*args,**dict2)
0645         # Make all P fields that haven't already been constructed
0646 
0647 
0648     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0649         'Writes this packet to the supplied buffer'
0650         self._bufferstartoffset=buf.getcurrentoffset()
0651         self.__field_email.writetobuffer(buf)
0652         self._bufferendoffset=buf.getcurrentoffset()
0653         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0654 
0655 
0656     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0657         'Reads this packet from the supplied buffer'
0658         self._bufferstartoffset=buf.getcurrentoffset()
0659         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0660         self.__field_email=USTRING(**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0661         self.__field_email.readfrombuffer(buf)
0662         self._bufferendoffset=buf.getcurrentoffset()
0663 
0664 
0665     def __getfield_email(self):
0666         return self.__field_email.getvalue()
0667 
0668     def __setfield_email(self, value):
0669         if isinstance(value,USTRING):
0670             self.__field_email=value
0671         else:
0672             self.__field_email=USTRING(value,**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0673 
0674     def __delfield_email(self): del self.__field_email
0675 
0676     email=property(__getfield_email, __setfield_email, __delfield_email, None)
0677 
0678     def iscontainer(self):
0679         return True
0680 
0681     def containerelements(self):
0682         yield ('email', self.__field_email, None)
0683 
0684 
0685 
0686 
0687 class _gen_p_lgvx8550_76(BaseProtogenClass):
0688     'Anonymous inner class'
0689     __fields=['numbertype']
0690 
0691     def __init__(self, *args, **kwargs):
0692         dict={}
0693         # What was supplied to this function
0694         dict.update(kwargs)
0695         # Parent constructor
0696         super(_gen_p_lgvx8550_76,self).__init__(**dict)
0697         if self.__class__ is _gen_p_lgvx8550_76:
0698             self._update(args,dict)
0699 
0700 
0701     def getfields(self):
0702         return self.__fields
0703 
0704 
0705     def _update(self, args, kwargs):
0706         super(_gen_p_lgvx8550_76,self)._update(args,kwargs)
0707         keys=kwargs.keys()
0708         for key in keys:
0709             if key in self.__fields:
0710                 setattr(self, key, kwargs[key])
0711                 del kwargs[key]
0712         # Were any unrecognized kwargs passed in?
0713         if __debug__:
0714             self._complainaboutunusedargs(_gen_p_lgvx8550_76,kwargs)
0715         if len(args):
0716             dict2={'sizeinbytes': 1,  'default': 0 }
0717             dict2.update(kwargs)
0718             kwargs=dict2
0719             self.__field_numbertype=UINT(*args,**dict2)
0720         # Make all P fields that haven't already been constructed
0721 
0722 
0723     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0724         'Writes this packet to the supplied buffer'
0725         self._bufferstartoffset=buf.getcurrentoffset()
0726         self.__field_numbertype.writetobuffer(buf)
0727         self._bufferendoffset=buf.getcurrentoffset()
0728         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0729 
0730 
0731     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0732         'Reads this packet from the supplied buffer'
0733         self._bufferstartoffset=buf.getcurrentoffset()
0734         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0735         self.__field_numbertype=UINT(**{'sizeinbytes': 1,  'default': 0 })
0736         self.__field_numbertype.readfrombuffer(buf)
0737         self._bufferendoffset=buf.getcurrentoffset()
0738 
0739 
0740     def __getfield_numbertype(self):
0741         return self.__field_numbertype.getvalue()
0742 
0743     def __setfield_numbertype(self, value):
0744         if isinstance(value,UINT):
0745             self.__field_numbertype=value
0746         else:
0747             self.__field_numbertype=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
0748 
0749     def __delfield_numbertype(self): del self.__field_numbertype
0750 
0751     numbertype=property(__getfield_numbertype, __setfield_numbertype, __delfield_numbertype, None)
0752 
0753     def iscontainer(self):
0754         return True
0755 
0756     def containerelements(self):
0757         yield ('numbertype', self.__field_numbertype, None)
0758 
0759 
0760 
0761 
0762 class _gen_p_lgvx8550_78(BaseProtogenClass):
0763     'Anonymous inner class'
0764     __fields=['numberindex']
0765 
0766     def __init__(self, *args, **kwargs):
0767         dict={}
0768         # What was supplied to this function
0769         dict.update(kwargs)
0770         # Parent constructor
0771         super(_gen_p_lgvx8550_78,self).__init__(**dict)
0772         if self.__class__ is _gen_p_lgvx8550_78:
0773             self._update(args,dict)
0774 
0775 
0776     def getfields(self):
0777         return self.__fields
0778 
0779 
0780     def _update(self, args, kwargs):
0781         super(_gen_p_lgvx8550_78,self)._update(args,kwargs)
0782         keys=kwargs.keys()
0783         for key in keys:
0784             if key in self.__fields:
0785                 setattr(self, key, kwargs[key])
0786                 del kwargs[key]
0787         # Were any unrecognized kwargs passed in?
0788         if __debug__:
0789             self._complainaboutunusedargs(_gen_p_lgvx8550_78,kwargs)
0790         if len(args):
0791             dict2={'sizeinbytes': 2,  'default': 0xffff }
0792             dict2.update(kwargs)
0793             kwargs=dict2
0794             self.__field_numberindex=UINT(*args,**dict2)
0795         # Make all P fields that haven't already been constructed
0796 
0797 
0798     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0799         'Writes this packet to the supplied buffer'
0800         self._bufferstartoffset=buf.getcurrentoffset()
0801         self.__field_numberindex.writetobuffer(buf)
0802         self._bufferendoffset=buf.getcurrentoffset()
0803         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0804 
0805 
0806     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0807         'Reads this packet from the supplied buffer'
0808         self._bufferstartoffset=buf.getcurrentoffset()
0809         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0810         self.__field_numberindex=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
0811         self.__field_numberindex.readfrombuffer(buf)
0812         self._bufferendoffset=buf.getcurrentoffset()
0813 
0814 
0815     def __getfield_numberindex(self):
0816         return self.__field_numberindex.getvalue()
0817 
0818     def __setfield_numberindex(self, value):
0819         if isinstance(value,UINT):
0820             self.__field_numberindex=value
0821         else:
0822             self.__field_numberindex=UINT(value,**{'sizeinbytes': 2,  'default': 0xffff })
0823 
0824     def __delfield_numberindex(self): del self.__field_numberindex
0825 
0826     numberindex=property(__getfield_numberindex, __setfield_numberindex, __delfield_numberindex, None)
0827 
0828     def iscontainer(self):
0829         return True
0830 
0831     def containerelements(self):
0832         yield ('numberindex', self.__field_numberindex, None)
0833 
0834 
0835 
0836 
0837 class pbfile(BaseProtogenClass):
0838     __fields=['items', 'eof_tag', 'model_name', 'mod_date', 'blanks', 'eof_close_tag']
0839 
0840     def __init__(self, *args, **kwargs):
0841         dict={}
0842         # What was supplied to this function
0843         dict.update(kwargs)
0844         # Parent constructor
0845         super(pbfile,self).__init__(**dict)
0846         if self.__class__ is pbfile:
0847             self._update(args,dict)
0848 
0849 
0850     def getfields(self):
0851         return self.__fields
0852 
0853 
0854     def _update(self, args, kwargs):
0855         super(pbfile,self)._update(args,kwargs)
0856         keys=kwargs.keys()
0857         for key in keys:
0858             if key in self.__fields:
0859                 setattr(self, key, kwargs[key])
0860                 del kwargs[key]
0861         # Were any unrecognized kwargs passed in?
0862         if __debug__:
0863             self._complainaboutunusedargs(pbfile,kwargs)
0864         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0865         # Make all P fields that haven't already been constructed
0866 
0867 
0868     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0869         'Writes this packet to the supplied buffer'
0870         self._bufferstartoffset=buf.getcurrentoffset()
0871         try: self.__field_items
0872         except:
0873             self.__field_items=LIST(**{ 'elementclass': pbfileentry,             'length': NUMPHONEBOOKENTRIES,             'createdefault': True})
0874         self.__field_items.writetobuffer(buf)
0875         try: self.__field_eof_tag
0876         except:
0877             self.__field_eof_tag=STRING(**{'sizeinbytes': 6,  'default': '<HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False })
0878         self.__field_eof_tag.writetobuffer(buf)
0879         try: self.__field_model_name
0880         except:
0881             self.__field_model_name=STRING(**{'sizeinbytes': 10,  'raiseonunterminatedread': False,                'raiseontruncate': False })
0882         self.__field_model_name.writetobuffer(buf)
0883         try: self.__field_mod_date
0884         except:
0885             self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0886         self.__field_mod_date.writetobuffer(buf)
0887         try: self.__field_blanks
0888         except:
0889             self.__field_blanks=DATA(**{'sizeinbytes': 221,  'default': '\x00'*221 })
0890         self.__field_blanks.writetobuffer(buf)
0891         try: self.__field_eof_close_tag
0892         except:
0893             self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7,  'default': '</HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False  })
0894         self.__field_eof_close_tag.writetobuffer(buf)
0895         self._bufferendoffset=buf.getcurrentoffset()
0896         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0897 
0898 
0899     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0900         'Reads this packet from the supplied buffer'
0901         self._bufferstartoffset=buf.getcurrentoffset()
0902         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0903         self.__field_items=LIST(**{ 'elementclass': pbfileentry,             'length': NUMPHONEBOOKENTRIES,             'createdefault': True})
0904         self.__field_items.readfrombuffer(buf)
0905         self.__field_eof_tag=STRING(**{'sizeinbytes': 6,  'default': '<HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False })
0906         self.__field_eof_tag.readfrombuffer(buf)
0907         self.__field_model_name=STRING(**{'sizeinbytes': 10,  'raiseonunterminatedread': False,                'raiseontruncate': False })
0908         self.__field_model_name.readfrombuffer(buf)
0909         self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0910         self.__field_mod_date.readfrombuffer(buf)
0911         self.__field_blanks=DATA(**{'sizeinbytes': 221,  'default': '\x00'*221 })
0912         self.__field_blanks.readfrombuffer(buf)
0913         self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7,  'default': '</HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False  })
0914         self.__field_eof_close_tag.readfrombuffer(buf)
0915         self._bufferendoffset=buf.getcurrentoffset()
0916 
0917 
0918     def __getfield_items(self):
0919         try: self.__field_items
0920         except:
0921             self.__field_items=LIST(**{ 'elementclass': pbfileentry,             'length': NUMPHONEBOOKENTRIES,             'createdefault': True})
0922         return self.__field_items.getvalue()
0923 
0924     def __setfield_items(self, value):
0925         if isinstance(value,LIST):
0926             self.__field_items=value
0927         else:
0928             self.__field_items=LIST(value,**{ 'elementclass': pbfileentry,             'length': NUMPHONEBOOKENTRIES,             'createdefault': True})
0929 
0930     def __delfield_items(self): del self.__field_items
0931 
0932     items=property(__getfield_items, __setfield_items, __delfield_items, None)
0933 
0934     def __getfield_eof_tag(self):
0935         try: self.__field_eof_tag
0936         except:
0937             self.__field_eof_tag=STRING(**{'sizeinbytes': 6,  'default': '<HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False })
0938         return self.__field_eof_tag.getvalue()
0939 
0940     def __setfield_eof_tag(self, value):
0941         if isinstance(value,STRING):
0942             self.__field_eof_tag=value
0943         else:
0944             self.__field_eof_tag=STRING(value,**{'sizeinbytes': 6,  'default': '<HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False })
0945 
0946     def __delfield_eof_tag(self): del self.__field_eof_tag
0947 
0948     eof_tag=property(__getfield_eof_tag, __setfield_eof_tag, __delfield_eof_tag, None)
0949 
0950     def __getfield_model_name(self):
0951         try: self.__field_model_name
0952         except:
0953             self.__field_model_name=STRING(**{'sizeinbytes': 10,  'raiseonunterminatedread': False,                'raiseontruncate': False })
0954         return self.__field_model_name.getvalue()
0955 
0956     def __setfield_model_name(self, value):
0957         if isinstance(value,STRING):
0958             self.__field_model_name=value
0959         else:
0960             self.__field_model_name=STRING(value,**{'sizeinbytes': 10,  'raiseonunterminatedread': False,                'raiseontruncate': False })
0961 
0962     def __delfield_model_name(self): del self.__field_model_name
0963 
0964     model_name=property(__getfield_model_name, __setfield_model_name, __delfield_model_name, None)
0965 
0966     def __getfield_mod_date(self):
0967         try: self.__field_mod_date
0968         except:
0969             self.__field_mod_date=PBDateTime(**{ 'defaulttocurrenttime': True })
0970         return self.__field_mod_date.getvalue()
0971 
0972     def __setfield_mod_date(self, value):
0973         if isinstance(value,PBDateTime):
0974             self.__field_mod_date=value
0975         else:
0976             self.__field_mod_date=PBDateTime(value,**{ 'defaulttocurrenttime': True })
0977 
0978     def __delfield_mod_date(self): del self.__field_mod_date
0979 
0980     mod_date=property(__getfield_mod_date, __setfield_mod_date, __delfield_mod_date, None)
0981 
0982     def __getfield_blanks(self):
0983         try: self.__field_blanks
0984         except:
0985             self.__field_blanks=DATA(**{'sizeinbytes': 221,  'default': '\x00'*221 })
0986         return self.__field_blanks.getvalue()
0987 
0988     def __setfield_blanks(self, value):
0989         if isinstance(value,DATA):
0990             self.__field_blanks=value
0991         else:
0992             self.__field_blanks=DATA(value,**{'sizeinbytes': 221,  'default': '\x00'*221 })
0993 
0994     def __delfield_blanks(self): del self.__field_blanks
0995 
0996     blanks=property(__getfield_blanks, __setfield_blanks, __delfield_blanks, None)
0997 
0998     def __getfield_eof_close_tag(self):
0999         try: self.__field_eof_close_tag
1000         except:
1001             self.__field_eof_close_tag=STRING(**{'sizeinbytes': 7,  'default': '</HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False  })
1002         return self.__field_eof_close_tag.getvalue()
1003 
1004     def __setfield_eof_close_tag(self, value):
1005         if isinstance(value,STRING):
1006             self.__field_eof_close_tag=value
1007         else:
1008             self.__field_eof_close_tag=STRING(value,**{'sizeinbytes': 7,  'default': '</HPE>',               'raiseonunterminatedread': False,               'raiseontruncate': False  })
1009 
1010     def __delfield_eof_close_tag(self): del self.__field_eof_close_tag
1011 
1012     eof_close_tag=property(__getfield_eof_close_tag, __setfield_eof_close_tag, __delfield_eof_close_tag, None)
1013 
1014     def iscontainer(self):
1015         return True
1016 
1017     def containerelements(self):
1018         yield ('items', self.__field_items, None)
1019         yield ('eof_tag', self.__field_eof_tag, None)
1020         yield ('model_name', self.__field_model_name, None)
1021         yield ('mod_date', self.__field_mod_date, None)
1022         yield ('blanks', self.__field_blanks, None)
1023         yield ('eof_close_tag', self.__field_eof_close_tag, None)
1024 
1025 
1026 
1027 
1028 class pnfileentry(BaseProtogenClass):
1029     __fields=['entry_tag', 'pad00', 'mod_date', 'unk0', 'pn_id', 'pe_id', 'pn_order', 'phone_number', 'ntype', 'unk2', 'exit_tag', 'blanks']
1030 
1031     def __init__(self, *args, **kwargs):
1032         dict={}
1033         # What was supplied to this function
1034         dict.update(kwargs)
1035         # Parent constructor
1036         super(pnfileentry,self).__init__(**dict)
1037         if self.__class__ is pnfileentry:
1038             self._update(args,dict)
1039 
1040 
1041     def getfields(self):
1042         return self.__fields
1043 
1044 
1045     def _update(self, args, kwargs):
1046         super(pnfileentry,self)._update(args,kwargs)
1047         keys=kwargs.keys()
1048         for key in keys:
1049             if key in self.__fields:
1050                 setattr(self, key, kwargs[key])
1051                 del kwargs[key]
1052         # Were any unrecognized kwargs passed in?
1053         if __debug__:
1054             self._complainaboutunusedargs(pnfileentry,kwargs)
1055         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1056         # Make all P fields that haven't already been constructed
1057 
1058 
1059     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1060         'Writes this packet to the supplied buffer'
1061         self._bufferstartoffset=buf.getcurrentoffset()
1062         try: self.__field_entry_tag
1063         except:
1064             self.__field_entry_tag=STRING(**{'sizeinbytes': 4,  'terminator': None,                 'raiseonunterminatedread': False,                 'raiseontruncate': False,                 'default': '\xff\xff\xff\xff'})
1065         self.__field_entry_tag.writetobuffer(buf)
1066         if self.entry_tag != '\xff\xff\xff\xff':
1067             try: self.__field_pad00
1068             except:
1069                 self.__field_pad00=UINT(**{'sizeinbytes': 1,  'default': 0 })
1070             self.__field_pad00.writetobuffer(buf)
1071             try: self.__field_mod_date
1072             except:
1073                 self.__field_mod_date=PBDateTime(**{'defaulttocurrenttime': True })
1074             self.__field_mod_date.writetobuffer(buf)
1075             try: self.__field_unk0
1076             except:
1077                 self.__field_unk0=STRING(**{'sizeinbytes': 6,  'default': '', 'raiseonunterminatedread': False })
1078             self.__field_unk0.writetobuffer(buf)
1079             self.__field_pn_id.writetobuffer(buf)
1080             self.__field_pe_id.writetobuffer(buf)
1081             self.__field_pn_order.writetobuffer(buf)
1082             self.__field_phone_number.writetobuffer(buf)
1083             self.__field_ntype.writetobuffer(buf)
1084             try: self.__field_unk2
1085             except:
1086                 self.__field_unk2=UINT(**{'sizeinbytes': 3,  'default': 0 })
1087             self.__field_unk2.writetobuffer(buf)
1088             try: self.__field_exit_tag
1089             except:
1090                 self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PN>'})
1091             self.__field_exit_tag.writetobuffer(buf)
1092         else:
1093             try: self.__field_blanks
1094             except:
1095                 self.__field_blanks=DATA(**{'sizeinbytes': 60,  'default': '\xFF'*60 })
1096             self.__field_blanks.writetobuffer(buf)
1097         self._bufferendoffset=buf.getcurrentoffset()
1098         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1099 
1100 
1101     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1102         'Reads this packet from the supplied buffer'
1103         self._bufferstartoffset=buf.getcurrentoffset()
1104         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1105         self.__field_entry_tag=STRING(**{'sizeinbytes': 4,  'terminator': None,                 'raiseonunterminatedread': False,                 'raiseontruncate': False,                 'default': '\xff\xff\xff\xff'})
1106         self.__field_entry_tag.readfrombuffer(buf)
1107         if self.entry_tag != '\xff\xff\xff\xff':
1108             self.__field_pad00=UINT(**{'sizeinbytes': 1,  'default': 0 })
1109             self.__field_pad00.readfrombuffer(buf)
1110             self.__field_mod_date=PBDateTime(**{'defaulttocurrenttime': True })
1111             self.__field_mod_date.readfrombuffer(buf)
1112             self.__field_unk0=STRING(**{'sizeinbytes': 6,  'default': '', 'raiseonunterminatedread': False })
1113             self.__field_unk0.readfrombuffer(buf)
1114             self.__field_pn_id=UINT(**{'sizeinbytes': 2})
1115             self.__field_pn_id.readfrombuffer(buf)
1116             self.__field_pe_id=UINT(**{'sizeinbytes': 2})
1117             self.__field_pe_id.readfrombuffer(buf)
1118             self.__field_pn_order=UINT(**{'sizeinbytes': 1})
1119             self.__field_pn_order.readfrombuffer(buf)
1120             self.__field_phone_number=LGHEXPN(**{'sizeinbytes': 25})
1121             self.__field_phone_number.readfrombuffer(buf)
1122             self.__field_ntype=UINT(**{'sizeinbytes': 2})
1123             self.__field_ntype.readfrombuffer(buf)
1124             self.__field_unk2=UINT(**{'sizeinbytes': 3,  'default': 0 })
1125             self.__field_unk2.readfrombuffer(buf)
1126             self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PN>'})
1127             self.__field_exit_tag.readfrombuffer(buf)
1128         else:
1129             self.__field_blanks=DATA(**{'sizeinbytes': 60,  'default': '\xFF'*60 })
1130             self.__field_blanks.readfrombuffer(buf)
1131         self._bufferendoffset=buf.getcurrentoffset()
1132 
1133 
1134     def __getfield_entry_tag(self):
1135         try: self.__field_entry_tag
1136         except:
1137             self.__field_entry_tag=STRING(**{'sizeinbytes': 4,  'terminator': None,                 'raiseonunterminatedread': False,                 'raiseontruncate': False,                 'default': '\xff\xff\xff\xff'})
1138         return self.__field_entry_tag.getvalue()
1139 
1140     def __setfield_entry_tag(self, value):
1141         if isinstance(value,STRING):
1142             self.__field_entry_tag=value
1143         else:
1144             self.__field_entry_tag=STRING(value,**{'sizeinbytes': 4,  'terminator': None,                 'raiseonunterminatedread': False,                 'raiseontruncate': False,                 'default': '\xff\xff\xff\xff'})
1145 
1146     def __delfield_entry_tag(self): del self.__field_entry_tag
1147 
1148     entry_tag=property(__getfield_entry_tag, __setfield_entry_tag, __delfield_entry_tag, None)
1149 
1150     def __getfield_pad00(self):
1151         try: self.__field_pad00
1152         except:
1153             self.__field_pad00=UINT(**{'sizeinbytes': 1,  'default': 0 })
1154         return self.__field_pad00.getvalue()
1155 
1156     def __setfield_pad00(self, value):
1157         if isinstance(value,UINT):
1158             self.__field_pad00=value
1159         else:
1160             self.__field_pad00=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
1161 
1162     def __delfield_pad00(self): del self.__field_pad00
1163 
1164     pad00=property(__getfield_pad00, __setfield_pad00, __delfield_pad00, None)
1165 
1166     def __getfield_mod_date(self):
1167         try: self.__field_mod_date
1168         except:
1169             self.__field_mod_date=PBDateTime(**{'defaulttocurrenttime': True })
1170         return self.__field_mod_date.getvalue()
1171 
1172     def __setfield_mod_date(self, value):
1173         if isinstance(value,PBDateTime):
1174             self.__field_mod_date=value
1175         else:
1176             self.__field_mod_date=PBDateTime(value,**{'defaulttocurrenttime': True })
1177 
1178     def __delfield_mod_date(self): del self.__field_mod_date
1179 
1180     mod_date=property(__getfield_mod_date, __setfield_mod_date, __delfield_mod_date, None)
1181 
1182     def __getfield_unk0(self):
1183         try: self.__field_unk0
1184         except:
1185             self.__field_unk0=STRING(**{'sizeinbytes': 6,  'default': '', 'raiseonunterminatedread': False })
1186         return self.__field_unk0.getvalue()
1187 
1188     def __setfield_unk0(self, value):
1189         if isinstance(value,STRING):
1190             self.__field_unk0=value
1191         else:
1192             self.__field_unk0=STRING(value,**{'sizeinbytes': 6,  'default': '', 'raiseonunterminatedread': False })
1193 
1194     def __delfield_unk0(self): del self.__field_unk0
1195 
1196     unk0=property(__getfield_unk0, __setfield_unk0, __delfield_unk0, None)
1197 
1198     def __getfield_pn_id(self):
1199         return self.__field_pn_id.getvalue()
1200 
1201     def __setfield_pn_id(self, value):
1202         if isinstance(value,UINT):
1203             self.__field_pn_id=value
1204         else:
1205             self.__field_pn_id=UINT(value,**{'sizeinbytes': 2})
1206 
1207     def __delfield_pn_id(self): del self.__field_pn_id
1208 
1209     pn_id=property(__getfield_pn_id, __setfield_pn_id, __delfield_pn_id, None)
1210 
1211     def __getfield_pe_id(self):
1212         return self.__field_pe_id.getvalue()
1213 
1214     def __setfield_pe_id(self, value):
1215         if isinstance(value,UINT):
1216             self.__field_pe_id=value
1217         else:
1218             self.__field_pe_id=UINT(value,**{'sizeinbytes': 2})
1219 
1220     def __delfield_pe_id(self): del self.__field_pe_id
1221 
1222     pe_id=property(__getfield_pe_id, __setfield_pe_id, __delfield_pe_id, None)
1223 
1224     def __getfield_pn_order(self):
1225         return self.__field_pn_order.getvalue()
1226 
1227     def __setfield_pn_order(self, value):
1228         if isinstance(value,UINT):
1229             self.__field_pn_order=value
1230         else:
1231             self.__field_pn_order=UINT(value,**{'sizeinbytes': 1})
1232 
1233     def __delfield_pn_order(self): del self.__field_pn_order
1234 
1235     pn_order=property(__getfield_pn_order, __setfield_pn_order, __delfield_pn_order, "0-based order of this phone within this contact")
1236 
1237     def __getfield_phone_number(self):
1238         return self.__field_phone_number.getvalue()
1239 
1240     def __setfield_phone_number(self, value):
1241         if isinstance(value,LGHEXPN):
1242             self.__field_phone_number=value
1243         else:
1244             self.__field_phone_number=LGHEXPN(value,**{'sizeinbytes': 25})
1245 
1246     def __delfield_phone_number(self): del self.__field_phone_number
1247 
1248     phone_number=property(__getfield_phone_number, __setfield_phone_number, __delfield_phone_number, None)
1249 
1250     def __getfield_ntype(self):
1251         return self.__field_ntype.getvalue()
1252 
1253     def __setfield_ntype(self, value):
1254         if isinstance(value,UINT):
1255             self.__field_ntype=value
1256         else:
1257             self.__field_ntype=UINT(value,**{'sizeinbytes': 2})
1258 
1259     def __delfield_ntype(self): del self.__field_ntype
1260 
1261     ntype=property(__getfield_ntype, __setfield_ntype, __delfield_ntype, None)
1262 
1263     def __getfield_unk2(self):
1264         try: self.__field_unk2
1265         except:
1266             self.__field_unk2=UINT(**{'sizeinbytes': 3,  'default': 0 })
1267         return self.__field_unk2.getvalue()
1268 
1269     def __setfield_unk2(self, value):
1270         if isinstance(value,UINT):
1271             self.__field_unk2=value
1272         else:
1273             self.__field_unk2=UINT(value,**{'sizeinbytes': 3,  'default': 0 })
1274 
1275     def __delfield_unk2(self): del self.__field_unk2
1276 
1277     unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)
1278 
1279     def __getfield_exit_tag(self):
1280         try: self.__field_exit_tag
1281         except:
1282             self.__field_exit_tag=USTRING(**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PN>'})
1283         return self.__field_exit_tag.getvalue()
1284 
1285     def __setfield_exit_tag(self, value):
1286         if isinstance(value,USTRING):
1287             self.__field_exit_tag=value
1288         else:
1289             self.__field_exit_tag=USTRING(value,**{'sizeinbytes': 6,  'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '</PN>'})
1290 
1291     def __delfield_exit_tag(self): del self.__field_exit_tag
1292 
1293     exit_tag=property(__getfield_exit_tag, __setfield_exit_tag, __delfield_exit_tag, None)
1294 
1295     def __getfield_blanks(self):
1296         try: self.__field_blanks
1297         except:
1298             self.__field_blanks=DATA(**{'sizeinbytes': 60,  'default': '\xFF'*60 })
1299         return self.__field_blanks.getvalue()
1300 
1301     def __setfield_blanks(self, value):
1302         if isinstance(value,DATA):
1303             self.__field_blanks=value
1304         else:
1305             self.__field_blanks=DATA(value,**{'sizeinbytes': 60,  'default': '\xFF'*60 })
1306 
1307     def __delfield_blanks(self): del self.__field_blanks
1308 
1309     blanks=property(__getfield_blanks, __setfield_blanks, __delfield_blanks, None)
1310 
1311     def iscontainer(self):
1312         return True
1313 
1314     def containerelements(self):
1315         yield ('entry_tag', self.__field_entry_tag, None)
1316         if self.entry_tag != '\xff\xff\xff\xff':
1317             yield ('pad00', self.__field_pad00, None)
1318             yield ('mod_date', self.__field_mod_date, None)
1319             yield ('unk0', self.__field_unk0, None)
1320             yield ('pn_id', self.__field_pn_id, None)
1321             yield ('pe_id', self.__field_pe_id, None)
1322             yield ('pn_order', self.__field_pn_order, "0-based order of this phone within this contact")
1323             yield ('phone_number', self.__field_phone_number, None)
1324             yield ('ntype', self.__field_ntype, None)
1325             yield ('unk2', self.__field_unk2, None)
1326             yield ('exit_tag', self.__field_exit_tag, None)
1327         else:
1328             yield ('blanks', self.__field_blanks, None)
1329 
1330     def valid(self):
1331          return self.phone_number != None
1332     def malformed(self):
1333          # malformed (yet valid) entries have been seen on several phones including the VX-8550 and VX-10000
1334          return self.entry_tag != PB_NUMBER_SOR
1335 
1336 
1337 
1338 
1339 class pnfile(BaseProtogenClass):
1340     __fields=['items']
1341 
1342     def __init__(self, *args, **kwargs):
1343         dict={}
1344         # What was supplied to this function
1345         dict.update(kwargs)
1346         # Parent constructor
1347         super(pnfile,self).__init__(**dict)
1348         if self.__class__ is pnfile:
1349             self._update(args,dict)
1350 
1351 
1352     def getfields(self):
1353         return self.__fields
1354 
1355 
1356     def _update(self, args, kwargs):
1357         super(pnfile,self)._update(args,kwargs)
1358         keys=kwargs.keys()
1359         for key in keys:
1360             if key in self.__fields:
1361                 setattr(self, key, kwargs[key])
1362                 del kwargs[key]
1363         # Were any unrecognized kwargs passed in?
1364         if __debug__:
1365             self._complainaboutunusedargs(pnfile,kwargs)
1366         if len(args):
1367             dict2={ 'elementclass': pnfileentry,             'createdefault': True,             'length': NUMPHONENUMBERENTRIES }
1368             dict2.update(kwargs)
1369             kwargs=dict2
1370             self.__field_items=LIST(*args,**dict2)
1371         # Make all P fields that haven't already been constructed
1372 
1373 
1374     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1375         'Writes this packet to the supplied buffer'
1376         self._bufferstartoffset=buf.getcurrentoffset()
1377         try: self.__field_items
1378         except:
1379             self.__field_items=LIST(**{ 'elementclass': pnfileentry,             'createdefault': True,             'length': NUMPHONENUMBERENTRIES })
1380         self.__field_items.writetobuffer(buf)
1381         self._bufferendoffset=buf.getcurrentoffset()
1382         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1383 
1384 
1385     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1386         'Reads this packet from the supplied buffer'
1387         self._bufferstartoffset=buf.getcurrentoffset()
1388         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1389         self.__field_items=LIST(**{ 'elementclass': pnfileentry,             'createdefault': True,             'length': NUMPHONENUMBERENTRIES })
1390         self.__field_items.readfrombuffer(buf)
1391         self._bufferendoffset=buf.getcurrentoffset()
1392 
1393 
1394     def __getfield_items(self):
1395         try: self.__field_items
1396         except:
1397             self.__field_items=LIST(**{ 'elementclass': pnfileentry,             'createdefault': True,             'length': NUMPHONENUMBERENTRIES })
1398         return self.__field_items.getvalue()
1399 
1400     def __setfield_items(self, value):
1401         if isinstance(value,LIST):
1402             self.__field_items=value
1403         else:
1404             self.__field_items=LIST(value,**{ 'elementclass': pnfileentry,             'createdefault': True,             'length': NUMPHONENUMBERENTRIES })
1405 
1406     def __delfield_items(self): del self.__field_items
1407 
1408     items=property(__getfield_items, __setfield_items, __delfield_items, None)
1409 
1410     def iscontainer(self):
1411         return True
1412 
1413     def containerelements(self):
1414         yield ('items', self.__field_items, None)
1415 
1416 
1417 
1418 
1419 class PathIndexEntry(BaseProtogenClass):
1420     __fields=['pathname']
1421 
1422     def __init__(self, *args, **kwargs):
1423         dict={}
1424         # What was supplied to this function
1425         dict.update(kwargs)
1426         # Parent constructor
1427         super(PathIndexEntry,self).__init__(**dict)
1428         if self.__class__ is PathIndexEntry:
1429             self._update(args,dict)
1430 
1431 
1432     def getfields(self):
1433         return self.__fields
1434 
1435 
1436     def _update(self, args, kwargs):
1437         super(PathIndexEntry,self)._update(args,kwargs)
1438         keys=kwargs.keys()
1439         for key in keys:
1440             if key in self.__fields:
1441                 setattr(self, key, kwargs[key])
1442                 del kwargs[key]
1443         # Were any unrecognized kwargs passed in?
1444         if __debug__:
1445             self._complainaboutunusedargs(PathIndexEntry,kwargs)
1446         if len(args):
1447             dict2={'sizeinbytes': 255,  'encoding': PHONE_ENCODING,                  'default': '' }
1448             dict2.update(kwargs)
1449             kwargs=dict2
1450             self.__field_pathname=USTRING(*args,**dict2)
1451         # Make all P fields that haven't already been constructed
1452 
1453 
1454     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1455         'Writes this packet to the supplied buffer'
1456         self._bufferstartoffset=buf.getcurrentoffset()
1457         try: self.__field_pathname
1458         except:
1459             self.__field_pathname=USTRING(**{'sizeinbytes': 255,  'encoding': PHONE_ENCODING,                  'default': '' })
1460         self.__field_pathname.writetobuffer(buf)
1461         self._bufferendoffset=buf.getcurrentoffset()
1462         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1463 
1464 
1465     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1466         'Reads this packet from the supplied buffer'
1467         self._bufferstartoffset=buf.getcurrentoffset()
1468         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1469         self.__field_pathname=USTRING(**{'sizeinbytes': 255,  'encoding': PHONE_ENCODING,                  'default': '' })
1470         self.__field_pathname.readfrombuffer(buf)
1471         self._bufferendoffset=buf.getcurrentoffset()
1472 
1473 
1474     def __getfield_pathname(self):
1475         try: self.__field_pathname
1476         except:
1477             self.__field_pathname=USTRING(**{'sizeinbytes': 255,  'encoding': PHONE_ENCODING,                  'default': '' })
1478         return self.__field_pathname.getvalue()
1479 
1480     def __setfield_pathname(self, value):
1481         if isinstance(value,USTRING):
1482             self.__field_pathname=value
1483         else:
1484             self.__field_pathname=USTRING(value,**{'sizeinbytes': 255,  'encoding': PHONE_ENCODING,                  'default': '' })
1485 
1486     def __delfield_pathname(self): del self.__field_pathname
1487 
1488     pathname=property(__getfield_pathname, __setfield_pathname, __delfield_pathname, None)
1489 
1490     def iscontainer(self):
1491         return True
1492 
1493     def containerelements(self):
1494         yield ('pathname', self.__field_pathname, None)
1495 
1496 
1497 
1498 
1499 class PathIndexFile(BaseProtogenClass):
1500     __fields=['items']
1501 
1502     def __init__(self, *args, **kwargs):
1503         dict={}
1504         # What was supplied to this function
1505         dict.update(kwargs)
1506         # Parent constructor
1507         super(PathIndexFile,self).__init__(**dict)
1508         if self.__class__ is PathIndexFile:
1509             self._update(args,dict)
1510 
1511 
1512     def getfields(self):
1513         return self.__fields
1514 
1515 
1516     def _update(self, args, kwargs):
1517         super(PathIndexFile,self)._update(args,kwargs)
1518         keys=kwargs.keys()
1519         for key in keys:
1520             if key in self.__fields:
1521                 setattr(self, key, kwargs[key])
1522                 del kwargs[key]
1523         # Were any unrecognized kwargs passed in?
1524         if __debug__:
1525             self._complainaboutunusedargs(PathIndexFile,kwargs)
1526         if len(args):
1527             dict2={ 'elementclass': PathIndexEntry,             'createdefault': True,             'length': NUMPHONEBOOKENTRIES }
1528             dict2.update(kwargs)
1529             kwargs=dict2
1530             self.__field_items=LIST(*args,**dict2)
1531         # Make all P fields that haven't already been constructed
1532 
1533 
1534     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1535         'Writes this packet to the supplied buffer'
1536         self._bufferstartoffset=buf.getcurrentoffset()
1537         try: self.__field_items
1538         except:
1539             self.__field_items=LIST(**{ 'elementclass': PathIndexEntry,             'createdefault': True,             'length': NUMPHONEBOOKENTRIES })
1540         self.__field_items.writetobuffer(buf)
1541         self._bufferendoffset=buf.getcurrentoffset()
1542         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1543 
1544 
1545     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1546         'Reads this packet from the supplied buffer'
1547         self._bufferstartoffset=buf.getcurrentoffset()
1548         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1549         self.__field_items=LIST(**{ 'elementclass': PathIndexEntry,             'createdefault': True,             'length': NUMPHONEBOOKENTRIES })
1550         self.__field_items.readfrombuffer(buf)
1551         self._bufferendoffset=buf.getcurrentoffset()
1552 
1553 
1554     def __getfield_items(self):
1555         try: self.__field_items
1556         except:
1557             self.__field_items=LIST(**{ 'elementclass': PathIndexEntry,             'createdefault': True,             'length': NUMPHONEBOOKENTRIES })
1558         return self.__field_items.getvalue()
1559 
1560     def __setfield_items(self, value):
1561         if isinstance(value,LIST):
1562             self.__field_items=value
1563         else:
1564             self.__field_items=LIST(value,**{ 'elementclass': PathIndexEntry,             'createdefault': True,             'length': NUMPHONEBOOKENTRIES })
1565 
1566     def __delfield_items(self): del self.__field_items
1567 
1568     items=property(__getfield_items, __setfield_items, __delfield_items, None)
1569 
1570     def iscontainer(self):
1571         return True
1572 
1573     def containerelements(self):
1574         yield ('items', self.__field_items, None)
1575 
1576 
1577 
1578 
1579 class RecordIdEntry(BaseProtogenClass):
1580     __fields=['idnum']
1581 
1582     def __init__(self, *args, **kwargs):
1583         dict={}
1584         # What was supplied to this function
1585         dict.update(kwargs)
1586         # Parent constructor
1587         super(RecordIdEntry,self).__init__(**dict)
1588         if self.__class__ is RecordIdEntry:
1589             self._update(args,dict)
1590 
1591 
1592     def getfields(self):
1593         return self.__fields
1594 
1595 
1596     def _update(self, args, kwargs):
1597         super(RecordIdEntry,self)._update(args,kwargs)
1598         keys=kwargs.keys()
1599         for key in keys:
1600             if key in self.__fields:
1601                 setattr(self, key, kwargs[key])
1602                 del kwargs[key]
1603         # Were any unrecognized kwargs passed in?
1604         if __debug__:
1605             self._complainaboutunusedargs(RecordIdEntry,kwargs)
1606         if len(args):
1607             dict2={'sizeinbytes': 4}
1608             dict2.update(kwargs)
1609             kwargs=dict2
1610             self.__field_idnum=UINT(*args,**dict2)
1611         # Make all P fields that haven't already been constructed
1612 
1613 
1614     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1615         'Writes this packet to the supplied buffer'
1616         self._bufferstartoffset=buf.getcurrentoffset()
1617         self.__field_idnum.writetobuffer(buf)
1618         self._bufferendoffset=buf.getcurrentoffset()
1619         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1620 
1621 
1622     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1623         'Reads this packet from the supplied buffer'
1624         self._bufferstartoffset=buf.getcurrentoffset()
1625         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1626         self.__field_idnum=UINT(**{'sizeinbytes': 4})
1627         self.__field_idnum.readfrombuffer(buf)
1628         self._bufferendoffset=buf.getcurrentoffset()
1629 
1630 
1631     def __getfield_idnum(self):
1632         return self.__field_idnum.getvalue()
1633 
1634     def __setfield_idnum(self, value):
1635         if isinstance(value,UINT):
1636             self.__field_idnum=value
1637         else:
1638             self.__field_idnum=UINT(value,**{'sizeinbytes': 4})
1639 
1640     def __delfield_idnum(self): del self.__field_idnum
1641 
1642     idnum=property(__getfield_idnum, __setfield_idnum, __delfield_idnum, None)
1643 
1644     def iscontainer(self):
1645         return True
1646 
1647     def containerelements(self):
1648         yield ('idnum', self.__field_idnum, None)
1649 
1650 
1651 
1652 
1653 class iceentry(BaseProtogenClass):
1654     "ICE index entries"
1655     __fields=['entry_assigned', 'entry_number', 'pb_index', 'dontcare']
1656 
1657     def __init__(self, *args, **kwargs):
1658         dict={}
1659         # What was supplied to this function
1660         dict.update(kwargs)
1661         # Parent constructor
1662         super(iceentry,self).__init__(**dict)
1663         if self.__class__ is iceentry:
1664             self._update(args,dict)
1665 
1666 
1667     def getfields(self):
1668         return self.__fields
1669 
1670 
1671     def _update(self, args, kwargs):
1672         super(iceentry,self)._update(args,kwargs)
1673         keys=kwargs.keys()
1674         for key in keys:
1675             if key in self.__fields:
1676                 setattr(self, key, kwargs[key])
1677                 del kwargs[key]
1678         # Were any unrecognized kwargs passed in?
1679         if __debug__:
1680             self._complainaboutunusedargs(iceentry,kwargs)
1681         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1682         # Make all P fields that haven't already been constructed
1683 
1684 
1685     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1686         'Writes this packet to the supplied buffer'
1687         self._bufferstartoffset=buf.getcurrentoffset()
1688         try: self.__field_entry_assigned
1689         except:
1690             self.__field_entry_assigned=UINT(**{'sizeinbytes': 2,  'default': 0 })
1691         self.__field_entry_assigned.writetobuffer(buf)
1692         try: self.__field_entry_number
1693         except:
1694             self.__field_entry_number=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
1695         self.__field_entry_number.writetobuffer(buf)
1696         try: self.__field_pb_index
1697         except:
1698             self.__field_pb_index=UINT(**{'sizeinbytes': 2,  'default': 0 })
1699         self.__field_pb_index.writetobuffer(buf)
1700         try: self.__field_dontcare
1701         except:
1702             self.__field_dontcare=DATA(**{'sizeinbytes': 82,  'default': '\x00'*82 })
1703         self.__field_dontcare.writetobuffer(buf)
1704         self._bufferendoffset=buf.getcurrentoffset()
1705         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1706 
1707 
1708     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1709         'Reads this packet from the supplied buffer'
1710         self._bufferstartoffset=buf.getcurrentoffset()
1711         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1712         self.__field_entry_assigned=UINT(**{'sizeinbytes': 2,  'default': 0 })
1713         self.__field_entry_assigned.readfrombuffer(buf)
1714         self.__field_entry_number=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
1715         self.__field_entry_number.readfrombuffer(buf)
1716         self.__field_pb_index=UINT(**{'sizeinbytes': 2,  'default': 0 })
1717         self.__field_pb_index.readfrombuffer(buf)
1718         self.__field_dontcare=DATA(**{'sizeinbytes': 82,  'default': '\x00'*82 })
1719         self.__field_dontcare.readfrombuffer(buf)
1720         self._bufferendoffset=buf.getcurrentoffset()
1721 
1722 
1723     def __getfield_entry_assigned(self):
1724         try: self.__field_entry_assigned
1725         except:
1726             self.__field_entry_assigned=UINT(**{'sizeinbytes': 2,  'default': 0 })
1727         return self.__field_entry_assigned.getvalue()
1728 
1729     def __setfield_entry_assigned(self, value):
1730         if isinstance(value,UINT):
1731             self.__field_entry_assigned=value
1732         else:
1733             self.__field_entry_assigned=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
1734 
1735     def __delfield_entry_assigned(self): del self.__field_entry_assigned
1736 
1737     entry_assigned=property(__getfield_entry_assigned, __setfield_entry_assigned, __delfield_entry_assigned, "0 if not assigned, 1 if assigned")
1738 
1739     def __getfield_entry_number(self):
1740         try: self.__field_entry_number
1741         except:
1742             self.__field_entry_number=UINT(**{'sizeinbytes': 2,  'default': 0xffff })
1743         return self.__field_entry_number.getvalue()
1744 
1745     def __setfield_entry_number(self, value):
1746         if isinstance(value,UINT):
1747             self.__field_entry_number=value
1748         else:
1749             self.__field_entry_number=UINT(value,**{'sizeinbytes': 2,  'default': 0xffff })
1750 
1751     def __delfield_entry_number(self): del self.__field_entry_number
1752 
1753     entry_number=property(__getfield_entry_number, __setfield_entry_number, __delfield_entry_number, "0-based ICE entry number")
1754 
1755     def __getfield_pb_index(self):
1756         try: self.__field_pb_index
1757         except:
1758             self.__field_pb_index=UINT(**{'sizeinbytes': 2,  'default': 0 })
1759         return self.__field_pb_index.getvalue()
1760 
1761     def __setfield_pb_index(self, value):
1762         if isinstance(value,UINT):
1763             self.__field_pb_index=value
1764         else:
1765             self.__field_pb_index=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
1766 
1767     def __delfield_pb_index(self): del self.__field_pb_index
1768 
1769     pb_index=property(__getfield_pb_index, __setfield_pb_index, __delfield_pb_index, "0-based phone book entry number")
1770 
1771     def __getfield_dontcare(self):
1772         try: self.__field_dontcare
1773         except:
1774             self.__field_dontcare=DATA(**{'sizeinbytes': 82,  'default': '\x00'*82 })
1775         return self.__field_dontcare.getvalue()
1776 
1777     def __setfield_dontcare(self, value):
1778         if isinstance(value,DATA):
1779             self.__field_dontcare=value
1780         else:
1781             self.__field_dontcare=DATA(value,**{'sizeinbytes': 82,  'default': '\x00'*82 })
1782 
1783     def __delfield_dontcare(self): del self.__field_dontcare
1784 
1785     dontcare=property(__getfield_dontcare, __setfield_dontcare, __delfield_dontcare, None)
1786 
1787     def iscontainer(self):
1788         return True
1789 
1790     def containerelements(self):
1791         yield ('entry_assigned', self.__field_entry_assigned, "0 if not assigned, 1 if assigned")
1792         yield ('entry_number', self.__field_entry_number, "0-based ICE entry number")
1793         yield ('pb_index', self.__field_pb_index, "0-based phone book entry number")
1794         yield ('dontcare', self.__field_dontcare, None)
1795 
1796     def valid(self):
1797         return self.entry_assigned==1 and \
1798                self.entry_number<NUMEMERGENCYCONTACTS and \
1799                self.pb_index<NUMPHONEBOOKENTRIES
1800 
1801 
1802 
1803 
1804 class iceentryfile(BaseProtogenClass):
1805     __fields=['items']
1806 
1807     def __init__(self, *args, **kwargs):
1808         dict={}
1809         # What was supplied to this function
1810         dict.update(kwargs)
1811         # Parent constructor
1812         super(iceentryfile,self).__init__(**dict)
1813         if self.__class__ is iceentryfile:
1814             self._update(args,dict)
1815 
1816 
1817     def getfields(self):
1818         return self.__fields
1819 
1820 
1821     def _update(self, args, kwargs):
1822         super(iceentryfile,self)._update(args,kwargs)
1823         keys=kwargs.keys()
1824         for key in keys:
1825             if key in self.__fields:
1826                 setattr(self, key, kwargs[key])
1827                 del kwargs[key]
1828         # Were any unrecognized kwargs passed in?
1829         if __debug__:
1830             self._complainaboutunusedargs(iceentryfile,kwargs)
1831         if len(args):
1832             dict2={ 'elementclass': iceentry,              'createdefault': True,              'length': NUMEMERGENCYCONTACTS }
1833             dict2.update(kwargs)
1834             kwargs=dict2
1835             self.__field_items=LIST(*args,**dict2)
1836         # Make all P fields that haven't already been constructed
1837 
1838 
1839     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1840         'Writes this packet to the supplied buffer'
1841         self._bufferstartoffset=buf.getcurrentoffset()
1842         try: self.__field_items
1843         except:
1844             self.__field_items=LIST(**{ 'elementclass': iceentry,              'createdefault': True,              'length': NUMEMERGENCYCONTACTS })
1845         self.__field_items.writetobuffer(buf)
1846         self._bufferendoffset=buf.getcurrentoffset()
1847         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1848 
1849 
1850     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1851         'Reads this packet from the supplied buffer'
1852         self._bufferstartoffset=buf.getcurrentoffset()
1853         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1854         self.__field_items=LIST(**{ 'elementclass': iceentry,              'createdefault': True,              'length': NUMEMERGENCYCONTACTS })
1855         self.__field_items.readfrombuffer(buf)
1856         self._bufferendoffset=buf.getcurrentoffset()
1857 
1858 
1859     def __getfield_items(self):
1860         try: self.__field_items
1861         except:
1862             self.__field_items=LIST(**{ 'elementclass': iceentry,              'createdefault': True,              'length': NUMEMERGENCYCONTACTS })
1863         return self.__field_items.getvalue()
1864 
1865     def __setfield_items(self, value):
1866         if isinstance(value,LIST):
1867             self.__field_items=value
1868         else:
1869             self.__field_items=LIST(value,**{ 'elementclass': iceentry,              'createdefault': True,              'length': NUMEMERGENCYCONTACTS })
1870 
1871     def __delfield_items(self): del self.__field_items
1872 
1873     items=property(__getfield_items, __setfield_items, __delfield_items, None)
1874 
1875     def iscontainer(self):
1876         return True
1877 
1878     def containerelements(self):
1879         yield ('items', self.__field_items, None)
1880 
1881 
1882 
1883 
1884 class scheduleevent(BaseProtogenClass):
1885     __fields=['packet_size', 'pos', 'description', 'cdate', 'mdate', 'start', 'end_time', 'end_date', 'repeat', 'alarmindex_vibrate', 'ringtone', 'unknown1', 'alarmminutes', 'alarmhours', 'unknown2', 'unknown3', 'unknown4', 'serial_number']
1886 
1887     def __init__(self, *args, **kwargs):
1888         dict={}
1889         # What was supplied to this function
1890         dict.update(kwargs)
1891         # Parent constructor
1892         super(scheduleevent,self).__init__(**dict)
1893         if self.__class__ is scheduleevent:
1894             self._update(args,dict)
1895 
1896 
1897     def getfields(self):
1898         return self.__fields
1899 
1900 
1901     def _update(self, args, kwargs):
1902         super(scheduleevent,self)._update(args,kwargs)
1903         keys=kwargs.keys()
1904         for key in keys:
1905             if key in self.__fields:
1906                 setattr(self, key, kwargs[key])
1907                 del kwargs[key]
1908         # Were any unrecognized kwargs passed in?
1909         if __debug__:
1910             self._complainaboutunusedargs(scheduleevent,kwargs)
1911         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1912         # Make all P fields that haven't already been constructed
1913         try: self.__field_packet_size
1914         except:
1915             self.__field_packet_size=UINT(**{ 'constant': 138 })
1916 
1917 
1918     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1919         'Writes this packet to the supplied buffer'
1920         self._bufferstartoffset=buf.getcurrentoffset()
1921         try: self.__field_pos
1922         except:
1923             self.__field_pos=UINT(**{'sizeinbytes': 4,  'default': 0 })
1924         self.__field_pos.writetobuffer(buf)
1925         try: self.__field_description
1926         except:
1927             self.__field_description=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' })
1928         self.__field_description.writetobuffer(buf)
1929         try: self.__field_cdate
1930         except:
1931             self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
1932         self.__field_cdate.writetobuffer(buf)
1933         try: self.__field_mdate
1934         except:
1935             self.__field_mdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
1936         self.__field_mdate.writetobuffer(buf)
1937         try: self.__field_start
1938         except:
1939             self.__field_start=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
1940         self.__field_start.writetobuffer(buf)
1941         try: self.__field_end_time
1942         except:
1943             self.__field_end_time=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
1944         self.__field_end_time.writetobuffer(buf)
1945         try: self.__field_end_date
1946         except:
1947             self.__field_end_date=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
1948         self.__field_end_date.writetobuffer(buf)
1949         try: self.__field_repeat
1950         except:
1951             self.__field_repeat=LGCALREPEAT(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
1952         self.__field_repeat.writetobuffer(buf)
1953         try: self.__field_alarmindex_vibrate
1954         except:
1955             self.__field_alarmindex_vibrate=UINT(**{'sizeinbytes': 1,  'default': 0 })
1956         self.__field_alarmindex_vibrate.writetobuffer(buf)
1957         try: self.__field_ringtone
1958         except:
1959             self.__field_ringtone=UINT(**{'sizeinbytes': 1,  'default': 0 })
1960         self.__field_ringtone.writetobuffer(buf)
1961         try: self.__field_unknown1
1962         except:
1963             self.__field_unknown1=UINT(**{'sizeinbytes': 1,  'default': 0 })
1964         self.__field_unknown1.writetobuffer(buf)
1965         try: self.__field_alarmminutes
1966         except:
1967             self.__field_alarmminutes=UINT(**{'sizeinbytes': 1,  'default': 0xff })
1968         self.__field_alarmminutes.writetobuffer(buf)
1969         try: self.__field_alarmhours
1970         except:
1971             self.__field_alarmhours=UINT(**{'sizeinbytes': 1,  'default': 0xff })
1972         self.__field_alarmhours.writetobuffer(buf)
1973         try: self.__field_unknown2
1974         except:
1975             self.__field_unknown2=UINT(**{'sizeinbytes': 1,  'default': 0 })
1976         self.__field_unknown2.writetobuffer(buf)
1977         try: self.__field_unknown3
1978         except:
1979             self.__field_unknown3=UINT(**{'sizeinbytes': 2,  'default': 0x01FB })
1980         self.__field_unknown3.writetobuffer(buf)
1981         try: self.__field_unknown4
1982         except:
1983             self.__field_unknown4=UINT(**{'sizeinbytes': 4,  'default': 0 })
1984         self.__field_unknown4.writetobuffer(buf)
1985         try: self.__field_serial_number
1986         except:
1987             self.__field_serial_number=USTRING(**{'sizeinbytes': 65,  'default': '000000ca-00000000-0000000000-VX855V01', 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
1988         self.__field_serial_number.writetobuffer(buf)
1989         self._bufferendoffset=buf.getcurrentoffset()
1990         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1991 
1992 
1993     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1994         'Reads this packet from the supplied buffer'
1995         self._bufferstartoffset=buf.getcurrentoffset()
1996         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1997         self.__field_pos=UINT(**{'sizeinbytes': 4,  'default': 0 })
1998         self.__field_pos.readfrombuffer(buf)
1999         self.__field_description=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' })
2000         self.__field_description.readfrombuffer(buf)
2001         self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2002         self.__field_cdate.readfrombuffer(buf)
2003         self.__field_mdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2004         self.__field_mdate.readfrombuffer(buf)
2005         self.__field_start=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2006         self.__field_start.readfrombuffer(buf)
2007         self.__field_end_time=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2008         self.__field_end_time.readfrombuffer(buf)
2009         self.__field_end_date=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2010         self.__field_end_date.readfrombuffer(buf)
2011         self.__field_repeat=LGCALREPEAT(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2012         self.__field_repeat.readfrombuffer(buf)
2013         self.__field_alarmindex_vibrate=UINT(**{'sizeinbytes': 1,  'default': 0 })
2014         self.__field_alarmindex_vibrate.readfrombuffer(buf)
2015         self.__field_ringtone=UINT(**{'sizeinbytes': 1,  'default': 0 })
2016         self.__field_ringtone.readfrombuffer(buf)
2017         self.__field_unknown1=UINT(**{'sizeinbytes': 1,  'default': 0 })
2018         self.__field_unknown1.readfrombuffer(buf)
2019         self.__field_alarmminutes=UINT(**{'sizeinbytes': 1,  'default': 0xff })
2020         self.__field_alarmminutes.readfrombuffer(buf)
2021         self.__field_alarmhours=UINT(**{'sizeinbytes': 1,  'default': 0xff })
2022         self.__field_alarmhours.readfrombuffer(buf)
2023         self.__field_unknown2=UINT(**{'sizeinbytes': 1,  'default': 0 })
2024         self.__field_unknown2.readfrombuffer(buf)
2025         self.__field_unknown3=UINT(**{'sizeinbytes': 2,  'default': 0x01FB })
2026         self.__field_unknown3.readfrombuffer(buf)
2027         self.__field_unknown4=UINT(**{'sizeinbytes': 4,  'default': 0 })
2028         self.__field_unknown4.readfrombuffer(buf)
2029         self.__field_serial_number=USTRING(**{'sizeinbytes': 65,  'default': '000000ca-00000000-0000000000-VX855V01', 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2030         self.__field_serial_number.readfrombuffer(buf)
2031         self._bufferendoffset=buf.getcurrentoffset()
2032 
2033 
2034     def __getfield_packet_size(self):
2035         return self.__field_packet_size.getvalue()
2036 
2037     def __setfield_packet_size(self, value):
2038         if isinstance(value,UINT):
2039             self.__field_packet_size=value
2040         else:
2041             self.__field_packet_size=UINT(value,**{ 'constant': 138 })
2042 
2043     def __delfield_packet_size(self): del self.__field_packet_size
2044 
2045     packet_size=property(__getfield_packet_size, __setfield_packet_size, __delfield_packet_size, None)
2046 
2047     def __getfield_pos(self):
2048         try: self.__field_pos
2049         except:
2050             self.__field_pos=UINT(**{'sizeinbytes': 4,  'default': 0 })
2051         return self.__field_pos.getvalue()
2052 
2053     def __setfield_pos(self, value):
2054         if isinstance(value,UINT):
2055             self.__field_pos=value
2056         else:
2057             self.__field_pos=UINT(value,**{'sizeinbytes': 4,  'default': 0 })
2058 
2059     def __delfield_pos(self): del self.__field_pos
2060 
2061     pos=property(__getfield_pos, __setfield_pos, __delfield_pos, "position within file, used as an event id")
2062 
2063     def __getfield_description(self):
2064         try: self.__field_description
2065         except:
2066             self.__field_description=USTRING(**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' })
2067         return self.__field_description.getvalue()
2068 
2069     def __setfield_description(self, value):
2070         if isinstance(value,USTRING):
2071             self.__field_description=value
2072         else:
2073             self.__field_description=USTRING(value,**{'sizeinbytes': 33, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False, 'default': '' })
2074 
2075     def __delfield_description(self): del self.__field_description
2076 
2077     description=property(__getfield_description, __setfield_description, __delfield_description, None)
2078 
2079     def __getfield_cdate(self):
2080         try: self.__field_cdate
2081         except:
2082             self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2083         return self.__field_cdate.getvalue()
2084 
2085     def __setfield_cdate(self, value):
2086         if isinstance(value,GPSDATE):
2087             self.__field_cdate=value
2088         else:
2089             self.__field_cdate=GPSDATE(value,**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2090 
2091     def __delfield_cdate(self): del self.__field_cdate
2092 
2093     cdate=property(__getfield_cdate, __setfield_cdate, __delfield_cdate, None)
2094 
2095     def __getfield_mdate(self):
2096         try: self.__field_mdate
2097         except:
2098             self.__field_mdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2099         return self.__field_mdate.getvalue()
2100 
2101     def __setfield_mdate(self, value):
2102         if isinstance(value,GPSDATE):
2103             self.__field_mdate=value
2104         else:
2105             self.__field_mdate=GPSDATE(value,**{'sizeinbytes': 4,  'default': GPSDATE.now() })
2106 
2107     def __delfield_mdate(self): del self.__field_mdate
2108 
2109     mdate=property(__getfield_mdate, __setfield_mdate, __delfield_mdate, None)
2110 
2111     def __getfield_start(self):
2112         try: self.__field_start
2113         except:
2114             self.__field_start=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2115         return self.__field_start.getvalue()
2116 
2117     def __setfield_start(self, value):
2118         if isinstance(value,LGCALDATE):
2119             self.__field_start=value
2120         else:
2121             self.__field_start=LGCALDATE(value,**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2122 
2123     def __delfield_start(self): del self.__field_start
2124 
2125     start=property(__getfield_start, __setfield_start, __delfield_start, None)
2126 
2127     def __getfield_end_time(self):
2128         try: self.__field_end_time
2129         except:
2130             self.__field_end_time=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2131         return self.__field_end_time.getvalue()
2132 
2133     def __setfield_end_time(self, value):
2134         if isinstance(value,LGCALDATE):
2135             self.__field_end_time=value
2136         else:
2137             self.__field_end_time=LGCALDATE(value,**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2138 
2139     def __delfield_end_time(self): del self.__field_end_time
2140 
2141     end_time=property(__getfield_end_time, __setfield_end_time, __delfield_end_time, None)
2142 
2143     def __getfield_end_date(self):
2144         try: self.__field_end_date
2145         except:
2146             self.__field_end_date=LGCALDATE(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2147         return self.__field_end_date.getvalue()
2148 
2149     def __setfield_end_date(self, value):
2150         if isinstance(value,LGCALDATE):
2151             self.__field_end_date=value
2152         else:
2153             self.__field_end_date=LGCALDATE(value,**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2154 
2155     def __delfield_end_date(self): del self.__field_end_date
2156 
2157     end_date=property(__getfield_end_date, __setfield_end_date, __delfield_end_date, None)
2158 
2159     def __getfield_repeat(self):
2160         try: self.__field_repeat
2161         except:
2162             self.__field_repeat=LGCALREPEAT(**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2163         return self.__field_repeat.getvalue()
2164 
2165     def __setfield_repeat(self, value):
2166         if isinstance(value,LGCALREPEAT):
2167             self.__field_repeat=value
2168         else:
2169             self.__field_repeat=LGCALREPEAT(value,**{'sizeinbytes': 4,  'default': (0,0,0,0,0) })
2170 
2171     def __delfield_repeat(self): del self.__field_repeat
2172 
2173     repeat=property(__getfield_repeat, __setfield_repeat, __delfield_repeat, None)
2174 
2175     def __getfield_alarmindex_vibrate(self):
2176         try: self.__field_alarmindex_vibrate
2177         except:
2178             self.__field_alarmindex_vibrate=UINT(**{'sizeinbytes': 1,  'default': 0 })
2179         return self.__field_alarmindex_vibrate.getvalue()
2180 
2181     def __setfield_alarmindex_vibrate(self, value):
2182         if isinstance(value,UINT):
2183             self.__field_alarmindex_vibrate=value
2184         else:
2185             self.__field_alarmindex_vibrate=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2186 
2187     def __delfield_alarmindex_vibrate(self): del self.__field_alarmindex_vibrate
2188 
2189     alarmindex_vibrate=property(__getfield_alarmindex_vibrate, __setfield_alarmindex_vibrate, __delfield_alarmindex_vibrate, None)
2190 
2191     def __getfield_ringtone(self):
2192         try: self.__field_ringtone
2193         except:
2194             self.__field_ringtone=UINT(**{'sizeinbytes': 1,  'default': 0 })
2195         return self.__field_ringtone.getvalue()
2196 
2197     def __setfield_ringtone(self, value):
2198         if isinstance(value,UINT):
2199             self.__field_ringtone=value
2200         else:
2201             self.__field_ringtone=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2202 
2203     def __delfield_ringtone(self): del self.__field_ringtone
2204 
2205     ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None)
2206 
2207     def __getfield_unknown1(self):
2208         try: self.__field_unknown1
2209         except:
2210             self.__field_unknown1=UINT(**{'sizeinbytes': 1,  'default': 0 })
2211         return self.__field_unknown1.getvalue()
2212 
2213     def __setfield_unknown1(self, value):
2214         if isinstance(value,UINT):
2215             self.__field_unknown1=value
2216         else:
2217             self.__field_unknown1=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2218 
2219     def __delfield_unknown1(self): del self.__field_unknown1
2220 
2221     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
2222 
2223     def __getfield_alarmminutes(self):
2224         try: self.__field_alarmminutes
2225         except:
2226             self.__field_alarmminutes=UINT(**{'sizeinbytes': 1,  'default': 0xff })
2227         return self.__field_alarmminutes.getvalue()
2228 
2229     def __setfield_alarmminutes(self, value):
2230         if isinstance(value,UINT):
2231             self.__field_alarmminutes=value
2232         else:
2233             self.__field_alarmminutes=UINT(value,**{'sizeinbytes': 1,  'default': 0xff })
2234 
2235     def __delfield_alarmminutes(self): del self.__field_alarmminutes
2236 
2237     alarmminutes=property(__getfield_alarmminutes, __setfield_alarmminutes, __delfield_alarmminutes, "a value of 0xFF indicates not set")
2238 
2239     def __getfield_alarmhours(self):
2240         try: self.__field_alarmhours
2241         except:
2242             self.__field_alarmhours=UINT(**{'sizeinbytes': 1,  'default': 0xff })
2243         return self.__field_alarmhours.getvalue()
2244 
2245     def __setfield_alarmhours(self, value):
2246         if isinstance(value,UINT):
2247             self.__field_alarmhours=value
2248         else:
2249             self.__field_alarmhours=UINT(value,**{'sizeinbytes': 1,  'default': 0xff })
2250 
2251     def __delfield_alarmhours(self): del self.__field_alarmhours
2252 
2253     alarmhours=property(__getfield_alarmhours, __setfield_alarmhours, __delfield_alarmhours, "a value of 0xFF indicates not set")
2254 
2255     def __getfield_unknown2(self):
2256         try: self.__field_unknown2
2257         except:
2258             self.__field_unknown2=UINT(**{'sizeinbytes': 1,  'default': 0 })
2259         return self.__field_unknown2.getvalue()
2260 
2261     def __setfield_unknown2(self, value):
2262         if isinstance(value,UINT):
2263             self.__field_unknown2=value
2264         else:
2265             self.__field_unknown2=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2266 
2267     def __delfield_unknown2(self): del self.__field_unknown2
2268 
2269     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
2270 
2271     def __getfield_unknown3(self):
2272         try: self.__field_unknown3
2273         except:
2274             self.__field_unknown3=UINT(**{'sizeinbytes': 2,  'default': 0x01FB })
2275         return self.__field_unknown3.getvalue()
2276 
2277     def __setfield_unknown3(self, value):
2278         if isinstance(value,UINT):
2279             self.__field_unknown3=value
2280         else:
2281             self.__field_unknown3=UINT(value,**{'sizeinbytes': 2,  'default': 0x01FB })
2282 
2283     def __delfield_unknown3(self): del self.__field_unknown3
2284 
2285     unknown3=property(__getfield_unknown3, __setfield_unknown3, __delfield_unknown3, None)
2286 
2287     def __getfield_unknown4(self):
2288         try: self.__field_unknown4
2289         except:
2290             self.__field_unknown4=UINT(**{'sizeinbytes': 4,  'default': 0 })
2291         return self.__field_unknown4.getvalue()
2292 
2293     def __setfield_unknown4(self, value):
2294         if isinstance(value,UINT):
2295             self.__field_unknown4=value
2296         else:
2297             self.__field_unknown4=UINT(value,**{'sizeinbytes': 4,  'default': 0 })
2298 
2299     def __delfield_unknown4(self): del self.__field_unknown4
2300 
2301     unknown4=property(__getfield_unknown4, __setfield_unknown4, __delfield_unknown4, None)
2302 
2303     def __getfield_serial_number(self):
2304         try: self.__field_serial_number
2305         except:
2306             self.__field_serial_number=USTRING(**{'sizeinbytes': 65,  'default': '000000ca-00000000-0000000000-VX855V01', 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2307         return self.__field_serial_number.getvalue()
2308 
2309     def __setfield_serial_number(self, value):
2310         if isinstance(value,USTRING):
2311             self.__field_serial_number=value
2312         else:
2313             self.__field_serial_number=USTRING(value,**{'sizeinbytes': 65,  'default': '000000ca-00000000-0000000000-VX855V01', 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2314 
2315     def __delfield_serial_number(self): del self.__field_serial_number
2316 
2317     serial_number=property(__getfield_serial_number, __setfield_serial_number, __delfield_serial_number, None)
2318 
2319     def iscontainer(self):
2320         return True
2321 
2322     def containerelements(self):
2323         yield ('packet_size', self.__field_packet_size, None)
2324         yield ('pos', self.__field_pos, "position within file, used as an event id")
2325         yield ('description', self.__field_description, None)
2326         yield ('cdate', self.__field_cdate, None)
2327         yield ('mdate', self.__field_mdate, None)
2328         yield ('start', self.__field_start, None)
2329         yield ('end_time', self.__field_end_time, None)
2330         yield ('end_date', self.__field_end_date, None)
2331         yield ('repeat', self.__field_repeat, None)
2332         yield ('alarmindex_vibrate', self.__field_alarmindex_vibrate, None)
2333         yield ('ringtone', self.__field_ringtone, None)
2334         yield ('unknown1', self.__field_unknown1, None)
2335         yield ('alarmminutes', self.__field_alarmminutes, "a value of 0xFF indicates not set")
2336         yield ('alarmhours', self.__field_alarmhours, "a value of 0xFF indicates not set")
2337         yield ('unknown2', self.__field_unknown2, None)
2338         yield ('unknown3', self.__field_unknown3, None)
2339         yield ('unknown4', self.__field_unknown4, None)
2340         yield ('serial_number', self.__field_serial_number, None)
2341 
2342 
2343 
2344 
2345 class schedulefile(BaseProtogenClass):
2346     __fields=['numactiveitems', 'events']
2347 
2348     def __init__(self, *args, **kwargs):
2349         dict={}
2350         # What was supplied to this function
2351         dict.update(kwargs)
2352         # Parent constructor
2353         super(schedulefile,self).__init__(**dict)
2354         if self.__class__ is schedulefile:
2355             self._update(args,dict)
2356 
2357 
2358     def getfields(self):
2359         return self.__fields
2360 
2361 
2362     def _update(self, args, kwargs):
2363         super(schedulefile,self)._update(args,kwargs)
2364         keys=kwargs.keys()
2365         for key in keys:
2366             if key in self.__fields:
2367                 setattr(self, key, kwargs[key])
2368                 del kwargs[key]
2369         # Were any unrecognized kwargs passed in?
2370         if __debug__:
2371             self._complainaboutunusedargs(schedulefile,kwargs)
2372         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2373         # Make all P fields that haven't already been constructed
2374 
2375 
2376     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2377         'Writes this packet to the supplied buffer'
2378         self._bufferstartoffset=buf.getcurrentoffset()
2379         self.__field_numactiveitems.writetobuffer(buf)
2380         try: self.__field_events
2381         except:
2382             self.__field_events=LIST(**{ 'elementclass': scheduleevent, 'length': NUMCALENDARENTRIES, 'createdefault': True })
2383         self.__field_events.writetobuffer(buf)
2384         self._bufferendoffset=buf.getcurrentoffset()
2385         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2386 
2387 
2388     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2389         'Reads this packet from the supplied buffer'
2390         self._bufferstartoffset=buf.getcurrentoffset()
2391         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2392         self.__field_numactiveitems=UINT(**{'sizeinbytes': 2})
2393         self.__field_numactiveitems.readfrombuffer(buf)
2394         self.__field_events=LIST(**{ 'elementclass': scheduleevent, 'length': NUMCALENDARENTRIES, 'createdefault': True })
2395         self.__field_events.readfrombuffer(buf)
2396         self._bufferendoffset=buf.getcurrentoffset()
2397 
2398 
2399     def __getfield_numactiveitems(self):
2400         return self.__field_numactiveitems.getvalue()
2401 
2402     def __setfield_numactiveitems(self, value):
2403         if isinstance(value,UINT):
2404             self.__field_numactiveitems=value
2405         else:
2406             self.__field_numactiveitems=UINT(value,**{'sizeinbytes': 2})
2407 
2408     def __delfield_numactiveitems(self): del self.__field_numactiveitems
2409 
2410     numactiveitems=property(__getfield_numactiveitems, __setfield_numactiveitems, __delfield_numactiveitems, None)
2411 
2412     def __getfield_events(self):
2413         try: self.__field_events
2414         except:
2415             self.__field_events=LIST(**{ 'elementclass': scheduleevent, 'length': NUMCALENDARENTRIES, 'createdefault': True })
2416         return self.__field_events.getvalue()
2417 
2418     def __setfield_events(self, value):
2419         if isinstance(value,LIST):
2420             self.__field_events=value
2421         else:
2422             self.__field_events=LIST(value,**{ 'elementclass': scheduleevent, 'length': NUMCALENDARENTRIES, 'createdefault': True })
2423 
2424     def __delfield_events(self): del self.__field_events
2425 
2426     events=property(__getfield_events, __setfield_events, __delfield_events, None)
2427 
2428     def iscontainer(self):
2429         return True
2430 
2431     def containerelements(self):
2432         yield ('numactiveitems', self.__field_numactiveitems, None)
2433         yield ('events', self.__field_events, None)
2434 
2435 
2436 
2437 
2438 class scheduleringerfile(BaseProtogenClass):
2439     __fields=['numringers', 'ringerpaths']
2440 
2441     def __init__(self, *args, **kwargs):
2442         dict={}
2443         # What was supplied to this function
2444         dict.update(kwargs)
2445         # Parent constructor
2446         super(scheduleringerfile,self).__init__(**dict)
2447         if self.__class__ is scheduleringerfile:
2448             self._update(args,dict)
2449 
2450 
2451     def getfields(self):
2452         return self.__fields
2453 
2454 
2455     def _update(self, args, kwargs):
2456         super(scheduleringerfile,self)._update(args,kwargs)
2457         keys=kwargs.keys()
2458         for key in keys:
2459             if key in self.__fields:
2460                 setattr(self, key, kwargs[key])
2461                 del kwargs[key]
2462         # Were any unrecognized kwargs passed in?
2463         if __debug__:
2464             self._complainaboutunusedargs(scheduleringerfile,kwargs)
2465         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2466         # Make all P fields that haven't already been constructed
2467 
2468 
2469     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2470         'Writes this packet to the supplied buffer'
2471         self._bufferstartoffset=buf.getcurrentoffset()
2472         self.__field_numringers.writetobuffer(buf)
2473         try: self.__field_ringerpaths
2474         except:
2475             self.__field_ringerpaths=LIST(**{'elementclass': _gen_p_lgvx8550_205})
2476         self.__field_ringerpaths.writetobuffer(buf)
2477         self._bufferendoffset=buf.getcurrentoffset()
2478         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2479 
2480 
2481     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2482         'Reads this packet from the supplied buffer'
2483         self._bufferstartoffset=buf.getcurrentoffset()
2484         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2485         self.__field_numringers=UINT(**{'sizeinbytes': 4})
2486         self.__field_numringers.readfrombuffer(buf)
2487         self.__field_ringerpaths=LIST(**{'elementclass': _gen_p_lgvx8550_205})
2488         self.__field_ringerpaths.readfrombuffer(buf)
2489         self._bufferendoffset=buf.getcurrentoffset()
2490 
2491 
2492     def __getfield_numringers(self):
2493         return self.__field_numringers.getvalue()
2494 
2495     def __setfield_numringers(self, value):
2496         if isinstance(value,UINT):
2497             self.__field_numringers=value
2498         else:
2499             self.__field_numringers=UINT(value,**{'sizeinbytes': 4})
2500 
2501     def __delfield_numringers(self): del self.__field_numringers
2502 
2503     numringers=property(__getfield_numringers, __setfield_numringers, __delfield_numringers, None)
2504 
2505     def __getfield_ringerpaths(self):
2506         try: self.__field_ringerpaths
2507         except:
2508             self.__field_ringerpaths=LIST(**{'elementclass': _gen_p_lgvx8550_205})
2509         return self.__field_ringerpaths.getvalue()
2510 
2511     def __setfield_ringerpaths(self, value):
2512         if isinstance(value,LIST):
2513             self.__field_ringerpaths=value
2514         else:
2515             self.__field_ringerpaths=LIST(value,**{'elementclass': _gen_p_lgvx8550_205})
2516 
2517     def __delfield_ringerpaths(self): del self.__field_ringerpaths
2518 
2519     ringerpaths=property(__getfield_ringerpaths, __setfield_ringerpaths, __delfield_ringerpaths, None)
2520 
2521     def iscontainer(self):
2522         return True
2523 
2524     def containerelements(self):
2525         yield ('numringers', self.__field_numringers, None)
2526         yield ('ringerpaths', self.__field_ringerpaths, None)
2527 
2528 
2529 
2530 
2531 class _gen_p_lgvx8550_205(BaseProtogenClass):
2532     'Anonymous inner class'
2533     __fields=['path']
2534 
2535     def __init__(self, *args, **kwargs):
2536         dict={}
2537         # What was supplied to this function
2538         dict.update(kwargs)
2539         # Parent constructor
2540         super(_gen_p_lgvx8550_205,self).__init__(**dict)
2541         if self.__class__ is _gen_p_lgvx8550_205:
2542             self._update(args,dict)
2543 
2544 
2545     def getfields(self):
2546         return self.__fields
2547 
2548 
2549     def _update(self, args, kwargs):
2550         super(_gen_p_lgvx8550_205,self)._update(args,kwargs)
2551         keys=kwargs.keys()
2552         for key in keys:
2553             if key in self.__fields:
2554                 setattr(self, key, kwargs[key])
2555                 del kwargs[key]
2556         # Were any unrecognized kwargs passed in?
2557         if __debug__:
2558             self._complainaboutunusedargs(_gen_p_lgvx8550_205,kwargs)
2559         if len(args):
2560             dict2={'sizeinbytes': 256,  'encoding': PHONE_ENCODING, 'raiseontruncate': True }
2561             dict2.update(kwargs)
2562             kwargs=dict2
2563             self.__field_path=USTRING(*args,**dict2)
2564         # Make all P fields that haven't already been constructed
2565 
2566 
2567     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2568         'Writes this packet to the supplied buffer'
2569         self._bufferstartoffset=buf.getcurrentoffset()
2570         self.__field_path.writetobuffer(buf)
2571         self._bufferendoffset=buf.getcurrentoffset()
2572         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2573 
2574 
2575     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2576         'Reads this packet from the supplied buffer'
2577         self._bufferstartoffset=buf.getcurrentoffset()
2578         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2579         self.__field_path=USTRING(**{'sizeinbytes': 256,  'encoding': PHONE_ENCODING, 'raiseontruncate': True })
2580         self.__field_path.readfrombuffer(buf)
2581         self._bufferendoffset=buf.getcurrentoffset()
2582 
2583 
2584     def __getfield_path(self):
2585         return self.__field_path.getvalue()
2586 
2587     def __setfield_path(self, value):
2588         if isinstance(value,USTRING):
2589             self.__field_path=value
2590         else:
2591             self.__field_path=USTRING(value,**{'sizeinbytes': 256,  'encoding': PHONE_ENCODING, 'raiseontruncate': True })
2592 
2593     def __delfield_path(self): del self.__field_path
2594 
2595     path=property(__getfield_path, __setfield_path, __delfield_path, None)
2596 
2597     def iscontainer(self):
2598         return True
2599 
2600     def containerelements(self):
2601         yield ('path', self.__field_path, None)
2602 
2603 
2604 
2605 
2606 class textmemo(BaseProtogenClass):
2607     __fields=['cdate', 'text', 'memotime', 'zeros']
2608 
2609     def __init__(self, *args, **kwargs):
2610         dict={}
2611         # What was supplied to this function
2612         dict.update(kwargs)
2613         # Parent constructor
2614         super(textmemo,self).__init__(**dict)
2615         if self.__class__ is textmemo:
2616             self._update(args,dict)
2617 
2618 
2619     def getfields(self):
2620         return self.__fields
2621 
2622 
2623     def _update(self, args, kwargs):
2624         super(textmemo,self)._update(args,kwargs)
2625         keys=kwargs.keys()
2626         for key in keys:
2627             if key in self.__fields:
2628                 setattr(self, key, kwargs[key])
2629                 del kwargs[key]
2630         # Were any unrecognized kwargs passed in?
2631         if __debug__:
2632             self._complainaboutunusedargs(textmemo,kwargs)
2633         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2634         # Make all P fields that haven't already been constructed
2635 
2636 
2637     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2638         'Writes this packet to the supplied buffer'
2639         self._bufferstartoffset=buf.getcurrentoffset()
2640         try: self.__field_cdate
2641         except:
2642             self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now(),                'unique': True })
2643         self.__field_cdate.writetobuffer(buf)
2644         self.__field_text.writetobuffer(buf)
2645         self.__field_memotime.writetobuffer(buf)
2646         try: self.__field_zeros
2647         except:
2648             self.__field_zeros=UNKNOWN(**{'sizeinbytes': 3})
2649         self.__field_zeros.writetobuffer(buf)
2650         self._bufferendoffset=buf.getcurrentoffset()
2651         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2652 
2653 
2654     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2655         'Reads this packet from the supplied buffer'
2656         self._bufferstartoffset=buf.getcurrentoffset()
2657         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2658         self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now(),                'unique': True })
2659         self.__field_cdate.readfrombuffer(buf)
2660         self.__field_text=USTRING(**{'sizeinbytes': 301, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2661         self.__field_text.readfrombuffer(buf)
2662         self.__field_memotime=LGCALDATE(**{'sizeinbytes': 4})
2663         self.__field_memotime.readfrombuffer(buf)
2664         self.__field_zeros=UNKNOWN(**{'sizeinbytes': 3})
2665         self.__field_zeros.readfrombuffer(buf)
2666         self._bufferendoffset=buf.getcurrentoffset()
2667 
2668 
2669     def __getfield_cdate(self):
2670         try: self.__field_cdate
2671         except:
2672             self.__field_cdate=GPSDATE(**{'sizeinbytes': 4,  'default': GPSDATE.now(),                'unique': True })
2673         return self.__field_cdate.getvalue()
2674 
2675     def __setfield_cdate(self, value):
2676         if isinstance(value,GPSDATE):
2677             self.__field_cdate=value
2678         else:
2679             self.__field_cdate=GPSDATE(value,**{'sizeinbytes': 4,  'default': GPSDATE.now(),                'unique': True })
2680 
2681     def __delfield_cdate(self): del self.__field_cdate
2682 
2683     cdate=property(__getfield_cdate, __setfield_cdate, __delfield_cdate, None)
2684 
2685     def __getfield_text(self):
2686         return self.__field_text.getvalue()
2687 
2688     def __setfield_text(self, value):
2689         if isinstance(value,USTRING):
2690             self.__field_text=value
2691         else:
2692             self.__field_text=USTRING(value,**{'sizeinbytes': 301, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2693 
2694     def __delfield_text(self): del self.__field_text
2695 
2696     text=property(__getfield_text, __setfield_text, __delfield_text, None)
2697 
2698     def __getfield_memotime(self):
2699         return self.__field_memotime.getvalue()
2700 
2701     def __setfield_memotime(self, value):
2702         if isinstance(value,LGCALDATE):
2703             self.__field_memotime=value
2704         else:
2705             self.__field_memotime=LGCALDATE(value,**{'sizeinbytes': 4})
2706 
2707     def __delfield_memotime(self): del self.__field_memotime
2708 
2709     memotime=property(__getfield_memotime, __setfield_memotime, __delfield_memotime, None)
2710 
2711     def __getfield_zeros(self):
2712         try: self.__field_zeros
2713         except:
2714             self.__field_zeros=UNKNOWN(**{'sizeinbytes': 3})
2715         return self.__field_zeros.getvalue()
2716 
2717     def __setfield_zeros(self, value):
2718         if isinstance(value,UNKNOWN):
2719             self.__field_zeros=value
2720         else:
2721             self.__field_zeros=UNKNOWN(value,**{'sizeinbytes': 3})
2722 
2723     def __delfield_zeros(self): del self.__field_zeros
2724 
2725     zeros=property(__getfield_zeros, __setfield_zeros, __delfield_zeros, None)
2726 
2727     def iscontainer(self):
2728         return True
2729 
2730     def containerelements(self):
2731         yield ('cdate', self.__field_cdate, None)
2732         yield ('text', self.__field_text, None)
2733         yield ('memotime', self.__field_memotime, None)
2734         yield ('zeros', self.__field_zeros, None)
2735 
2736 
2737 
2738 
2739 class textmemofile(BaseProtogenClass):
2740     __fields=['itemcount', 'items']
2741 
2742     def __init__(self, *args, **kwargs):
2743         dict={}
2744         # What was supplied to this function
2745         dict.update(kwargs)
2746         # Parent constructor
2747         super(textmemofile,self).__init__(**dict)
2748         if self.__class__ is textmemofile:
2749             self._update(args,dict)
2750 
2751 
2752     def getfields(self):
2753         return self.__fields
2754 
2755 
2756     def _update(self, args, kwargs):
2757         super(textmemofile,self)._update(args,kwargs)
2758         keys=kwargs.keys()
2759         for key in keys:
2760             if key in self.__fields:
2761                 setattr(self, key, kwargs[key])
2762                 del kwargs[key]
2763         # Were any unrecognized kwargs passed in?
2764         if __debug__:
2765             self._complainaboutunusedargs(textmemofile,kwargs)
2766         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2767         # Make all P fields that haven't already been constructed
2768 
2769 
2770     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2771         'Writes this packet to the supplied buffer'
2772         self._bufferstartoffset=buf.getcurrentoffset()
2773         self.__field_itemcount.writetobuffer(buf)
2774         try: self.__field_items
2775         except:
2776             self.__field_items=LIST(**{ 'elementclass': textmemo })
2777         self.__field_items.writetobuffer(buf)
2778         self._bufferendoffset=buf.getcurrentoffset()
2779         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2780 
2781 
2782     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2783         'Reads this packet from the supplied buffer'
2784         self._bufferstartoffset=buf.getcurrentoffset()
2785         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2786         self.__field_itemcount=UINT(**{'sizeinbytes': 4})
2787         self.__field_itemcount.readfrombuffer(buf)
2788         self.__field_items=LIST(**{ 'elementclass': textmemo })
2789         self.__field_items.readfrombuffer(buf)
2790         self._bufferendoffset=buf.getcurrentoffset()
2791 
2792 
2793     def __getfield_itemcount(self):
2794         return self.__field_itemcount.getvalue()
2795 
2796     def __setfield_itemcount(self, value):
2797         if isinstance(value,UINT):
2798             self.__field_itemcount=value
2799         else:
2800             self.__field_itemcount=UINT(value,**{'sizeinbytes': 4})
2801 
2802     def __delfield_itemcount(self): del self.__field_itemcount
2803 
2804     itemcount=property(__getfield_itemcount, __setfield_itemcount, __delfield_itemcount, None)
2805 
2806     def __getfield_items(self):
2807         try: self.__field_items
2808         except:
2809             self.__field_items=LIST(**{ 'elementclass': textmemo })
2810         return self.__field_items.getvalue()
2811 
2812     def __setfield_items(self, value):
2813         if isinstance(value,LIST):
2814             self.__field_items=value
2815         else:
2816             self.__field_items=LIST(value,**{ 'elementclass': textmemo })
2817 
2818     def __delfield_items(self): del self.__field_items
2819 
2820     items=property(__getfield_items, __setfield_items, __delfield_items, None)
2821 
2822     def iscontainer(self):
2823         return True
2824 
2825     def containerelements(self):
2826         yield ('itemcount', self.__field_itemcount, None)
2827         yield ('items', self.__field_items, None)
2828 
2829 
2830 
2831 
2832 

Generated by PyXR 0.9.4