PyXR

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



0001 # THIS FILE IS AUTOMATICALLY GENERATED.  EDIT THE SOURCE FILE NOT THIS ONE
0002 
0003 """Various descriptions of data specific to LG 6190 (Sprint)"""
0004 
0005 import re
0006 
0007 from prototypes import *
0008 from prototypeslg import *
0009 
0010 # Make all lg stuff available in this module as well
0011 from p_lg import *
0012 
0013 # we are the same as lgvx4400 except as noted
0014 # below
0015 from p_lgvx4400 import *
0016 
0017 
0018 # We use LSB for all integer like fields
0019 UINT=UINTlsb
0020 BOOL=BOOLlsb
0021 
0022 NUMSPEEDDIALS=100
0023 FIRSTSPEEDDIAL=1
0024 LASTSPEEDDIAL=99
0025 NUMPHONEBOOKENTRIES=500
0026 MEMOLENGTH=65
0027 
0028 NORINGTONE=0
0029 NOMSGRINGTONE=0
0030 NOWALLPAPER=0
0031 
0032 NUMEMAILS=3
0033 NUMPHONENUMBERS=5
0034 
0035 SMS_CANNED_MAX_ITEMS=18
0036 SMS_CANNED_MAX_LENGTH=101
0037 SMS_CANNED_FILENAME="sms/mediacan000.dat"
0038 SMS_PATTERNS={'Inbox': re.compile(r"^.*/inbox[0-9][0-9][0-9]\.dat$"),
0039              'Sent': re.compile(r"^.*/outbox[0-9][0-9][0-9]\.dat$"),
0040              'Saved': re.compile(r"^.*/sf[0-9][0-9]\.dat$"),
0041              }
0042 
0043 # Text Memo const
0044 text_memo_file='sch/memo.dat'
0045 content_file_name='ams/contentInfo'
0046 content_count_file_name='ams/realContent'
0047 
0048 media_directory='ams'
0049 ringerindex='setas/amsRingerIndex.map'
0050 imageindex='setas/amsImageIndex.map'
0051 ringerconst=2
0052 imageconst=3
0053 max_ringers=100
0054 max_images=100
0055 
0056 phonebook_media='pim/pbookcontact.dat'
0057 
0058 # Calendar parameters
0059 NUMCALENDARENTRIES=300  # ?? for VX4400
0060 CAL_REP_NONE=0x10
0061 CAL_REP_DAILY=0x11
0062 CAL_REP_MONFRI=0x12
0063 CAL_REP_WEEKLY=0x13
0064 CAL_REP_MONTHLY=0x14
0065 CAL_REP_YEARLY=0x15
0066 CAL_DOW_SUN=0x0800
0067 CAL_DOW_MON=0x0400
0068 CAL_DOW_TUE=0x0200
0069 CAL_DOW_WED=0x0100
0070 CAL_DOW_THU=0x0080
0071 CAL_DOW_FRI=0x0040
0072 CAL_DOW_SAT=0x0020
0073 CAL_DOW_EXCEPTIONS=0x0010
0074 CAL_REMINDER_NONE=0
0075 CAL_REMINDER_ONTIME=1
0076 CAL_REMINDER_5MIN=2
0077 CAL_REMINDER_10MIN=3
0078 CAL_REMINDER_1HOUR=4
0079 CAL_REMINDER_1DAY=5
0080 CAL_REMINDER_2DAYS=6
0081 CAL_NO_VOICE=0xffff
0082 CAL_REPEAT_DATE=(2999, 12, 31)
0083 
0084 cal_has_voice_id=True
0085 cal_voice_id_ofs=0x11
0086 cal_voice_ext='.qcp'      # full name='sche000.qcp'
0087 
0088 cal_dir='sch'
0089 cal_data_file_name='sch/schedule.dat'
0090 cal_exception_file_name='sch/schexception.dat'
0091 
0092 PHONE_ENCODING='iso8859_1'
0093 
0094 class pbreadentryresponse(BaseProtogenClass):
0095     "Results of reading one entry"
0096     __fields=['header', 'entry']
0097 
0098     def __init__(self, *args, **kwargs):
0099         dict={}
0100         # What was supplied to this function
0101         dict.update(kwargs)
0102         # Parent constructor
0103         super(pbreadentryresponse,self).__init__(**dict)
0104         if self.__class__ is pbreadentryresponse:
0105             self._update(args,dict)
0106 
0107 
0108     def getfields(self):
0109         return self.__fields
0110 
0111 
0112     def _update(self, args, kwargs):
0113         super(pbreadentryresponse,self)._update(args,kwargs)
0114         keys=kwargs.keys()
0115         for key in keys:
0116             if key in self.__fields:
0117                 setattr(self, key, kwargs[key])
0118                 del kwargs[key]
0119         # Were any unrecognized kwargs passed in?
0120         if __debug__:
0121             self._complainaboutunusedargs(pbreadentryresponse,kwargs)
0122         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0123         # Make all P fields that haven't already been constructed
0124 
0125 
0126     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0127         'Writes this packet to the supplied buffer'
0128         self._bufferstartoffset=buf.getcurrentoffset()
0129         self.__field_header.writetobuffer(buf)
0130         self.__field_entry.writetobuffer(buf)
0131         self._bufferendoffset=buf.getcurrentoffset()
0132         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0133 
0134 
0135     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0136         'Reads this packet from the supplied buffer'
0137         self._bufferstartoffset=buf.getcurrentoffset()
0138         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0139         self.__field_header=pbheader()
0140         self.__field_header.readfrombuffer(buf)
0141         self.__field_entry=pbentry()
0142         self.__field_entry.readfrombuffer(buf)
0143         self._bufferendoffset=buf.getcurrentoffset()
0144 
0145 
0146     def __getfield_header(self):
0147         return self.__field_header.getvalue()
0148 
0149     def __setfield_header(self, value):
0150         if isinstance(value,pbheader):
0151             self.__field_header=value
0152         else:
0153             self.__field_header=pbheader(value,)
0154 
0155     def __delfield_header(self): del self.__field_header
0156 
0157     header=property(__getfield_header, __setfield_header, __delfield_header, None)
0158 
0159     def __getfield_entry(self):
0160         return self.__field_entry.getvalue()
0161 
0162     def __setfield_entry(self, value):
0163         if isinstance(value,pbentry):
0164             self.__field_entry=value
0165         else:
0166             self.__field_entry=pbentry(value,)
0167 
0168     def __delfield_entry(self): del self.__field_entry
0169 
0170     entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
0171 
0172     def iscontainer(self):
0173         return True
0174 
0175     def containerelements(self):
0176         yield ('header', self.__field_header, None)
0177         yield ('entry', self.__field_entry, None)
0178 
0179 
0180 
0181 
0182 class pbupdateentryrequest(BaseProtogenClass):
0183     __fields=['header', 'entry']
0184 
0185     def __init__(self, *args, **kwargs):
0186         dict={}
0187         # What was supplied to this function
0188         dict.update(kwargs)
0189         # Parent constructor
0190         super(pbupdateentryrequest,self).__init__(**dict)
0191         if self.__class__ is pbupdateentryrequest:
0192             self._update(args,dict)
0193 
0194 
0195     def getfields(self):
0196         return self.__fields
0197 
0198 
0199     def _update(self, args, kwargs):
0200         super(pbupdateentryrequest,self)._update(args,kwargs)
0201         keys=kwargs.keys()
0202         for key in keys:
0203             if key in self.__fields:
0204                 setattr(self, key, kwargs[key])
0205                 del kwargs[key]
0206         # Were any unrecognized kwargs passed in?
0207         if __debug__:
0208             self._complainaboutunusedargs(pbupdateentryrequest,kwargs)
0209         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0210         # Make all P fields that haven't already been constructed
0211 
0212 
0213     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0214         'Writes this packet to the supplied buffer'
0215         self._bufferstartoffset=buf.getcurrentoffset()
0216         try: self.__field_header
0217         except:
0218             self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
0219         self.__field_header.writetobuffer(buf)
0220         self.__field_entry.writetobuffer(buf)
0221         self._bufferendoffset=buf.getcurrentoffset()
0222         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0223 
0224 
0225     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0226         'Reads this packet from the supplied buffer'
0227         self._bufferstartoffset=buf.getcurrentoffset()
0228         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0229         self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
0230         self.__field_header.readfrombuffer(buf)
0231         self.__field_entry=pbentry()
0232         self.__field_entry.readfrombuffer(buf)
0233         self._bufferendoffset=buf.getcurrentoffset()
0234 
0235 
0236     def __getfield_header(self):
0237         try: self.__field_header
0238         except:
0239             self.__field_header=pbheader(**{'command': 0x04, 'flag': 0x01})
0240         return self.__field_header.getvalue()
0241 
0242     def __setfield_header(self, value):
0243         if isinstance(value,pbheader):
0244             self.__field_header=value
0245         else:
0246             self.__field_header=pbheader(value,**{'command': 0x04, 'flag': 0x01})
0247 
0248     def __delfield_header(self): del self.__field_header
0249 
0250     header=property(__getfield_header, __setfield_header, __delfield_header, None)
0251 
0252     def __getfield_entry(self):
0253         return self.__field_entry.getvalue()
0254 
0255     def __setfield_entry(self, value):
0256         if isinstance(value,pbentry):
0257             self.__field_entry=value
0258         else:
0259             self.__field_entry=pbentry(value,)
0260 
0261     def __delfield_entry(self): del self.__field_entry
0262 
0263     entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
0264 
0265     def iscontainer(self):
0266         return True
0267 
0268     def containerelements(self):
0269         yield ('header', self.__field_header, None)
0270         yield ('entry', self.__field_entry, None)
0271 
0272 
0273 
0274 
0275 class pbappendentryrequest(BaseProtogenClass):
0276     __fields=['header', 'entry']
0277 
0278     def __init__(self, *args, **kwargs):
0279         dict={}
0280         # What was supplied to this function
0281         dict.update(kwargs)
0282         # Parent constructor
0283         super(pbappendentryrequest,self).__init__(**dict)
0284         if self.__class__ is pbappendentryrequest:
0285             self._update(args,dict)
0286 
0287 
0288     def getfields(self):
0289         return self.__fields
0290 
0291 
0292     def _update(self, args, kwargs):
0293         super(pbappendentryrequest,self)._update(args,kwargs)
0294         keys=kwargs.keys()
0295         for key in keys:
0296             if key in self.__fields:
0297                 setattr(self, key, kwargs[key])
0298                 del kwargs[key]
0299         # Were any unrecognized kwargs passed in?
0300         if __debug__:
0301             self._complainaboutunusedargs(pbappendentryrequest,kwargs)
0302         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0303         # Make all P fields that haven't already been constructed
0304 
0305 
0306     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0307         'Writes this packet to the supplied buffer'
0308         self._bufferstartoffset=buf.getcurrentoffset()
0309         try: self.__field_header
0310         except:
0311             self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
0312         self.__field_header.writetobuffer(buf)
0313         self.__field_entry.writetobuffer(buf)
0314         self._bufferendoffset=buf.getcurrentoffset()
0315         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0316 
0317 
0318     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0319         'Reads this packet from the supplied buffer'
0320         self._bufferstartoffset=buf.getcurrentoffset()
0321         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0322         self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
0323         self.__field_header.readfrombuffer(buf)
0324         self.__field_entry=pbentry()
0325         self.__field_entry.readfrombuffer(buf)
0326         self._bufferendoffset=buf.getcurrentoffset()
0327 
0328 
0329     def __getfield_header(self):
0330         try: self.__field_header
0331         except:
0332             self.__field_header=pbheader(**{'command': 0x03, 'flag': 0x01})
0333         return self.__field_header.getvalue()
0334 
0335     def __setfield_header(self, value):
0336         if isinstance(value,pbheader):
0337             self.__field_header=value
0338         else:
0339             self.__field_header=pbheader(value,**{'command': 0x03, 'flag': 0x01})
0340 
0341     def __delfield_header(self): del self.__field_header
0342 
0343     header=property(__getfield_header, __setfield_header, __delfield_header, None)
0344 
0345     def __getfield_entry(self):
0346         return self.__field_entry.getvalue()
0347 
0348     def __setfield_entry(self, value):
0349         if isinstance(value,pbentry):
0350             self.__field_entry=value
0351         else:
0352             self.__field_entry=pbentry(value,)
0353 
0354     def __delfield_entry(self): del self.__field_entry
0355 
0356     entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
0357 
0358     def iscontainer(self):
0359         return True
0360 
0361     def containerelements(self):
0362         yield ('header', self.__field_header, None)
0363         yield ('entry', self.__field_entry, None)
0364 
0365 
0366 
0367 
0368 class speeddial(BaseProtogenClass):
0369     __fields=['entry', 'number']
0370 
0371     def __init__(self, *args, **kwargs):
0372         dict={}
0373         # What was supplied to this function
0374         dict.update(kwargs)
0375         # Parent constructor
0376         super(speeddial,self).__init__(**dict)
0377         if self.__class__ is speeddial:
0378             self._update(args,dict)
0379 
0380 
0381     def getfields(self):
0382         return self.__fields
0383 
0384 
0385     def _update(self, args, kwargs):
0386         super(speeddial,self)._update(args,kwargs)
0387         keys=kwargs.keys()
0388         for key in keys:
0389             if key in self.__fields:
0390                 setattr(self, key, kwargs[key])
0391                 del kwargs[key]
0392         # Were any unrecognized kwargs passed in?
0393         if __debug__:
0394             self._complainaboutunusedargs(speeddial,kwargs)
0395         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0396         # Make all P fields that haven't already been constructed
0397 
0398 
0399     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0400         'Writes this packet to the supplied buffer'
0401         self._bufferstartoffset=buf.getcurrentoffset()
0402         try: self.__field_entry
0403         except:
0404             self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0405         self.__field_entry.writetobuffer(buf)
0406         try: self.__field_number
0407         except:
0408             self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0409         self.__field_number.writetobuffer(buf)
0410         self._bufferendoffset=buf.getcurrentoffset()
0411         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0412 
0413 
0414     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0415         'Reads this packet from the supplied buffer'
0416         self._bufferstartoffset=buf.getcurrentoffset()
0417         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0418         self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0419         self.__field_entry.readfrombuffer(buf)
0420         self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0421         self.__field_number.readfrombuffer(buf)
0422         self._bufferendoffset=buf.getcurrentoffset()
0423 
0424 
0425     def __getfield_entry(self):
0426         try: self.__field_entry
0427         except:
0428             self.__field_entry=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
0429         return self.__field_entry.getvalue()
0430 
0431     def __setfield_entry(self, value):
0432         if isinstance(value,UINT):
0433             self.__field_entry=value
0434         else:
0435             self.__field_entry=UINT(value,**{'sizeinbytes': 2, 'default': 0xffff})
0436 
0437     def __delfield_entry(self): del self.__field_entry
0438 
0439     entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None)
0440 
0441     def __getfield_number(self):
0442         try: self.__field_number
0443         except:
0444             self.__field_number=UINT(**{'sizeinbytes': 1, 'default': 0xff})
0445         return self.__field_number.getvalue()
0446 
0447     def __setfield_number(self, value):
0448         if isinstance(value,UINT):
0449             self.__field_number=value
0450         else:
0451             self.__field_number=UINT(value,**{'sizeinbytes': 1, 'default': 0xff})
0452 
0453     def __delfield_number(self): del self.__field_number
0454 
0455     number=property(__getfield_number, __setfield_number, __delfield_number, None)
0456 
0457     def iscontainer(self):
0458         return True
0459 
0460     def containerelements(self):
0461         yield ('entry', self.__field_entry, None)
0462         yield ('number', self.__field_number, None)
0463 
0464 
0465 
0466 
0467 class speeddials(BaseProtogenClass):
0468     __fields=['speeddials']
0469 
0470     def __init__(self, *args, **kwargs):
0471         dict={}
0472         # What was supplied to this function
0473         dict.update(kwargs)
0474         # Parent constructor
0475         super(speeddials,self).__init__(**dict)
0476         if self.__class__ is speeddials:
0477             self._update(args,dict)
0478 
0479 
0480     def getfields(self):
0481         return self.__fields
0482 
0483 
0484     def _update(self, args, kwargs):
0485         super(speeddials,self)._update(args,kwargs)
0486         keys=kwargs.keys()
0487         for key in keys:
0488             if key in self.__fields:
0489                 setattr(self, key, kwargs[key])
0490                 del kwargs[key]
0491         # Were any unrecognized kwargs passed in?
0492         if __debug__:
0493             self._complainaboutunusedargs(speeddials,kwargs)
0494         if len(args):
0495             dict2={'length': NUMSPEEDDIALS, 'elementclass': speeddial}
0496             dict2.update(kwargs)
0497             kwargs=dict2
0498             self.__field_speeddials=LIST(*args,**dict2)
0499         # Make all P fields that haven't already been constructed
0500 
0501 
0502     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0503         'Writes this packet to the supplied buffer'
0504         self._bufferstartoffset=buf.getcurrentoffset()
0505         try: self.__field_speeddials
0506         except:
0507             self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0508         self.__field_speeddials.writetobuffer(buf)
0509         self._bufferendoffset=buf.getcurrentoffset()
0510         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0511 
0512 
0513     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0514         'Reads this packet from the supplied buffer'
0515         self._bufferstartoffset=buf.getcurrentoffset()
0516         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0517         self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0518         self.__field_speeddials.readfrombuffer(buf)
0519         self._bufferendoffset=buf.getcurrentoffset()
0520 
0521 
0522     def __getfield_speeddials(self):
0523         try: self.__field_speeddials
0524         except:
0525             self.__field_speeddials=LIST(**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0526         return self.__field_speeddials.getvalue()
0527 
0528     def __setfield_speeddials(self, value):
0529         if isinstance(value,LIST):
0530             self.__field_speeddials=value
0531         else:
0532             self.__field_speeddials=LIST(value,**{'length': NUMSPEEDDIALS, 'elementclass': speeddial})
0533 
0534     def __delfield_speeddials(self): del self.__field_speeddials
0535 
0536     speeddials=property(__getfield_speeddials, __setfield_speeddials, __delfield_speeddials, None)
0537 
0538     def iscontainer(self):
0539         return True
0540 
0541     def containerelements(self):
0542         yield ('speeddials', self.__field_speeddials, None)
0543 
0544 
0545 
0546 
0547 class pbentry(BaseProtogenClass):
0548     __fields=['serial1', 'entrysize', 'serial2', 'entrynumber', 'name', 'group', 'emails', 'url', 'ringtone', 'msgringtone', 'secret', 'memo', 'wallpaper', 'numbertypes', 'numbers', 'unknown20c']
0549 
0550     def __init__(self, *args, **kwargs):
0551         dict={}
0552         # What was supplied to this function
0553         dict.update(kwargs)
0554         # Parent constructor
0555         super(pbentry,self).__init__(**dict)
0556         if self.__class__ is pbentry:
0557             self._update(args,dict)
0558 
0559 
0560     def getfields(self):
0561         return self.__fields
0562 
0563 
0564     def _update(self, args, kwargs):
0565         super(pbentry,self)._update(args,kwargs)
0566         keys=kwargs.keys()
0567         for key in keys:
0568             if key in self.__fields:
0569                 setattr(self, key, kwargs[key])
0570                 del kwargs[key]
0571         # Were any unrecognized kwargs passed in?
0572         if __debug__:
0573             self._complainaboutunusedargs(pbentry,kwargs)
0574         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0575         # Make all P fields that haven't already been constructed
0576 
0577 
0578     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0579         'Writes this packet to the supplied buffer'
0580         self._bufferstartoffset=buf.getcurrentoffset()
0581         self.__field_serial1.writetobuffer(buf)
0582         try: self.__field_entrysize
0583         except:
0584             self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x0222})
0585         self.__field_entrysize.writetobuffer(buf)
0586         self.__field_serial2.writetobuffer(buf)
0587         self.__field_entrynumber.writetobuffer(buf)
0588         self.__field_name.writetobuffer(buf)
0589         self.__field_group.writetobuffer(buf)
0590         try: self.__field_emails
0591         except:
0592             self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6190_137, 'length': NUMEMAILS})
0593         self.__field_emails.writetobuffer(buf)
0594         self.__field_url.writetobuffer(buf)
0595         self.__field_ringtone.writetobuffer(buf)
0596         self.__field_msgringtone.writetobuffer(buf)
0597         self.__field_secret.writetobuffer(buf)
0598         self.__field_memo.writetobuffer(buf)
0599         self.__field_wallpaper.writetobuffer(buf)
0600         try: self.__field_numbertypes
0601         except:
0602             self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6190_145, 'length': NUMPHONENUMBERS})
0603         self.__field_numbertypes.writetobuffer(buf)
0604         try: self.__field_numbers
0605         except:
0606             self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6190_147, 'length': NUMPHONENUMBERS})
0607         self.__field_numbers.writetobuffer(buf)
0608         try: self.__field_unknown20c
0609         except:
0610             self.__field_unknown20c=UNKNOWN()
0611         self.__field_unknown20c.writetobuffer(buf)
0612         self._bufferendoffset=buf.getcurrentoffset()
0613         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0614 
0615 
0616     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0617         'Reads this packet from the supplied buffer'
0618         self._bufferstartoffset=buf.getcurrentoffset()
0619         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0620         self.__field_serial1=UINT(**{'sizeinbytes': 4})
0621         self.__field_serial1.readfrombuffer(buf)
0622         self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x0222})
0623         self.__field_entrysize.readfrombuffer(buf)
0624         self.__field_serial2=UINT(**{'sizeinbytes': 4})
0625         self.__field_serial2.readfrombuffer(buf)
0626         self.__field_entrynumber=UINT(**{'sizeinbytes': 2})
0627         self.__field_entrynumber.readfrombuffer(buf)
0628         self.__field_name=USTRING(**{'sizeinbytes': 23, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0629         self.__field_name.readfrombuffer(buf)
0630         self.__field_group=UINT(**{'sizeinbytes': 2})
0631         self.__field_group.readfrombuffer(buf)
0632         self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6190_137, 'length': NUMEMAILS})
0633         self.__field_emails.readfrombuffer(buf)
0634         self.__field_url=USTRING(**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0635         self.__field_url.readfrombuffer(buf)
0636         self.__field_ringtone=UINT(**{'sizeinbytes': 1})
0637         self.__field_ringtone.readfrombuffer(buf)
0638         self.__field_msgringtone=UINT(**{'sizeinbytes': 1})
0639         self.__field_msgringtone.readfrombuffer(buf)
0640         self.__field_secret=BOOL(**{'sizeinbytes': 1})
0641         self.__field_secret.readfrombuffer(buf)
0642         self.__field_memo=USTRING(**{'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'sizeinbytes': MEMOLENGTH})
0643         self.__field_memo.readfrombuffer(buf)
0644         self.__field_wallpaper=UINT(**{'sizeinbytes': 1})
0645         self.__field_wallpaper.readfrombuffer(buf)
0646         self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6190_145, 'length': NUMPHONENUMBERS})
0647         self.__field_numbertypes.readfrombuffer(buf)
0648         self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6190_147, 'length': NUMPHONENUMBERS})
0649         self.__field_numbers.readfrombuffer(buf)
0650         self.__field_unknown20c=UNKNOWN()
0651         self.__field_unknown20c.readfrombuffer(buf)
0652         self._bufferendoffset=buf.getcurrentoffset()
0653 
0654 
0655     def __getfield_serial1(self):
0656         return self.__field_serial1.getvalue()
0657 
0658     def __setfield_serial1(self, value):
0659         if isinstance(value,UINT):
0660             self.__field_serial1=value
0661         else:
0662             self.__field_serial1=UINT(value,**{'sizeinbytes': 4})
0663 
0664     def __delfield_serial1(self): del self.__field_serial1
0665 
0666     serial1=property(__getfield_serial1, __setfield_serial1, __delfield_serial1, None)
0667 
0668     def __getfield_entrysize(self):
0669         try: self.__field_entrysize
0670         except:
0671             self.__field_entrysize=UINT(**{'sizeinbytes': 2, 'constant': 0x0222})
0672         return self.__field_entrysize.getvalue()
0673 
0674     def __setfield_entrysize(self, value):
0675         if isinstance(value,UINT):
0676             self.__field_entrysize=value
0677         else:
0678             self.__field_entrysize=UINT(value,**{'sizeinbytes': 2, 'constant': 0x0222})
0679 
0680     def __delfield_entrysize(self): del self.__field_entrysize
0681 
0682     entrysize=property(__getfield_entrysize, __setfield_entrysize, __delfield_entrysize, None)
0683 
0684     def __getfield_serial2(self):
0685         return self.__field_serial2.getvalue()
0686 
0687     def __setfield_serial2(self, value):
0688         if isinstance(value,UINT):
0689             self.__field_serial2=value
0690         else:
0691             self.__field_serial2=UINT(value,**{'sizeinbytes': 4})
0692 
0693     def __delfield_serial2(self): del self.__field_serial2
0694 
0695     serial2=property(__getfield_serial2, __setfield_serial2, __delfield_serial2, None)
0696 
0697     def __getfield_entrynumber(self):
0698         return self.__field_entrynumber.getvalue()
0699 
0700     def __setfield_entrynumber(self, value):
0701         if isinstance(value,UINT):
0702             self.__field_entrynumber=value
0703         else:
0704             self.__field_entrynumber=UINT(value,**{'sizeinbytes': 2})
0705 
0706     def __delfield_entrynumber(self): del self.__field_entrynumber
0707 
0708     entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
0709 
0710     def __getfield_name(self):
0711         return self.__field_name.getvalue()
0712 
0713     def __setfield_name(self, value):
0714         if isinstance(value,USTRING):
0715             self.__field_name=value
0716         else:
0717             self.__field_name=USTRING(value,**{'sizeinbytes': 23, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0718 
0719     def __delfield_name(self): del self.__field_name
0720 
0721     name=property(__getfield_name, __setfield_name, __delfield_name, None)
0722 
0723     def __getfield_group(self):
0724         return self.__field_group.getvalue()
0725 
0726     def __setfield_group(self, value):
0727         if isinstance(value,UINT):
0728             self.__field_group=value
0729         else:
0730             self.__field_group=UINT(value,**{'sizeinbytes': 2})
0731 
0732     def __delfield_group(self): del self.__field_group
0733 
0734     group=property(__getfield_group, __setfield_group, __delfield_group, None)
0735 
0736     def __getfield_emails(self):
0737         try: self.__field_emails
0738         except:
0739             self.__field_emails=LIST(**{'elementclass': _gen_p_lglg6190_137, 'length': NUMEMAILS})
0740         return self.__field_emails.getvalue()
0741 
0742     def __setfield_emails(self, value):
0743         if isinstance(value,LIST):
0744             self.__field_emails=value
0745         else:
0746             self.__field_emails=LIST(value,**{'elementclass': _gen_p_lglg6190_137, 'length': NUMEMAILS})
0747 
0748     def __delfield_emails(self): del self.__field_emails
0749 
0750     emails=property(__getfield_emails, __setfield_emails, __delfield_emails, None)
0751 
0752     def __getfield_url(self):
0753         return self.__field_url.getvalue()
0754 
0755     def __setfield_url(self, value):
0756         if isinstance(value,USTRING):
0757             self.__field_url=value
0758         else:
0759             self.__field_url=USTRING(value,**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0760 
0761     def __delfield_url(self): del self.__field_url
0762 
0763     url=property(__getfield_url, __setfield_url, __delfield_url, None)
0764 
0765     def __getfield_ringtone(self):
0766         return self.__field_ringtone.getvalue()
0767 
0768     def __setfield_ringtone(self, value):
0769         if isinstance(value,UINT):
0770             self.__field_ringtone=value
0771         else:
0772             self.__field_ringtone=UINT(value,**{'sizeinbytes': 1})
0773 
0774     def __delfield_ringtone(self): del self.__field_ringtone
0775 
0776     ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, "ringtone index for a call")
0777 
0778     def __getfield_msgringtone(self):
0779         return self.__field_msgringtone.getvalue()
0780 
0781     def __setfield_msgringtone(self, value):
0782         if isinstance(value,UINT):
0783             self.__field_msgringtone=value
0784         else:
0785             self.__field_msgringtone=UINT(value,**{'sizeinbytes': 1})
0786 
0787     def __delfield_msgringtone(self): del self.__field_msgringtone
0788 
0789     msgringtone=property(__getfield_msgringtone, __setfield_msgringtone, __delfield_msgringtone, "ringtone index for a text message")
0790 
0791     def __getfield_secret(self):
0792         return self.__field_secret.getvalue()
0793 
0794     def __setfield_secret(self, value):
0795         if isinstance(value,BOOL):
0796             self.__field_secret=value
0797         else:
0798             self.__field_secret=BOOL(value,**{'sizeinbytes': 1})
0799 
0800     def __delfield_secret(self): del self.__field_secret
0801 
0802     secret=property(__getfield_secret, __setfield_secret, __delfield_secret, None)
0803 
0804     def __getfield_memo(self):
0805         return self.__field_memo.getvalue()
0806 
0807     def __setfield_memo(self, value):
0808         if isinstance(value,USTRING):
0809             self.__field_memo=value
0810         else:
0811             self.__field_memo=USTRING(value,**{'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'sizeinbytes': MEMOLENGTH})
0812 
0813     def __delfield_memo(self): del self.__field_memo
0814 
0815     memo=property(__getfield_memo, __setfield_memo, __delfield_memo, None)
0816 
0817     def __getfield_wallpaper(self):
0818         return self.__field_wallpaper.getvalue()
0819 
0820     def __setfield_wallpaper(self, value):
0821         if isinstance(value,UINT):
0822             self.__field_wallpaper=value
0823         else:
0824             self.__field_wallpaper=UINT(value,**{'sizeinbytes': 1})
0825 
0826     def __delfield_wallpaper(self): del self.__field_wallpaper
0827 
0828     wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None)
0829 
0830     def __getfield_numbertypes(self):
0831         try: self.__field_numbertypes
0832         except:
0833             self.__field_numbertypes=LIST(**{'elementclass': _gen_p_lglg6190_145, 'length': NUMPHONENUMBERS})
0834         return self.__field_numbertypes.getvalue()
0835 
0836     def __setfield_numbertypes(self, value):
0837         if isinstance(value,LIST):
0838             self.__field_numbertypes=value
0839         else:
0840             self.__field_numbertypes=LIST(value,**{'elementclass': _gen_p_lglg6190_145, 'length': NUMPHONENUMBERS})
0841 
0842     def __delfield_numbertypes(self): del self.__field_numbertypes
0843 
0844     numbertypes=property(__getfield_numbertypes, __setfield_numbertypes, __delfield_numbertypes, None)
0845 
0846     def __getfield_numbers(self):
0847         try: self.__field_numbers
0848         except:
0849             self.__field_numbers=LIST(**{'elementclass': _gen_p_lglg6190_147, 'length': NUMPHONENUMBERS})
0850         return self.__field_numbers.getvalue()
0851 
0852     def __setfield_numbers(self, value):
0853         if isinstance(value,LIST):
0854             self.__field_numbers=value
0855         else:
0856             self.__field_numbers=LIST(value,**{'elementclass': _gen_p_lglg6190_147, 'length': NUMPHONENUMBERS})
0857 
0858     def __delfield_numbers(self): del self.__field_numbers
0859 
0860     numbers=property(__getfield_numbers, __setfield_numbers, __delfield_numbers, None)
0861 
0862     def __getfield_unknown20c(self):
0863         try: self.__field_unknown20c
0864         except:
0865             self.__field_unknown20c=UNKNOWN()
0866         return self.__field_unknown20c.getvalue()
0867 
0868     def __setfield_unknown20c(self, value):
0869         if isinstance(value,UNKNOWN):
0870             self.__field_unknown20c=value
0871         else:
0872             self.__field_unknown20c=UNKNOWN(value,)
0873 
0874     def __delfield_unknown20c(self): del self.__field_unknown20c
0875 
0876     unknown20c=property(__getfield_unknown20c, __setfield_unknown20c, __delfield_unknown20c, None)
0877 
0878     def iscontainer(self):
0879         return True
0880 
0881     def containerelements(self):
0882         yield ('serial1', self.__field_serial1, None)
0883         yield ('entrysize', self.__field_entrysize, None)
0884         yield ('serial2', self.__field_serial2, None)
0885         yield ('entrynumber', self.__field_entrynumber, None)
0886         yield ('name', self.__field_name, None)
0887         yield ('group', self.__field_group, None)
0888         yield ('emails', self.__field_emails, None)
0889         yield ('url', self.__field_url, None)
0890         yield ('ringtone', self.__field_ringtone, "ringtone index for a call")
0891         yield ('msgringtone', self.__field_msgringtone, "ringtone index for a text message")
0892         yield ('secret', self.__field_secret, None)
0893         yield ('memo', self.__field_memo, None)
0894         yield ('wallpaper', self.__field_wallpaper, None)
0895         yield ('numbertypes', self.__field_numbertypes, None)
0896         yield ('numbers', self.__field_numbers, None)
0897         yield ('unknown20c', self.__field_unknown20c, None)
0898 
0899 
0900 
0901 
0902 class _gen_p_lglg6190_137(BaseProtogenClass):
0903     'Anonymous inner class'
0904     __fields=['email']
0905 
0906     def __init__(self, *args, **kwargs):
0907         dict={}
0908         # What was supplied to this function
0909         dict.update(kwargs)
0910         # Parent constructor
0911         super(_gen_p_lglg6190_137,self).__init__(**dict)
0912         if self.__class__ is _gen_p_lglg6190_137:
0913             self._update(args,dict)
0914 
0915 
0916     def getfields(self):
0917         return self.__fields
0918 
0919 
0920     def _update(self, args, kwargs):
0921         super(_gen_p_lglg6190_137,self)._update(args,kwargs)
0922         keys=kwargs.keys()
0923         for key in keys:
0924             if key in self.__fields:
0925                 setattr(self, key, kwargs[key])
0926                 del kwargs[key]
0927         # Were any unrecognized kwargs passed in?
0928         if __debug__:
0929             self._complainaboutunusedargs(_gen_p_lglg6190_137,kwargs)
0930         if len(args):
0931             dict2={'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False}
0932             dict2.update(kwargs)
0933             kwargs=dict2
0934             self.__field_email=USTRING(*args,**dict2)
0935         # Make all P fields that haven't already been constructed
0936 
0937 
0938     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0939         'Writes this packet to the supplied buffer'
0940         self._bufferstartoffset=buf.getcurrentoffset()
0941         self.__field_email.writetobuffer(buf)
0942         self._bufferendoffset=buf.getcurrentoffset()
0943         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0944 
0945 
0946     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0947         'Reads this packet from the supplied buffer'
0948         self._bufferstartoffset=buf.getcurrentoffset()
0949         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0950         self.__field_email=USTRING(**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0951         self.__field_email.readfrombuffer(buf)
0952         self._bufferendoffset=buf.getcurrentoffset()
0953 
0954 
0955     def __getfield_email(self):
0956         return self.__field_email.getvalue()
0957 
0958     def __setfield_email(self, value):
0959         if isinstance(value,USTRING):
0960             self.__field_email=value
0961         else:
0962             self.__field_email=USTRING(value,**{'sizeinbytes': 49, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
0963 
0964     def __delfield_email(self): del self.__field_email
0965 
0966     email=property(__getfield_email, __setfield_email, __delfield_email, None)
0967 
0968     def iscontainer(self):
0969         return True
0970 
0971     def containerelements(self):
0972         yield ('email', self.__field_email, None)
0973 
0974 
0975 
0976 
0977 class _gen_p_lglg6190_145(BaseProtogenClass):
0978     'Anonymous inner class'
0979     __fields=['numbertype']
0980 
0981     def __init__(self, *args, **kwargs):
0982         dict={}
0983         # What was supplied to this function
0984         dict.update(kwargs)
0985         # Parent constructor
0986         super(_gen_p_lglg6190_145,self).__init__(**dict)
0987         if self.__class__ is _gen_p_lglg6190_145:
0988             self._update(args,dict)
0989 
0990 
0991     def getfields(self):
0992         return self.__fields
0993 
0994 
0995     def _update(self, args, kwargs):
0996         super(_gen_p_lglg6190_145,self)._update(args,kwargs)
0997         keys=kwargs.keys()
0998         for key in keys:
0999             if key in self.__fields:
1000                 setattr(self, key, kwargs[key])
1001                 del kwargs[key]
1002         # Were any unrecognized kwargs passed in?
1003         if __debug__:
1004             self._complainaboutunusedargs(_gen_p_lglg6190_145,kwargs)
1005         if len(args):
1006             dict2={'sizeinbytes': 1}
1007             dict2.update(kwargs)
1008             kwargs=dict2
1009             self.__field_numbertype=UINT(*args,**dict2)
1010         # Make all P fields that haven't already been constructed
1011 
1012 
1013     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1014         'Writes this packet to the supplied buffer'
1015         self._bufferstartoffset=buf.getcurrentoffset()
1016         self.__field_numbertype.writetobuffer(buf)
1017         self._bufferendoffset=buf.getcurrentoffset()
1018         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1019 
1020 
1021     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1022         'Reads this packet from the supplied buffer'
1023         self._bufferstartoffset=buf.getcurrentoffset()
1024         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1025         self.__field_numbertype=UINT(**{'sizeinbytes': 1})
1026         self.__field_numbertype.readfrombuffer(buf)
1027         self._bufferendoffset=buf.getcurrentoffset()
1028 
1029 
1030     def __getfield_numbertype(self):
1031         return self.__field_numbertype.getvalue()
1032 
1033     def __setfield_numbertype(self, value):
1034         if isinstance(value,UINT):
1035             self.__field_numbertype=value
1036         else:
1037             self.__field_numbertype=UINT(value,**{'sizeinbytes': 1})
1038 
1039     def __delfield_numbertype(self): del self.__field_numbertype
1040 
1041     numbertype=property(__getfield_numbertype, __setfield_numbertype, __delfield_numbertype, None)
1042 
1043     def iscontainer(self):
1044         return True
1045 
1046     def containerelements(self):
1047         yield ('numbertype', self.__field_numbertype, None)
1048 
1049 
1050 
1051 
1052 class _gen_p_lglg6190_147(BaseProtogenClass):
1053     'Anonymous inner class'
1054     __fields=['number']
1055 
1056     def __init__(self, *args, **kwargs):
1057         dict={}
1058         # What was supplied to this function
1059         dict.update(kwargs)
1060         # Parent constructor
1061         super(_gen_p_lglg6190_147,self).__init__(**dict)
1062         if self.__class__ is _gen_p_lglg6190_147:
1063             self._update(args,dict)
1064 
1065 
1066     def getfields(self):
1067         return self.__fields
1068 
1069 
1070     def _update(self, args, kwargs):
1071         super(_gen_p_lglg6190_147,self)._update(args,kwargs)
1072         keys=kwargs.keys()
1073         for key in keys:
1074             if key in self.__fields:
1075                 setattr(self, key, kwargs[key])
1076                 del kwargs[key]
1077         # Were any unrecognized kwargs passed in?
1078         if __debug__:
1079             self._complainaboutunusedargs(_gen_p_lglg6190_147,kwargs)
1080         if len(args):
1081             dict2={'sizeinbytes': 49, 'raiseonunterminatedread': False}
1082             dict2.update(kwargs)
1083             kwargs=dict2
1084             self.__field_number=USTRING(*args,**dict2)
1085         # Make all P fields that haven't already been constructed
1086 
1087 
1088     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1089         'Writes this packet to the supplied buffer'
1090         self._bufferstartoffset=buf.getcurrentoffset()
1091         self.__field_number.writetobuffer(buf)
1092         self._bufferendoffset=buf.getcurrentoffset()
1093         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1094 
1095 
1096     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1097         'Reads this packet from the supplied buffer'
1098         self._bufferstartoffset=buf.getcurrentoffset()
1099         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1100         self.__field_number=USTRING(**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1101         self.__field_number.readfrombuffer(buf)
1102         self._bufferendoffset=buf.getcurrentoffset()
1103 
1104 
1105     def __getfield_number(self):
1106         return self.__field_number.getvalue()
1107 
1108     def __setfield_number(self, value):
1109         if isinstance(value,USTRING):
1110             self.__field_number=value
1111         else:
1112             self.__field_number=USTRING(value,**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1113 
1114     def __delfield_number(self): del self.__field_number
1115 
1116     number=property(__getfield_number, __setfield_number, __delfield_number, None)
1117 
1118     def iscontainer(self):
1119         return True
1120 
1121     def containerelements(self):
1122         yield ('number', self.__field_number, None)
1123 
1124 
1125 
1126 
1127 class pbgroup(BaseProtogenClass):
1128     "A single group"
1129     __fields=['icon', 'name']
1130 
1131     def __init__(self, *args, **kwargs):
1132         dict={}
1133         # What was supplied to this function
1134         dict.update(kwargs)
1135         # Parent constructor
1136         super(pbgroup,self).__init__(**dict)
1137         if self.__class__ is pbgroup:
1138             self._update(args,dict)
1139 
1140 
1141     def getfields(self):
1142         return self.__fields
1143 
1144 
1145     def _update(self, args, kwargs):
1146         super(pbgroup,self)._update(args,kwargs)
1147         keys=kwargs.keys()
1148         for key in keys:
1149             if key in self.__fields:
1150                 setattr(self, key, kwargs[key])
1151                 del kwargs[key]
1152         # Were any unrecognized kwargs passed in?
1153         if __debug__:
1154             self._complainaboutunusedargs(pbgroup,kwargs)
1155         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1156         # Make all P fields that haven't already been constructed
1157 
1158 
1159     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1160         'Writes this packet to the supplied buffer'
1161         self._bufferstartoffset=buf.getcurrentoffset()
1162         self.__field_icon.writetobuffer(buf)
1163         self.__field_name.writetobuffer(buf)
1164         self._bufferendoffset=buf.getcurrentoffset()
1165         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1166 
1167 
1168     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1169         'Reads this packet from the supplied buffer'
1170         self._bufferstartoffset=buf.getcurrentoffset()
1171         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1172         self.__field_icon=UINT(**{'sizeinbytes': 1})
1173         self.__field_icon.readfrombuffer(buf)
1174         self.__field_name=USTRING(**{'sizeinbytes': 23, 'encoding': PHONE_ENCODING})
1175         self.__field_name.readfrombuffer(buf)
1176         self._bufferendoffset=buf.getcurrentoffset()
1177 
1178 
1179     def __getfield_icon(self):
1180         return self.__field_icon.getvalue()
1181 
1182     def __setfield_icon(self, value):
1183         if isinstance(value,UINT):
1184             self.__field_icon=value
1185         else:
1186             self.__field_icon=UINT(value,**{'sizeinbytes': 1})
1187 
1188     def __delfield_icon(self): del self.__field_icon
1189 
1190     icon=property(__getfield_icon, __setfield_icon, __delfield_icon, None)
1191 
1192     def __getfield_name(self):
1193         return self.__field_name.getvalue()
1194 
1195     def __setfield_name(self, value):
1196         if isinstance(value,USTRING):
1197             self.__field_name=value
1198         else:
1199             self.__field_name=USTRING(value,**{'sizeinbytes': 23, 'encoding': PHONE_ENCODING})
1200 
1201     def __delfield_name(self): del self.__field_name
1202 
1203     name=property(__getfield_name, __setfield_name, __delfield_name, None)
1204 
1205     def iscontainer(self):
1206         return True
1207 
1208     def containerelements(self):
1209         yield ('icon', self.__field_icon, None)
1210         yield ('name', self.__field_name, None)
1211 
1212 
1213 
1214 
1215 class pbgroups(BaseProtogenClass):
1216     "Phonebook groups"
1217     __fields=['groups']
1218 
1219     def __init__(self, *args, **kwargs):
1220         dict={}
1221         # What was supplied to this function
1222         dict.update(kwargs)
1223         # Parent constructor
1224         super(pbgroups,self).__init__(**dict)
1225         if self.__class__ is pbgroups:
1226             self._update(args,dict)
1227 
1228 
1229     def getfields(self):
1230         return self.__fields
1231 
1232 
1233     def _update(self, args, kwargs):
1234         super(pbgroups,self)._update(args,kwargs)
1235         keys=kwargs.keys()
1236         for key in keys:
1237             if key in self.__fields:
1238                 setattr(self, key, kwargs[key])
1239                 del kwargs[key]
1240         # Were any unrecognized kwargs passed in?
1241         if __debug__:
1242             self._complainaboutunusedargs(pbgroups,kwargs)
1243         if len(args):
1244             dict2={'elementclass': pbgroup}
1245             dict2.update(kwargs)
1246             kwargs=dict2
1247             self.__field_groups=LIST(*args,**dict2)
1248         # Make all P fields that haven't already been constructed
1249 
1250 
1251     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1252         'Writes this packet to the supplied buffer'
1253         self._bufferstartoffset=buf.getcurrentoffset()
1254         try: self.__field_groups
1255         except:
1256             self.__field_groups=LIST(**{'elementclass': pbgroup})
1257         self.__field_groups.writetobuffer(buf)
1258         self._bufferendoffset=buf.getcurrentoffset()
1259         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1260 
1261 
1262     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1263         'Reads this packet from the supplied buffer'
1264         self._bufferstartoffset=buf.getcurrentoffset()
1265         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1266         self.__field_groups=LIST(**{'elementclass': pbgroup})
1267         self.__field_groups.readfrombuffer(buf)
1268         self._bufferendoffset=buf.getcurrentoffset()
1269 
1270 
1271     def __getfield_groups(self):
1272         try: self.__field_groups
1273         except:
1274             self.__field_groups=LIST(**{'elementclass': pbgroup})
1275         return self.__field_groups.getvalue()
1276 
1277     def __setfield_groups(self, value):
1278         if isinstance(value,LIST):
1279             self.__field_groups=value
1280         else:
1281             self.__field_groups=LIST(value,**{'elementclass': pbgroup})
1282 
1283     def __delfield_groups(self): del self.__field_groups
1284 
1285     groups=property(__getfield_groups, __setfield_groups, __delfield_groups, None)
1286 
1287     def iscontainer(self):
1288         return True
1289 
1290     def containerelements(self):
1291         yield ('groups', self.__field_groups, None)
1292 
1293 
1294 
1295 
1296 class call(BaseProtogenClass):
1297     __fields=['GPStime', 'unknown1', 'duration', 'number', 'name', 'numberlength', 'unknown2', 'pbnumbertype', 'unknown3', 'pbentrynum']
1298 
1299     def __init__(self, *args, **kwargs):
1300         dict={}
1301         # What was supplied to this function
1302         dict.update(kwargs)
1303         # Parent constructor
1304         super(call,self).__init__(**dict)
1305         if self.__class__ is call:
1306             self._update(args,dict)
1307 
1308 
1309     def getfields(self):
1310         return self.__fields
1311 
1312 
1313     def _update(self, args, kwargs):
1314         super(call,self)._update(args,kwargs)
1315         keys=kwargs.keys()
1316         for key in keys:
1317             if key in self.__fields:
1318                 setattr(self, key, kwargs[key])
1319                 del kwargs[key]
1320         # Were any unrecognized kwargs passed in?
1321         if __debug__:
1322             self._complainaboutunusedargs(call,kwargs)
1323         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1324         # Make all P fields that haven't already been constructed
1325 
1326 
1327     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1328         'Writes this packet to the supplied buffer'
1329         self._bufferstartoffset=buf.getcurrentoffset()
1330         self.__field_GPStime.writetobuffer(buf)
1331         self.__field_unknown1.writetobuffer(buf)
1332         self.__field_duration.writetobuffer(buf)
1333         self.__field_number.writetobuffer(buf)
1334         self.__field_name.writetobuffer(buf)
1335         self.__field_numberlength.writetobuffer(buf)
1336         self.__field_unknown2.writetobuffer(buf)
1337         self.__field_pbnumbertype.writetobuffer(buf)
1338         self.__field_unknown3.writetobuffer(buf)
1339         self.__field_pbentrynum.writetobuffer(buf)
1340         self._bufferendoffset=buf.getcurrentoffset()
1341         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1342 
1343 
1344     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1345         'Reads this packet from the supplied buffer'
1346         self._bufferstartoffset=buf.getcurrentoffset()
1347         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1348         self.__field_GPStime=GPSDATE(**{'sizeinbytes': 4})
1349         self.__field_GPStime.readfrombuffer(buf)
1350         self.__field_unknown1=UINT(**{'sizeinbytes': 4})
1351         self.__field_unknown1.readfrombuffer(buf)
1352         self.__field_duration=UINT(**{'sizeinbytes': 4})
1353         self.__field_duration.readfrombuffer(buf)
1354         self.__field_number=USTRING(**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1355         self.__field_number.readfrombuffer(buf)
1356         self.__field_name=USTRING(**{'sizeinbytes': 36, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
1357         self.__field_name.readfrombuffer(buf)
1358         self.__field_numberlength=UINT(**{'sizeinbytes': 1})
1359         self.__field_numberlength.readfrombuffer(buf)
1360         self.__field_unknown2=UINT(**{'sizeinbytes': 1})
1361         self.__field_unknown2.readfrombuffer(buf)
1362         self.__field_pbnumbertype=UINT(**{'sizeinbytes': 1})
1363         self.__field_pbnumbertype.readfrombuffer(buf)
1364         self.__field_unknown3=UINT(**{'sizeinbytes': 2})
1365         self.__field_unknown3.readfrombuffer(buf)
1366         self.__field_pbentrynum=UINT(**{'sizeinbytes': 2})
1367         self.__field_pbentrynum.readfrombuffer(buf)
1368         self._bufferendoffset=buf.getcurrentoffset()
1369 
1370 
1371     def __getfield_GPStime(self):
1372         return self.__field_GPStime.getvalue()
1373 
1374     def __setfield_GPStime(self, value):
1375         if isinstance(value,GPSDATE):
1376             self.__field_GPStime=value
1377         else:
1378             self.__field_GPStime=GPSDATE(value,**{'sizeinbytes': 4})
1379 
1380     def __delfield_GPStime(self): del self.__field_GPStime
1381 
1382     GPStime=property(__getfield_GPStime, __setfield_GPStime, __delfield_GPStime, None)
1383 
1384     def __getfield_unknown1(self):
1385         return self.__field_unknown1.getvalue()
1386 
1387     def __setfield_unknown1(self, value):
1388         if isinstance(value,UINT):
1389             self.__field_unknown1=value
1390         else:
1391             self.__field_unknown1=UINT(value,**{'sizeinbytes': 4})
1392 
1393     def __delfield_unknown1(self): del self.__field_unknown1
1394 
1395     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
1396 
1397     def __getfield_duration(self):
1398         return self.__field_duration.getvalue()
1399 
1400     def __setfield_duration(self, value):
1401         if isinstance(value,UINT):
1402             self.__field_duration=value
1403         else:
1404             self.__field_duration=UINT(value,**{'sizeinbytes': 4})
1405 
1406     def __delfield_duration(self): del self.__field_duration
1407 
1408     duration=property(__getfield_duration, __setfield_duration, __delfield_duration, None)
1409 
1410     def __getfield_number(self):
1411         return self.__field_number.getvalue()
1412 
1413     def __setfield_number(self, value):
1414         if isinstance(value,USTRING):
1415             self.__field_number=value
1416         else:
1417             self.__field_number=USTRING(value,**{'sizeinbytes': 49, 'raiseonunterminatedread': False})
1418 
1419     def __delfield_number(self): del self.__field_number
1420 
1421     number=property(__getfield_number, __setfield_number, __delfield_number, None)
1422 
1423     def __getfield_name(self):
1424         return self.__field_name.getvalue()
1425 
1426     def __setfield_name(self, value):
1427         if isinstance(value,USTRING):
1428             self.__field_name=value
1429         else:
1430             self.__field_name=USTRING(value,**{'sizeinbytes': 36, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
1431 
1432     def __delfield_name(self): del self.__field_name
1433 
1434     name=property(__getfield_name, __setfield_name, __delfield_name, None)
1435 
1436     def __getfield_numberlength(self):
1437         return self.__field_numberlength.getvalue()
1438 
1439     def __setfield_numberlength(self, value):
1440         if isinstance(value,UINT):
1441             self.__field_numberlength=value
1442         else:
1443             self.__field_numberlength=UINT(value,**{'sizeinbytes': 1})
1444 
1445     def __delfield_numberlength(self): del self.__field_numberlength
1446 
1447     numberlength=property(__getfield_numberlength, __setfield_numberlength, __delfield_numberlength, None)
1448 
1449     def __getfield_unknown2(self):
1450         return self.__field_unknown2.getvalue()
1451 
1452     def __setfield_unknown2(self, value):
1453         if isinstance(value,UINT):
1454             self.__field_unknown2=value
1455         else:
1456             self.__field_unknown2=UINT(value,**{'sizeinbytes': 1})
1457 
1458     def __delfield_unknown2(self): del self.__field_unknown2
1459 
1460     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
1461 
1462     def __getfield_pbnumbertype(self):
1463         return self.__field_pbnumbertype.getvalue()
1464 
1465     def __setfield_pbnumbertype(self, value):
1466         if isinstance(value,UINT):
1467             self.__field_pbnumbertype=value
1468         else:
1469             self.__field_pbnumbertype=UINT(value,**{'sizeinbytes': 1})
1470 
1471     def __delfield_pbnumbertype(self): del self.__field_pbnumbertype
1472 
1473     pbnumbertype=property(__getfield_pbnumbertype, __setfield_pbnumbertype, __delfield_pbnumbertype, None)
1474 
1475     def __getfield_unknown3(self):
1476         return self.__field_unknown3.getvalue()
1477 
1478     def __setfield_unknown3(self, value):
1479         if isinstance(value,UINT):
1480             self.__field_unknown3=value
1481         else:
1482             self.__field_unknown3=UINT(value,**{'sizeinbytes': 2})
1483 
1484     def __delfield_unknown3(self): del self.__field_unknown3
1485 
1486     unknown3=property(__getfield_unknown3, __setfield_unknown3, __delfield_unknown3, None)
1487 
1488     def __getfield_pbentrynum(self):
1489         return self.__field_pbentrynum.getvalue()
1490 
1491     def __setfield_pbentrynum(self, value):
1492         if isinstance(value,UINT):
1493             self.__field_pbentrynum=value
1494         else:
1495             self.__field_pbentrynum=UINT(value,**{'sizeinbytes': 2})
1496 
1497     def __delfield_pbentrynum(self): del self.__field_pbentrynum
1498 
1499     pbentrynum=property(__getfield_pbentrynum, __setfield_pbentrynum, __delfield_pbentrynum, None)
1500 
1501     def iscontainer(self):
1502         return True
1503 
1504     def containerelements(self):
1505         yield ('GPStime', self.__field_GPStime, None)
1506         yield ('unknown1', self.__field_unknown1, None)
1507         yield ('duration', self.__field_duration, None)
1508         yield ('number', self.__field_number, None)
1509         yield ('name', self.__field_name, None)
1510         yield ('numberlength', self.__field_numberlength, None)
1511         yield ('unknown2', self.__field_unknown2, None)
1512         yield ('pbnumbertype', self.__field_pbnumbertype, None)
1513         yield ('unknown3', self.__field_unknown3, None)
1514         yield ('pbentrynum', self.__field_pbentrynum, None)
1515 
1516 
1517 
1518 
1519 class callhistory(BaseProtogenClass):
1520     __fields=['numcalls', 'unknown1', 'calls']
1521 
1522     def __init__(self, *args, **kwargs):
1523         dict={}
1524         # What was supplied to this function
1525         dict.update(kwargs)
1526         # Parent constructor
1527         super(callhistory,self).__init__(**dict)
1528         if self.__class__ is callhistory:
1529             self._update(args,dict)
1530 
1531 
1532     def getfields(self):
1533         return self.__fields
1534 
1535 
1536     def _update(self, args, kwargs):
1537         super(callhistory,self)._update(args,kwargs)
1538         keys=kwargs.keys()
1539         for key in keys:
1540             if key in self.__fields:
1541                 setattr(self, key, kwargs[key])
1542                 del kwargs[key]
1543         # Were any unrecognized kwargs passed in?
1544         if __debug__:
1545             self._complainaboutunusedargs(callhistory,kwargs)
1546         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1547         # Make all P fields that haven't already been constructed
1548 
1549 
1550     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1551         'Writes this packet to the supplied buffer'
1552         self._bufferstartoffset=buf.getcurrentoffset()
1553         self.__field_numcalls.writetobuffer(buf)
1554         self.__field_unknown1.writetobuffer(buf)
1555         try: self.__field_calls
1556         except:
1557             self.__field_calls=LIST(**{'elementclass': call})
1558         self.__field_calls.writetobuffer(buf)
1559         self._bufferendoffset=buf.getcurrentoffset()
1560         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1561 
1562 
1563     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1564         'Reads this packet from the supplied buffer'
1565         self._bufferstartoffset=buf.getcurrentoffset()
1566         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1567         self.__field_numcalls=UINT(**{'sizeinbytes': 4})
1568         self.__field_numcalls.readfrombuffer(buf)
1569         self.__field_unknown1=UINT(**{'sizeinbytes': 1})
1570         self.__field_unknown1.readfrombuffer(buf)
1571         self.__field_calls=LIST(**{'elementclass': call})
1572         self.__field_calls.readfrombuffer(buf)
1573         self._bufferendoffset=buf.getcurrentoffset()
1574 
1575 
1576     def __getfield_numcalls(self):
1577         return self.__field_numcalls.getvalue()
1578 
1579     def __setfield_numcalls(self, value):
1580         if isinstance(value,UINT):
1581             self.__field_numcalls=value
1582         else:
1583             self.__field_numcalls=UINT(value,**{'sizeinbytes': 4})
1584 
1585     def __delfield_numcalls(self): del self.__field_numcalls
1586 
1587     numcalls=property(__getfield_numcalls, __setfield_numcalls, __delfield_numcalls, None)
1588 
1589     def __getfield_unknown1(self):
1590         return self.__field_unknown1.getvalue()
1591 
1592     def __setfield_unknown1(self, value):
1593         if isinstance(value,UINT):
1594             self.__field_unknown1=value
1595         else:
1596             self.__field_unknown1=UINT(value,**{'sizeinbytes': 1})
1597 
1598     def __delfield_unknown1(self): del self.__field_unknown1
1599 
1600     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
1601 
1602     def __getfield_calls(self):
1603         try: self.__field_calls
1604         except:
1605             self.__field_calls=LIST(**{'elementclass': call})
1606         return self.__field_calls.getvalue()
1607 
1608     def __setfield_calls(self, value):
1609         if isinstance(value,LIST):
1610             self.__field_calls=value
1611         else:
1612             self.__field_calls=LIST(value,**{'elementclass': call})
1613 
1614     def __delfield_calls(self): del self.__field_calls
1615 
1616     calls=property(__getfield_calls, __setfield_calls, __delfield_calls, None)
1617 
1618     def iscontainer(self):
1619         return True
1620 
1621     def containerelements(self):
1622         yield ('numcalls', self.__field_numcalls, None)
1623         yield ('unknown1', self.__field_unknown1, None)
1624         yield ('calls', self.__field_calls, None)
1625 
1626 
1627 
1628 
1629 class indexentry(BaseProtogenClass):
1630     __fields=['index', 'name']
1631 
1632     def __init__(self, *args, **kwargs):
1633         dict={}
1634         # What was supplied to this function
1635         dict.update(kwargs)
1636         # Parent constructor
1637         super(indexentry,self).__init__(**dict)
1638         if self.__class__ is indexentry:
1639             self._update(args,dict)
1640 
1641 
1642     def getfields(self):
1643         return self.__fields
1644 
1645 
1646     def _update(self, args, kwargs):
1647         super(indexentry,self)._update(args,kwargs)
1648         keys=kwargs.keys()
1649         for key in keys:
1650             if key in self.__fields:
1651                 setattr(self, key, kwargs[key])
1652                 del kwargs[key]
1653         # Were any unrecognized kwargs passed in?
1654         if __debug__:
1655             self._complainaboutunusedargs(indexentry,kwargs)
1656         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1657         # Make all P fields that haven't already been constructed
1658 
1659 
1660     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1661         'Writes this packet to the supplied buffer'
1662         self._bufferstartoffset=buf.getcurrentoffset()
1663         try: self.__field_index
1664         except:
1665             self.__field_index=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
1666         self.__field_index.writetobuffer(buf)
1667         try: self.__field_name
1668         except:
1669             self.__field_name=USTRING(**{'sizeinbytes': 50, 'default': ""})
1670         self.__field_name.writetobuffer(buf)
1671         self._bufferendoffset=buf.getcurrentoffset()
1672         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1673 
1674 
1675     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1676         'Reads this packet from the supplied buffer'
1677         self._bufferstartoffset=buf.getcurrentoffset()
1678         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1679         self.__field_index=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
1680         self.__field_index.readfrombuffer(buf)
1681         self.__field_name=USTRING(**{'sizeinbytes': 50, 'default': ""})
1682         self.__field_name.readfrombuffer(buf)
1683         self._bufferendoffset=buf.getcurrentoffset()
1684 
1685 
1686     def __getfield_index(self):
1687         try: self.__field_index
1688         except:
1689             self.__field_index=UINT(**{'sizeinbytes': 2, 'default': 0xffff})
1690         return self.__field_index.getvalue()
1691 
1692     def __setfield_index(self, value):
1693         if isinstance(value,UINT):
1694             self.__field_index=value
1695         else:
1696             self.__field_index=UINT(value,**{'sizeinbytes': 2, 'default': 0xffff})
1697 
1698     def __delfield_index(self): del self.__field_index
1699 
1700     index=property(__getfield_index, __setfield_index, __delfield_index, None)
1701 
1702     def __getfield_name(self):
1703         try: self.__field_name
1704         except:
1705             self.__field_name=USTRING(**{'sizeinbytes': 50, 'default': ""})
1706         return self.__field_name.getvalue()
1707 
1708     def __setfield_name(self, value):
1709         if isinstance(value,USTRING):
1710             self.__field_name=value
1711         else:
1712             self.__field_name=USTRING(value,**{'sizeinbytes': 50, 'default': ""})
1713 
1714     def __delfield_name(self): del self.__field_name
1715 
1716     name=property(__getfield_name, __setfield_name, __delfield_name, None)
1717 
1718     def iscontainer(self):
1719         return True
1720 
1721     def containerelements(self):
1722         yield ('index', self.__field_index, None)
1723         yield ('name', self.__field_name, None)
1724 
1725 
1726 
1727 
1728 class indexfile(BaseProtogenClass):
1729     "Used for tracking wallpaper and ringtones"
1730     __fields=['maxitems', 'numactiveitems', 'items']
1731 
1732     def __init__(self, *args, **kwargs):
1733         dict={}
1734         # What was supplied to this function
1735         dict.update(kwargs)
1736         # Parent constructor
1737         super(indexfile,self).__init__(**dict)
1738         if self.__class__ is indexfile:
1739             self._update(args,dict)
1740 
1741 
1742     def getfields(self):
1743         return self.__fields
1744 
1745 
1746     def _update(self, args, kwargs):
1747         super(indexfile,self)._update(args,kwargs)
1748         keys=kwargs.keys()
1749         for key in keys:
1750             if key in self.__fields:
1751                 setattr(self, key, kwargs[key])
1752                 del kwargs[key]
1753         # Were any unrecognized kwargs passed in?
1754         if __debug__:
1755             self._complainaboutunusedargs(indexfile,kwargs)
1756         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1757         # Make all P fields that haven't already been constructed
1758         try: self.__field_maxitems
1759         except:
1760             self.__field_maxitems=UINT(**{'constant': 30})
1761 
1762 
1763     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1764         'Writes this packet to the supplied buffer'
1765         self._bufferstartoffset=buf.getcurrentoffset()
1766         self.__field_numactiveitems.writetobuffer(buf)
1767         try: self.__field_items
1768         except:
1769             self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': indexentry, 'createdefault': True})
1770         self.__field_items.writetobuffer(buf)
1771         self._bufferendoffset=buf.getcurrentoffset()
1772         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1773 
1774 
1775     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1776         'Reads this packet from the supplied buffer'
1777         self._bufferstartoffset=buf.getcurrentoffset()
1778         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1779         self.__field_numactiveitems=UINT(**{'sizeinbytes': 2})
1780         self.__field_numactiveitems.readfrombuffer(buf)
1781         self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': indexentry, 'createdefault': True})
1782         self.__field_items.readfrombuffer(buf)
1783         self._bufferendoffset=buf.getcurrentoffset()
1784 
1785 
1786     def __getfield_maxitems(self):
1787         return self.__field_maxitems.getvalue()
1788 
1789     def __setfield_maxitems(self, value):
1790         if isinstance(value,UINT):
1791             self.__field_maxitems=value
1792         else:
1793             self.__field_maxitems=UINT(value,**{'constant': 30})
1794 
1795     def __delfield_maxitems(self): del self.__field_maxitems
1796 
1797     maxitems=property(__getfield_maxitems, __setfield_maxitems, __delfield_maxitems, None)
1798 
1799     def __getfield_numactiveitems(self):
1800         return self.__field_numactiveitems.getvalue()
1801 
1802     def __setfield_numactiveitems(self, value):
1803         if isinstance(value,UINT):
1804             self.__field_numactiveitems=value
1805         else:
1806             self.__field_numactiveitems=UINT(value,**{'sizeinbytes': 2})
1807 
1808     def __delfield_numactiveitems(self): del self.__field_numactiveitems
1809 
1810     numactiveitems=property(__getfield_numactiveitems, __setfield_numactiveitems, __delfield_numactiveitems, None)
1811 
1812     def __getfield_items(self):
1813         try: self.__field_items
1814         except:
1815             self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': indexentry, 'createdefault': True})
1816         return self.__field_items.getvalue()
1817 
1818     def __setfield_items(self, value):
1819         if isinstance(value,LIST):
1820             self.__field_items=value
1821         else:
1822             self.__field_items=LIST(value,**{'length': self.maxitems, 'elementclass': indexentry, 'createdefault': True})
1823 
1824     def __delfield_items(self): del self.__field_items
1825 
1826     items=property(__getfield_items, __setfield_items, __delfield_items, None)
1827 
1828     def iscontainer(self):
1829         return True
1830 
1831     def containerelements(self):
1832         yield ('maxitems', self.__field_maxitems, None)
1833         yield ('numactiveitems', self.__field_numactiveitems, None)
1834         yield ('items', self.__field_items, None)
1835 
1836 
1837 
1838 
1839 class camindexentry(BaseProtogenClass):
1840     __fields=['index', 'unknown1', 'name', 'taken', 'unkown2']
1841 
1842     def __init__(self, *args, **kwargs):
1843         dict={}
1844         # What was supplied to this function
1845         dict.update(kwargs)
1846         # Parent constructor
1847         super(camindexentry,self).__init__(**dict)
1848         if self.__class__ is camindexentry:
1849             self._update(args,dict)
1850 
1851 
1852     def getfields(self):
1853         return self.__fields
1854 
1855 
1856     def _update(self, args, kwargs):
1857         super(camindexentry,self)._update(args,kwargs)
1858         keys=kwargs.keys()
1859         for key in keys:
1860             if key in self.__fields:
1861                 setattr(self, key, kwargs[key])
1862                 del kwargs[key]
1863         # Were any unrecognized kwargs passed in?
1864         if __debug__:
1865             self._complainaboutunusedargs(camindexentry,kwargs)
1866         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1867         # Make all P fields that haven't already been constructed
1868 
1869 
1870     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1871         'Writes this packet to the supplied buffer'
1872         self._bufferstartoffset=buf.getcurrentoffset()
1873         self.__field_index.writetobuffer(buf)
1874         try: self.__field_unknown1
1875         except:
1876             self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'default' : 80})
1877         self.__field_unknown1.writetobuffer(buf)
1878         try: self.__field_name
1879         except:
1880             self.__field_name=USTRING(**{'sizeinbytes': 10, 'default': ""})
1881         self.__field_name.writetobuffer(buf)
1882         self.__field_taken.writetobuffer(buf)
1883         self.__field_unkown2.writetobuffer(buf)
1884         self._bufferendoffset=buf.getcurrentoffset()
1885         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1886 
1887 
1888     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1889         'Reads this packet from the supplied buffer'
1890         self._bufferstartoffset=buf.getcurrentoffset()
1891         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1892         self.__field_index=UINT(**{'sizeinbytes': 1})
1893         self.__field_index.readfrombuffer(buf)
1894         self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'default' : 80})
1895         self.__field_unknown1.readfrombuffer(buf)
1896         self.__field_name=USTRING(**{'sizeinbytes': 10, 'default': ""})
1897         self.__field_name.readfrombuffer(buf)
1898         self.__field_taken=LGCALDATE(**{'sizeinbytes': 4})
1899         self.__field_taken.readfrombuffer(buf)
1900         self.__field_unkown2=UINT(**{'sizeinbytes': 4})
1901         self.__field_unkown2.readfrombuffer(buf)
1902         self._bufferendoffset=buf.getcurrentoffset()
1903 
1904 
1905     def __getfield_index(self):
1906         return self.__field_index.getvalue()
1907 
1908     def __setfield_index(self, value):
1909         if isinstance(value,UINT):
1910             self.__field_index=value
1911         else:
1912             self.__field_index=UINT(value,**{'sizeinbytes': 1})
1913 
1914     def __delfield_index(self): del self.__field_index
1915 
1916     index=property(__getfield_index, __setfield_index, __delfield_index, None)
1917 
1918     def __getfield_unknown1(self):
1919         try: self.__field_unknown1
1920         except:
1921             self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'default' : 80})
1922         return self.__field_unknown1.getvalue()
1923 
1924     def __setfield_unknown1(self, value):
1925         if isinstance(value,UINT):
1926             self.__field_unknown1=value
1927         else:
1928             self.__field_unknown1=UINT(value,**{'sizeinbytes': 1, 'default' : 80})
1929 
1930     def __delfield_unknown1(self): del self.__field_unknown1
1931 
1932     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
1933 
1934     def __getfield_name(self):
1935         try: self.__field_name
1936         except:
1937             self.__field_name=USTRING(**{'sizeinbytes': 10, 'default': ""})
1938         return self.__field_name.getvalue()
1939 
1940     def __setfield_name(self, value):
1941         if isinstance(value,USTRING):
1942             self.__field_name=value
1943         else:
1944             self.__field_name=USTRING(value,**{'sizeinbytes': 10, 'default': ""})
1945 
1946     def __delfield_name(self): del self.__field_name
1947 
1948     name=property(__getfield_name, __setfield_name, __delfield_name, None)
1949 
1950     def __getfield_taken(self):
1951         return self.__field_taken.getvalue()
1952 
1953     def __setfield_taken(self, value):
1954         if isinstance(value,LGCALDATE):
1955             self.__field_taken=value
1956         else:
1957             self.__field_taken=LGCALDATE(value,**{'sizeinbytes': 4})
1958 
1959     def __delfield_taken(self): del self.__field_taken
1960 
1961     taken=property(__getfield_taken, __setfield_taken, __delfield_taken, None)
1962 
1963     def __getfield_unkown2(self):
1964         return self.__field_unkown2.getvalue()
1965 
1966     def __setfield_unkown2(self, value):
1967         if isinstance(value,UINT):
1968             self.__field_unkown2=value
1969         else:
1970             self.__field_unkown2=UINT(value,**{'sizeinbytes': 4})
1971 
1972     def __delfield_unkown2(self): del self.__field_unkown2
1973 
1974     unkown2=property(__getfield_unkown2, __setfield_unkown2, __delfield_unkown2, None)
1975 
1976     def iscontainer(self):
1977         return True
1978 
1979     def containerelements(self):
1980         yield ('index', self.__field_index, None)
1981         yield ('unknown1', self.__field_unknown1, None)
1982         yield ('name', self.__field_name, None)
1983         yield ('taken', self.__field_taken, None)
1984         yield ('unkown2', self.__field_unkown2, None)
1985 
1986 
1987 
1988 
1989 class camindexfile(BaseProtogenClass):
1990     "Used for tracking wallpaper and ringtones"
1991     __fields=['maxitems', 'items']
1992 
1993     def __init__(self, *args, **kwargs):
1994         dict={}
1995         # What was supplied to this function
1996         dict.update(kwargs)
1997         # Parent constructor
1998         super(camindexfile,self).__init__(**dict)
1999         if self.__class__ is camindexfile:
2000             self._update(args,dict)
2001 
2002 
2003     def getfields(self):
2004         return self.__fields
2005 
2006 
2007     def _update(self, args, kwargs):
2008         super(camindexfile,self)._update(args,kwargs)
2009         keys=kwargs.keys()
2010         for key in keys:
2011             if key in self.__fields:
2012                 setattr(self, key, kwargs[key])
2013                 del kwargs[key]
2014         # Were any unrecognized kwargs passed in?
2015         if __debug__:
2016             self._complainaboutunusedargs(camindexfile,kwargs)
2017         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2018         # Make all P fields that haven't already been constructed
2019         try: self.__field_maxitems
2020         except:
2021             self.__field_maxitems=UINT(**{'constant': 60})
2022 
2023 
2024     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2025         'Writes this packet to the supplied buffer'
2026         self._bufferstartoffset=buf.getcurrentoffset()
2027         try: self.__field_items
2028         except:
2029             self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': camindexentry, 'createdefault': True})
2030         self.__field_items.writetobuffer(buf)
2031         self._bufferendoffset=buf.getcurrentoffset()
2032         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2033 
2034 
2035     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2036         'Reads this packet from the supplied buffer'
2037         self._bufferstartoffset=buf.getcurrentoffset()
2038         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2039         self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': camindexentry, 'createdefault': True})
2040         self.__field_items.readfrombuffer(buf)
2041         self._bufferendoffset=buf.getcurrentoffset()
2042 
2043 
2044     def __getfield_maxitems(self):
2045         return self.__field_maxitems.getvalue()
2046 
2047     def __setfield_maxitems(self, value):
2048         if isinstance(value,UINT):
2049             self.__field_maxitems=value
2050         else:
2051             self.__field_maxitems=UINT(value,**{'constant': 60})
2052 
2053     def __delfield_maxitems(self): del self.__field_maxitems
2054 
2055     maxitems=property(__getfield_maxitems, __setfield_maxitems, __delfield_maxitems, None)
2056 
2057     def __getfield_items(self):
2058         try: self.__field_items
2059         except:
2060             self.__field_items=LIST(**{'length': self.maxitems, 'elementclass': camindexentry, 'createdefault': True})
2061         return self.__field_items.getvalue()
2062 
2063     def __setfield_items(self, value):
2064         if isinstance(value,LIST):
2065             self.__field_items=value
2066         else:
2067             self.__field_items=LIST(value,**{'length': self.maxitems, 'elementclass': camindexentry, 'createdefault': True})
2068 
2069     def __delfield_items(self): del self.__field_items
2070 
2071     items=property(__getfield_items, __setfield_items, __delfield_items, None)
2072 
2073     def iscontainer(self):
2074         return True
2075 
2076     def containerelements(self):
2077         yield ('maxitems', self.__field_maxitems, None)
2078         yield ('items', self.__field_items, None)
2079 
2080 
2081 
2082 
2083 class mediadesc(BaseProtogenClass):
2084     __fields=['totalsize', 'dunno1', 'magic1', 'magic2', 'magic3', 'dunno2', 'filename', 'whoknows', 'mimetype', 'whoknows2']
2085 
2086     def __init__(self, *args, **kwargs):
2087         dict={}
2088         # What was supplied to this function
2089         dict.update(kwargs)
2090         # Parent constructor
2091         super(mediadesc,self).__init__(**dict)
2092         if self.__class__ is mediadesc:
2093             self._update(args,dict)
2094 
2095 
2096     def getfields(self):
2097         return self.__fields
2098 
2099 
2100     def _update(self, args, kwargs):
2101         super(mediadesc,self)._update(args,kwargs)
2102         keys=kwargs.keys()
2103         for key in keys:
2104             if key in self.__fields:
2105                 setattr(self, key, kwargs[key])
2106                 del kwargs[key]
2107         # Were any unrecognized kwargs passed in?
2108         if __debug__:
2109             self._complainaboutunusedargs(mediadesc,kwargs)
2110         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2111         # Make all P fields that haven't already been constructed
2112 
2113 
2114     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2115         'Writes this packet to the supplied buffer'
2116         self._bufferstartoffset=buf.getcurrentoffset()
2117         self.__field_totalsize.writetobuffer(buf)
2118         try: self.__field_dunno1
2119         except:
2120             self.__field_dunno1=UINT(**{'sizeinbytes': 4, 'constant': 0})
2121         self.__field_dunno1.writetobuffer(buf)
2122         try: self.__field_magic1
2123         except:
2124             self.__field_magic1=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2125         self.__field_magic1.writetobuffer(buf)
2126         try: self.__field_magic2
2127         except:
2128             self.__field_magic2=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2129         self.__field_magic2.writetobuffer(buf)
2130         try: self.__field_magic3
2131         except:
2132             self.__field_magic3=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2133         self.__field_magic3.writetobuffer(buf)
2134         try: self.__field_dunno2
2135         except:
2136             self.__field_dunno2=UINT(**{'sizeinbytes': 4, 'constant': 0})
2137         self.__field_dunno2.writetobuffer(buf)
2138         try: self.__field_filename
2139         except:
2140             self.__field_filename=USTRING(**{'sizeinbytes': 32, 'default': 'body'})
2141         self.__field_filename.writetobuffer(buf)
2142         try: self.__field_whoknows
2143         except:
2144             self.__field_whoknows=USTRING(**{'sizeinbytes': 32, 'default': 'identity'})
2145         self.__field_whoknows.writetobuffer(buf)
2146         self.__field_mimetype.writetobuffer(buf)
2147         try: self.__field_whoknows2
2148         except:
2149             self.__field_whoknows2=USTRING(**{'sizeinbytes': 32, 'default': ""})
2150         self.__field_whoknows2.writetobuffer(buf)
2151         self._bufferendoffset=buf.getcurrentoffset()
2152         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2153 
2154 
2155     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2156         'Reads this packet from the supplied buffer'
2157         self._bufferstartoffset=buf.getcurrentoffset()
2158         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2159         self.__field_totalsize=UINT(**{'sizeinbytes': 4})
2160         self.__field_totalsize.readfrombuffer(buf)
2161         self.__field_dunno1=UINT(**{'sizeinbytes': 4, 'constant': 0})
2162         self.__field_dunno1.readfrombuffer(buf)
2163         self.__field_magic1=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2164         self.__field_magic1.readfrombuffer(buf)
2165         self.__field_magic2=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2166         self.__field_magic2.readfrombuffer(buf)
2167         self.__field_magic3=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2168         self.__field_magic3.readfrombuffer(buf)
2169         self.__field_dunno2=UINT(**{'sizeinbytes': 4, 'constant': 0})
2170         self.__field_dunno2.readfrombuffer(buf)
2171         self.__field_filename=USTRING(**{'sizeinbytes': 32, 'default': 'body'})
2172         self.__field_filename.readfrombuffer(buf)
2173         self.__field_whoknows=USTRING(**{'sizeinbytes': 32, 'default': 'identity'})
2174         self.__field_whoknows.readfrombuffer(buf)
2175         self.__field_mimetype=USTRING(**{'sizeinbytes': 32})
2176         self.__field_mimetype.readfrombuffer(buf)
2177         self.__field_whoknows2=USTRING(**{'sizeinbytes': 32, 'default': ""})
2178         self.__field_whoknows2.readfrombuffer(buf)
2179         self._bufferendoffset=buf.getcurrentoffset()
2180 
2181 
2182     def __getfield_totalsize(self):
2183         return self.__field_totalsize.getvalue()
2184 
2185     def __setfield_totalsize(self, value):
2186         if isinstance(value,UINT):
2187             self.__field_totalsize=value
2188         else:
2189             self.__field_totalsize=UINT(value,**{'sizeinbytes': 4})
2190 
2191     def __delfield_totalsize(self): del self.__field_totalsize
2192 
2193     totalsize=property(__getfield_totalsize, __setfield_totalsize, __delfield_totalsize, "media file size with size of this file (152 bytes) added")
2194 
2195     def __getfield_dunno1(self):
2196         try: self.__field_dunno1
2197         except:
2198             self.__field_dunno1=UINT(**{'sizeinbytes': 4, 'constant': 0})
2199         return self.__field_dunno1.getvalue()
2200 
2201     def __setfield_dunno1(self, value):
2202         if isinstance(value,UINT):
2203             self.__field_dunno1=value
2204         else:
2205             self.__field_dunno1=UINT(value,**{'sizeinbytes': 4, 'constant': 0})
2206 
2207     def __delfield_dunno1(self): del self.__field_dunno1
2208 
2209     dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None)
2210 
2211     def __getfield_magic1(self):
2212         try: self.__field_magic1
2213         except:
2214             self.__field_magic1=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2215         return self.__field_magic1.getvalue()
2216 
2217     def __setfield_magic1(self, value):
2218         if isinstance(value,UINT):
2219             self.__field_magic1=value
2220         else:
2221             self.__field_magic1=UINT(value,**{'sizeinbytes': 4, 'default': 0x7824c97a})
2222 
2223     def __delfield_magic1(self): del self.__field_magic1
2224 
2225     magic1=property(__getfield_magic1, __setfield_magic1, __delfield_magic1, "probably the file date (created)")
2226 
2227     def __getfield_magic2(self):
2228         try: self.__field_magic2
2229         except:
2230             self.__field_magic2=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2231         return self.__field_magic2.getvalue()
2232 
2233     def __setfield_magic2(self, value):
2234         if isinstance(value,UINT):
2235             self.__field_magic2=value
2236         else:
2237             self.__field_magic2=UINT(value,**{'sizeinbytes': 4, 'default': 0x7824c97a})
2238 
2239     def __delfield_magic2(self): del self.__field_magic2
2240 
2241     magic2=property(__getfield_magic2, __setfield_magic2, __delfield_magic2, "probably the file date (accessed)")
2242 
2243     def __getfield_magic3(self):
2244         try: self.__field_magic3
2245         except:
2246             self.__field_magic3=UINT(**{'sizeinbytes': 4, 'default': 0x7824c97a})
2247         return self.__field_magic3.getvalue()
2248 
2249     def __setfield_magic3(self, value):
2250         if isinstance(value,UINT):
2251             self.__field_magic3=value
2252         else:
2253             self.__field_magic3=UINT(value,**{'sizeinbytes': 4, 'default': 0x7824c97a})
2254 
2255     def __delfield_magic3(self): del self.__field_magic3
2256 
2257     magic3=property(__getfield_magic3, __setfield_magic3, __delfield_magic3, "probably the file date (modified)")
2258 
2259     def __getfield_dunno2(self):
2260         try: self.__field_dunno2
2261         except:
2262             self.__field_dunno2=UINT(**{'sizeinbytes': 4, 'constant': 0})
2263         return self.__field_dunno2.getvalue()
2264 
2265     def __setfield_dunno2(self, value):
2266         if isinstance(value,UINT):
2267             self.__field_dunno2=value
2268         else:
2269             self.__field_dunno2=UINT(value,**{'sizeinbytes': 4, 'constant': 0})
2270 
2271     def __delfield_dunno2(self): del self.__field_dunno2
2272 
2273     dunno2=property(__getfield_dunno2, __setfield_dunno2, __delfield_dunno2, None)
2274 
2275     def __getfield_filename(self):
2276         try: self.__field_filename
2277         except:
2278             self.__field_filename=USTRING(**{'sizeinbytes': 32, 'default': 'body'})
2279         return self.__field_filename.getvalue()
2280 
2281     def __setfield_filename(self, value):
2282         if isinstance(value,USTRING):
2283             self.__field_filename=value
2284         else:
2285             self.__field_filename=USTRING(value,**{'sizeinbytes': 32, 'default': 'body'})
2286 
2287     def __delfield_filename(self): del self.__field_filename
2288 
2289     filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
2290 
2291     def __getfield_whoknows(self):
2292         try: self.__field_whoknows
2293         except:
2294             self.__field_whoknows=USTRING(**{'sizeinbytes': 32, 'default': 'identity'})
2295         return self.__field_whoknows.getvalue()
2296 
2297     def __setfield_whoknows(self, value):
2298         if isinstance(value,USTRING):
2299             self.__field_whoknows=value
2300         else:
2301             self.__field_whoknows=USTRING(value,**{'sizeinbytes': 32, 'default': 'identity'})
2302 
2303     def __delfield_whoknows(self): del self.__field_whoknows
2304 
2305     whoknows=property(__getfield_whoknows, __setfield_whoknows, __delfield_whoknows, "set to iso8859_1 in some cases??")
2306 
2307     def __getfield_mimetype(self):
2308         return self.__field_mimetype.getvalue()
2309 
2310     def __setfield_mimetype(self, value):
2311         if isinstance(value,USTRING):
2312             self.__field_mimetype=value
2313         else:
2314             self.__field_mimetype=USTRING(value,**{'sizeinbytes': 32})
2315 
2316     def __delfield_mimetype(self): del self.__field_mimetype
2317 
2318     mimetype=property(__getfield_mimetype, __setfield_mimetype, __delfield_mimetype, None)
2319 
2320     def __getfield_whoknows2(self):
2321         try: self.__field_whoknows2
2322         except:
2323             self.__field_whoknows2=USTRING(**{'sizeinbytes': 32, 'default': ""})
2324         return self.__field_whoknows2.getvalue()
2325 
2326     def __setfield_whoknows2(self, value):
2327         if isinstance(value,USTRING):
2328             self.__field_whoknows2=value
2329         else:
2330             self.__field_whoknows2=USTRING(value,**{'sizeinbytes': 32, 'default': ""})
2331 
2332     def __delfield_whoknows2(self): del self.__field_whoknows2
2333 
2334     whoknows2=property(__getfield_whoknows2, __setfield_whoknows2, __delfield_whoknows2, None)
2335 
2336     def iscontainer(self):
2337         return True
2338 
2339     def containerelements(self):
2340         yield ('totalsize', self.__field_totalsize, "media file size with size of this file (152 bytes) added")
2341         yield ('dunno1', self.__field_dunno1, None)
2342         yield ('magic1', self.__field_magic1, "probably the file date (created)")
2343         yield ('magic2', self.__field_magic2, "probably the file date (accessed)")
2344         yield ('magic3', self.__field_magic3, "probably the file date (modified)")
2345         yield ('dunno2', self.__field_dunno2, None)
2346         yield ('filename', self.__field_filename, None)
2347         yield ('whoknows', self.__field_whoknows, "set to iso8859_1 in some cases??")
2348         yield ('mimetype', self.__field_mimetype, None)
2349         yield ('whoknows2', self.__field_whoknows2, None)
2350 
2351 
2352 
2353 
2354 class textmemo(BaseProtogenClass):
2355     __fields=['text']
2356 
2357     def __init__(self, *args, **kwargs):
2358         dict={}
2359         # What was supplied to this function
2360         dict.update(kwargs)
2361         # Parent constructor
2362         super(textmemo,self).__init__(**dict)
2363         if self.__class__ is textmemo:
2364             self._update(args,dict)
2365 
2366 
2367     def getfields(self):
2368         return self.__fields
2369 
2370 
2371     def _update(self, args, kwargs):
2372         super(textmemo,self)._update(args,kwargs)
2373         keys=kwargs.keys()
2374         for key in keys:
2375             if key in self.__fields:
2376                 setattr(self, key, kwargs[key])
2377                 del kwargs[key]
2378         # Were any unrecognized kwargs passed in?
2379         if __debug__:
2380             self._complainaboutunusedargs(textmemo,kwargs)
2381         if len(args):
2382             dict2={'sizeinbytes': 151,  'raiseonunterminatedread': False, 'raiseontruncate': False }
2383             dict2.update(kwargs)
2384             kwargs=dict2
2385             self.__field_text=USTRING(*args,**dict2)
2386         # Make all P fields that haven't already been constructed
2387 
2388 
2389     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2390         'Writes this packet to the supplied buffer'
2391         self._bufferstartoffset=buf.getcurrentoffset()
2392         self.__field_text.writetobuffer(buf)
2393         self._bufferendoffset=buf.getcurrentoffset()
2394         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2395 
2396 
2397     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2398         'Reads this packet from the supplied buffer'
2399         self._bufferstartoffset=buf.getcurrentoffset()
2400         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2401         self.__field_text=USTRING(**{'sizeinbytes': 151,  'raiseonunterminatedread': False, 'raiseontruncate': False })
2402         self.__field_text.readfrombuffer(buf)
2403         self._bufferendoffset=buf.getcurrentoffset()
2404 
2405 
2406     def __getfield_text(self):
2407         return self.__field_text.getvalue()
2408 
2409     def __setfield_text(self, value):
2410         if isinstance(value,USTRING):
2411             self.__field_text=value
2412         else:
2413             self.__field_text=USTRING(value,**{'sizeinbytes': 151,  'raiseonunterminatedread': False, 'raiseontruncate': False })
2414 
2415     def __delfield_text(self): del self.__field_text
2416 
2417     text=property(__getfield_text, __setfield_text, __delfield_text, None)
2418 
2419     def iscontainer(self):
2420         return True
2421 
2422     def containerelements(self):
2423         yield ('text', self.__field_text, None)
2424 
2425 
2426 
2427 
2428 class textmemofile(BaseProtogenClass):
2429     __fields=['itemcount', 'items']
2430 
2431     def __init__(self, *args, **kwargs):
2432         dict={}
2433         # What was supplied to this function
2434         dict.update(kwargs)
2435         # Parent constructor
2436         super(textmemofile,self).__init__(**dict)
2437         if self.__class__ is textmemofile:
2438             self._update(args,dict)
2439 
2440 
2441     def getfields(self):
2442         return self.__fields
2443 
2444 
2445     def _update(self, args, kwargs):
2446         super(textmemofile,self)._update(args,kwargs)
2447         keys=kwargs.keys()
2448         for key in keys:
2449             if key in self.__fields:
2450                 setattr(self, key, kwargs[key])
2451                 del kwargs[key]
2452         # Were any unrecognized kwargs passed in?
2453         if __debug__:
2454             self._complainaboutunusedargs(textmemofile,kwargs)
2455         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2456         # Make all P fields that haven't already been constructed
2457 
2458 
2459     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2460         'Writes this packet to the supplied buffer'
2461         self._bufferstartoffset=buf.getcurrentoffset()
2462         self.__field_itemcount.writetobuffer(buf)
2463         try: self.__field_items
2464         except:
2465             self.__field_items=LIST(**{'elementclass': textmemo })
2466         self.__field_items.writetobuffer(buf)
2467         self._bufferendoffset=buf.getcurrentoffset()
2468         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2469 
2470 
2471     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2472         'Reads this packet from the supplied buffer'
2473         self._bufferstartoffset=buf.getcurrentoffset()
2474         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2475         self.__field_itemcount=UINT(**{'sizeinbytes': 4})
2476         self.__field_itemcount.readfrombuffer(buf)
2477         self.__field_items=LIST(**{'elementclass': textmemo })
2478         self.__field_items.readfrombuffer(buf)
2479         self._bufferendoffset=buf.getcurrentoffset()
2480 
2481 
2482     def __getfield_itemcount(self):
2483         return self.__field_itemcount.getvalue()
2484 
2485     def __setfield_itemcount(self, value):
2486         if isinstance(value,UINT):
2487             self.__field_itemcount=value
2488         else:
2489             self.__field_itemcount=UINT(value,**{'sizeinbytes': 4})
2490 
2491     def __delfield_itemcount(self): del self.__field_itemcount
2492 
2493     itemcount=property(__getfield_itemcount, __setfield_itemcount, __delfield_itemcount, None)
2494 
2495     def __getfield_items(self):
2496         try: self.__field_items
2497         except:
2498             self.__field_items=LIST(**{'elementclass': textmemo })
2499         return self.__field_items.getvalue()
2500 
2501     def __setfield_items(self, value):
2502         if isinstance(value,LIST):
2503             self.__field_items=value
2504         else:
2505             self.__field_items=LIST(value,**{'elementclass': textmemo })
2506 
2507     def __delfield_items(self): del self.__field_items
2508 
2509     items=property(__getfield_items, __setfield_items, __delfield_items, None)
2510 
2511     def iscontainer(self):
2512         return True
2513 
2514     def containerelements(self):
2515         yield ('itemcount', self.__field_itemcount, None)
2516         yield ('items', self.__field_items, None)
2517 
2518 
2519 
2520 
2521 class scheduleexception(BaseProtogenClass):
2522     __fields=['pos', 'day', 'month', 'year']
2523 
2524     def __init__(self, *args, **kwargs):
2525         dict={}
2526         # What was supplied to this function
2527         dict.update(kwargs)
2528         # Parent constructor
2529         super(scheduleexception,self).__init__(**dict)
2530         if self.__class__ is scheduleexception:
2531             self._update(args,dict)
2532 
2533 
2534     def getfields(self):
2535         return self.__fields
2536 
2537 
2538     def _update(self, args, kwargs):
2539         super(scheduleexception,self)._update(args,kwargs)
2540         keys=kwargs.keys()
2541         for key in keys:
2542             if key in self.__fields:
2543                 setattr(self, key, kwargs[key])
2544                 del kwargs[key]
2545         # Were any unrecognized kwargs passed in?
2546         if __debug__:
2547             self._complainaboutunusedargs(scheduleexception,kwargs)
2548         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2549         # Make all P fields that haven't already been constructed
2550 
2551 
2552     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2553         'Writes this packet to the supplied buffer'
2554         self._bufferstartoffset=buf.getcurrentoffset()
2555         self.__field_pos.writetobuffer(buf)
2556         self.__field_day.writetobuffer(buf)
2557         self.__field_month.writetobuffer(buf)
2558         self.__field_year.writetobuffer(buf)
2559         self._bufferendoffset=buf.getcurrentoffset()
2560         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2561 
2562 
2563     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2564         'Reads this packet from the supplied buffer'
2565         self._bufferstartoffset=buf.getcurrentoffset()
2566         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2567         self.__field_pos=UINT(**{'sizeinbytes': 4})
2568         self.__field_pos.readfrombuffer(buf)
2569         self.__field_day=UINT(**{'sizeinbytes': 1})
2570         self.__field_day.readfrombuffer(buf)
2571         self.__field_month=UINT(**{'sizeinbytes': 1})
2572         self.__field_month.readfrombuffer(buf)
2573         self.__field_year=UINT(**{'sizeinbytes': 2})
2574         self.__field_year.readfrombuffer(buf)
2575         self._bufferendoffset=buf.getcurrentoffset()
2576 
2577 
2578     def __getfield_pos(self):
2579         return self.__field_pos.getvalue()
2580 
2581     def __setfield_pos(self, value):
2582         if isinstance(value,UINT):
2583             self.__field_pos=value
2584         else:
2585             self.__field_pos=UINT(value,**{'sizeinbytes': 4})
2586 
2587     def __delfield_pos(self): del self.__field_pos
2588 
2589     pos=property(__getfield_pos, __setfield_pos, __delfield_pos, "Refers to event id (position in schedule file) that this suppresses")
2590 
2591     def __getfield_day(self):
2592         return self.__field_day.getvalue()
2593 
2594     def __setfield_day(self, value):
2595         if isinstance(value,UINT):
2596             self.__field_day=value
2597         else:
2598             self.__field_day=UINT(value,**{'sizeinbytes': 1})
2599 
2600     def __delfield_day(self): del self.__field_day
2601 
2602     day=property(__getfield_day, __setfield_day, __delfield_day, None)
2603 
2604     def __getfield_month(self):
2605         return self.__field_month.getvalue()
2606 
2607     def __setfield_month(self, value):
2608         if isinstance(value,UINT):
2609             self.__field_month=value
2610         else:
2611             self.__field_month=UINT(value,**{'sizeinbytes': 1})
2612 
2613     def __delfield_month(self): del self.__field_month
2614 
2615     month=property(__getfield_month, __setfield_month, __delfield_month, None)
2616 
2617     def __getfield_year(self):
2618         return self.__field_year.getvalue()
2619 
2620     def __setfield_year(self, value):
2621         if isinstance(value,UINT):
2622             self.__field_year=value
2623         else:
2624             self.__field_year=UINT(value,**{'sizeinbytes': 2})
2625 
2626     def __delfield_year(self): del self.__field_year
2627 
2628     year=property(__getfield_year, __setfield_year, __delfield_year, None)
2629 
2630     def iscontainer(self):
2631         return True
2632 
2633     def containerelements(self):
2634         yield ('pos', self.__field_pos, "Refers to event id (position in schedule file) that this suppresses")
2635         yield ('day', self.__field_day, None)
2636         yield ('month', self.__field_month, None)
2637         yield ('year', self.__field_year, None)
2638 
2639 
2640 
2641 
2642 class scheduleexceptionfile(BaseProtogenClass):
2643     __fields=['items']
2644 
2645     def __init__(self, *args, **kwargs):
2646         dict={}
2647         # What was supplied to this function
2648         dict.update(kwargs)
2649         # Parent constructor
2650         super(scheduleexceptionfile,self).__init__(**dict)
2651         if self.__class__ is scheduleexceptionfile:
2652             self._update(args,dict)
2653 
2654 
2655     def getfields(self):
2656         return self.__fields
2657 
2658 
2659     def _update(self, args, kwargs):
2660         super(scheduleexceptionfile,self)._update(args,kwargs)
2661         keys=kwargs.keys()
2662         for key in keys:
2663             if key in self.__fields:
2664                 setattr(self, key, kwargs[key])
2665                 del kwargs[key]
2666         # Were any unrecognized kwargs passed in?
2667         if __debug__:
2668             self._complainaboutunusedargs(scheduleexceptionfile,kwargs)
2669         if len(args):
2670             dict2={'elementclass': scheduleexception}
2671             dict2.update(kwargs)
2672             kwargs=dict2
2673             self.__field_items=LIST(*args,**dict2)
2674         # Make all P fields that haven't already been constructed
2675 
2676 
2677     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2678         'Writes this packet to the supplied buffer'
2679         self._bufferstartoffset=buf.getcurrentoffset()
2680         try: self.__field_items
2681         except:
2682             self.__field_items=LIST(**{'elementclass': scheduleexception})
2683         self.__field_items.writetobuffer(buf)
2684         self._bufferendoffset=buf.getcurrentoffset()
2685         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2686 
2687 
2688     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2689         'Reads this packet from the supplied buffer'
2690         self._bufferstartoffset=buf.getcurrentoffset()
2691         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2692         self.__field_items=LIST(**{'elementclass': scheduleexception})
2693         self.__field_items.readfrombuffer(buf)
2694         self._bufferendoffset=buf.getcurrentoffset()
2695 
2696 
2697     def __getfield_items(self):
2698         try: self.__field_items
2699         except:
2700             self.__field_items=LIST(**{'elementclass': scheduleexception})
2701         return self.__field_items.getvalue()
2702 
2703     def __setfield_items(self, value):
2704         if isinstance(value,LIST):
2705             self.__field_items=value
2706         else:
2707             self.__field_items=LIST(value,**{'elementclass': scheduleexception})
2708 
2709     def __delfield_items(self): del self.__field_items
2710 
2711     items=property(__getfield_items, __setfield_items, __delfield_items, None)
2712 
2713     def iscontainer(self):
2714         return True
2715 
2716     def containerelements(self):
2717         yield ('items', self.__field_items, None)
2718 
2719 
2720 
2721 
2722 class scheduleevent(BaseProtogenClass):
2723     __fields=['packet_size', 'pos', 'start', 'end', 'repeat', 'daybitmap', 'pad2', 'alarmminutes', 'alarmhours', 'alarmtype', 'snoozedelay', 'ringtone', 'description', 'unknown1', 'hasvoice', 'voiceid', 'unknown2']
2724 
2725     def __init__(self, *args, **kwargs):
2726         dict={}
2727         # What was supplied to this function
2728         dict.update(kwargs)
2729         # Parent constructor
2730         super(scheduleevent,self).__init__(**dict)
2731         if self.__class__ is scheduleevent:
2732             self._update(args,dict)
2733 
2734 
2735     def getfields(self):
2736         return self.__fields
2737 
2738 
2739     def _update(self, args, kwargs):
2740         super(scheduleevent,self)._update(args,kwargs)
2741         keys=kwargs.keys()
2742         for key in keys:
2743             if key in self.__fields:
2744                 setattr(self, key, kwargs[key])
2745                 del kwargs[key]
2746         # Were any unrecognized kwargs passed in?
2747         if __debug__:
2748             self._complainaboutunusedargs(scheduleevent,kwargs)
2749         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2750         # Make all P fields that haven't already been constructed
2751         try: self.__field_packet_size
2752         except:
2753             self.__field_packet_size=UINT(**{ 'constant': 64 })
2754 
2755 
2756     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2757         'Writes this packet to the supplied buffer'
2758         self._bufferstartoffset=buf.getcurrentoffset()
2759         self.__field_pos.writetobuffer(buf)
2760         self.__field_start.writetobuffer(buf)
2761         self.__field_end.writetobuffer(buf)
2762         self.__field_repeat.writetobuffer(buf)
2763         self.__field_daybitmap.writetobuffer(buf)
2764         try: self.__field_pad2
2765         except:
2766             self.__field_pad2=UINT(**{'sizeinbytes': 1,  'default': 0 })
2767         self.__field_pad2.writetobuffer(buf)
2768         self.__field_alarmminutes.writetobuffer(buf)
2769         self.__field_alarmhours.writetobuffer(buf)
2770         self.__field_alarmtype.writetobuffer(buf)
2771         try: self.__field_snoozedelay
2772         except:
2773             self.__field_snoozedelay=UINT(**{'sizeinbytes': 1,  'default': 0 })
2774         self.__field_snoozedelay.writetobuffer(buf)
2775         self.__field_ringtone.writetobuffer(buf)
2776         self.__field_description.writetobuffer(buf)
2777         try: self.__field_unknown1
2778         except:
2779             self.__field_unknown1=UINT(**{'sizeinbytes': 2,  'default': 0 })
2780         self.__field_unknown1.writetobuffer(buf)
2781         self.__field_hasvoice.writetobuffer(buf)
2782         self.__field_voiceid.writetobuffer(buf)
2783         try: self.__field_unknown2
2784         except:
2785             self.__field_unknown2=UINT(**{'sizeinbytes': 2,  'default': 0 })
2786         self.__field_unknown2.writetobuffer(buf)
2787         self._bufferendoffset=buf.getcurrentoffset()
2788         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2789 
2790 
2791     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2792         'Reads this packet from the supplied buffer'
2793         self._bufferstartoffset=buf.getcurrentoffset()
2794         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2795         self.__field_pos=UINT(**{'sizeinbytes': 4})
2796         self.__field_pos.readfrombuffer(buf)
2797         self.__field_start=LGCALDATE(**{'sizeinbytes': 4})
2798         self.__field_start.readfrombuffer(buf)
2799         self.__field_end=LGCALDATE(**{'sizeinbytes': 4})
2800         self.__field_end.readfrombuffer(buf)
2801         self.__field_repeat=UINT(**{'sizeinbytes': 1})
2802         self.__field_repeat.readfrombuffer(buf)
2803         self.__field_daybitmap=UINT(**{'sizeinbytes': 2})
2804         self.__field_daybitmap.readfrombuffer(buf)
2805         self.__field_pad2=UINT(**{'sizeinbytes': 1,  'default': 0 })
2806         self.__field_pad2.readfrombuffer(buf)
2807         self.__field_alarmminutes=UINT(**{'sizeinbytes': 1})
2808         self.__field_alarmminutes.readfrombuffer(buf)
2809         self.__field_alarmhours=UINT(**{'sizeinbytes': 1})
2810         self.__field_alarmhours.readfrombuffer(buf)
2811         self.__field_alarmtype=UINT(**{'sizeinbytes': 1})
2812         self.__field_alarmtype.readfrombuffer(buf)
2813         self.__field_snoozedelay=UINT(**{'sizeinbytes': 1,  'default': 0 })
2814         self.__field_snoozedelay.readfrombuffer(buf)
2815         self.__field_ringtone=UINT(**{'sizeinbytes': 1})
2816         self.__field_ringtone.readfrombuffer(buf)
2817         self.__field_description=USTRING(**{'sizeinbytes': 35, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
2818         self.__field_description.readfrombuffer(buf)
2819         self.__field_unknown1=UINT(**{'sizeinbytes': 2,  'default': 0 })
2820         self.__field_unknown1.readfrombuffer(buf)
2821         self.__field_hasvoice=UINT(**{'sizeinbytes': 2})
2822         self.__field_hasvoice.readfrombuffer(buf)
2823         self.__field_voiceid=UINT(**{'sizeinbytes': 2})
2824         self.__field_voiceid.readfrombuffer(buf)
2825         self.__field_unknown2=UINT(**{'sizeinbytes': 2,  'default': 0 })
2826         self.__field_unknown2.readfrombuffer(buf)
2827         self._bufferendoffset=buf.getcurrentoffset()
2828 
2829 
2830     def __getfield_packet_size(self):
2831         return self.__field_packet_size.getvalue()
2832 
2833     def __setfield_packet_size(self, value):
2834         if isinstance(value,UINT):
2835             self.__field_packet_size=value
2836         else:
2837             self.__field_packet_size=UINT(value,**{ 'constant': 64 })
2838 
2839     def __delfield_packet_size(self): del self.__field_packet_size
2840 
2841     packet_size=property(__getfield_packet_size, __setfield_packet_size, __delfield_packet_size, "Faster than packetsize()")
2842 
2843     def __getfield_pos(self):
2844         return self.__field_pos.getvalue()
2845 
2846     def __setfield_pos(self, value):
2847         if isinstance(value,UINT):
2848             self.__field_pos=value
2849         else:
2850             self.__field_pos=UINT(value,**{'sizeinbytes': 4})
2851 
2852     def __delfield_pos(self): del self.__field_pos
2853 
2854     pos=property(__getfield_pos, __setfield_pos, __delfield_pos, "position within file, used as an event id")
2855 
2856     def __getfield_start(self):
2857         return self.__field_start.getvalue()
2858 
2859     def __setfield_start(self, value):
2860         if isinstance(value,LGCALDATE):
2861             self.__field_start=value
2862         else:
2863             self.__field_start=LGCALDATE(value,**{'sizeinbytes': 4})
2864 
2865     def __delfield_start(self): del self.__field_start
2866 
2867     start=property(__getfield_start, __setfield_start, __delfield_start, None)
2868 
2869     def __getfield_end(self):
2870         return self.__field_end.getvalue()
2871 
2872     def __setfield_end(self, value):
2873         if isinstance(value,LGCALDATE):
2874             self.__field_end=value
2875         else:
2876             self.__field_end=LGCALDATE(value,**{'sizeinbytes': 4})
2877 
2878     def __delfield_end(self): del self.__field_end
2879 
2880     end=property(__getfield_end, __setfield_end, __delfield_end, None)
2881 
2882     def __getfield_repeat(self):
2883         return self.__field_repeat.getvalue()
2884 
2885     def __setfield_repeat(self, value):
2886         if isinstance(value,UINT):
2887             self.__field_repeat=value
2888         else:
2889             self.__field_repeat=UINT(value,**{'sizeinbytes': 1})
2890 
2891     def __delfield_repeat(self): del self.__field_repeat
2892 
2893     repeat=property(__getfield_repeat, __setfield_repeat, __delfield_repeat, None)
2894 
2895     def __getfield_daybitmap(self):
2896         return self.__field_daybitmap.getvalue()
2897 
2898     def __setfield_daybitmap(self, value):
2899         if isinstance(value,UINT):
2900             self.__field_daybitmap=value
2901         else:
2902             self.__field_daybitmap=UINT(value,**{'sizeinbytes': 2})
2903 
2904     def __delfield_daybitmap(self): del self.__field_daybitmap
2905 
2906     daybitmap=property(__getfield_daybitmap, __setfield_daybitmap, __delfield_daybitmap, "which days a weekly repeat event happens on")
2907 
2908     def __getfield_pad2(self):
2909         try: self.__field_pad2
2910         except:
2911             self.__field_pad2=UINT(**{'sizeinbytes': 1,  'default': 0 })
2912         return self.__field_pad2.getvalue()
2913 
2914     def __setfield_pad2(self, value):
2915         if isinstance(value,UINT):
2916             self.__field_pad2=value
2917         else:
2918             self.__field_pad2=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2919 
2920     def __delfield_pad2(self): del self.__field_pad2
2921 
2922     pad2=property(__getfield_pad2, __setfield_pad2, __delfield_pad2, None)
2923 
2924     def __getfield_alarmminutes(self):
2925         return self.__field_alarmminutes.getvalue()
2926 
2927     def __setfield_alarmminutes(self, value):
2928         if isinstance(value,UINT):
2929             self.__field_alarmminutes=value
2930         else:
2931             self.__field_alarmminutes=UINT(value,**{'sizeinbytes': 1})
2932 
2933     def __delfield_alarmminutes(self): del self.__field_alarmminutes
2934 
2935     alarmminutes=property(__getfield_alarmminutes, __setfield_alarmminutes, __delfield_alarmminutes, "a value of 100 indicates not set")
2936 
2937     def __getfield_alarmhours(self):
2938         return self.__field_alarmhours.getvalue()
2939 
2940     def __setfield_alarmhours(self, value):
2941         if isinstance(value,UINT):
2942             self.__field_alarmhours=value
2943         else:
2944             self.__field_alarmhours=UINT(value,**{'sizeinbytes': 1})
2945 
2946     def __delfield_alarmhours(self): del self.__field_alarmhours
2947 
2948     alarmhours=property(__getfield_alarmhours, __setfield_alarmhours, __delfield_alarmhours, "a value of 100 indicates not set")
2949 
2950     def __getfield_alarmtype(self):
2951         return self.__field_alarmtype.getvalue()
2952 
2953     def __setfield_alarmtype(self, value):
2954         if isinstance(value,UINT):
2955             self.__field_alarmtype=value
2956         else:
2957             self.__field_alarmtype=UINT(value,**{'sizeinbytes': 1})
2958 
2959     def __delfield_alarmtype(self): del self.__field_alarmtype
2960 
2961     alarmtype=property(__getfield_alarmtype, __setfield_alarmtype, __delfield_alarmtype, "preset alarm reminder type")
2962 
2963     def __getfield_snoozedelay(self):
2964         try: self.__field_snoozedelay
2965         except:
2966             self.__field_snoozedelay=UINT(**{'sizeinbytes': 1,  'default': 0 })
2967         return self.__field_snoozedelay.getvalue()
2968 
2969     def __setfield_snoozedelay(self, value):
2970         if isinstance(value,UINT):
2971             self.__field_snoozedelay=value
2972         else:
2973             self.__field_snoozedelay=UINT(value,**{'sizeinbytes': 1,  'default': 0 })
2974 
2975     def __delfield_snoozedelay(self): del self.__field_snoozedelay
2976 
2977     snoozedelay=property(__getfield_snoozedelay, __setfield_snoozedelay, __delfield_snoozedelay, "in minutes, not for this phone")
2978 
2979     def __getfield_ringtone(self):
2980         return self.__field_ringtone.getvalue()
2981 
2982     def __setfield_ringtone(self, value):
2983         if isinstance(value,UINT):
2984             self.__field_ringtone=value
2985         else:
2986             self.__field_ringtone=UINT(value,**{'sizeinbytes': 1})
2987 
2988     def __delfield_ringtone(self): del self.__field_ringtone
2989 
2990     ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None)
2991 
2992     def __getfield_description(self):
2993         return self.__field_description.getvalue()
2994 
2995     def __setfield_description(self, value):
2996         if isinstance(value,USTRING):
2997             self.__field_description=value
2998         else:
2999             self.__field_description=USTRING(value,**{'sizeinbytes': 35, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False, 'raiseontruncate': False })
3000 
3001     def __delfield_description(self): del self.__field_description
3002 
3003     description=property(__getfield_description, __setfield_description, __delfield_description, None)
3004 
3005     def __getfield_unknown1(self):
3006         try: self.__field_unknown1
3007         except:
3008             self.__field_unknown1=UINT(**{'sizeinbytes': 2,  'default': 0 })
3009         return self.__field_unknown1.getvalue()
3010 
3011     def __setfield_unknown1(self, value):
3012         if isinstance(value,UINT):
3013             self.__field_unknown1=value
3014         else:
3015             self.__field_unknown1=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
3016 
3017     def __delfield_unknown1(self): del self.__field_unknown1
3018 
3019     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, "This seems to always be two zeros")
3020 
3021     def __getfield_hasvoice(self):
3022         return self.__field_hasvoice.getvalue()
3023 
3024     def __setfield_hasvoice(self, value):
3025         if isinstance(value,UINT):
3026             self.__field_hasvoice=value
3027         else:
3028             self.__field_hasvoice=UINT(value,**{'sizeinbytes': 2})
3029 
3030     def __delfield_hasvoice(self): del self.__field_hasvoice
3031 
3032     hasvoice=property(__getfield_hasvoice, __setfield_hasvoice, __delfield_hasvoice, "This event has an associated voice memo if 1")
3033 
3034     def __getfield_voiceid(self):
3035         return self.__field_voiceid.getvalue()
3036 
3037     def __setfield_voiceid(self, value):
3038         if isinstance(value,UINT):
3039             self.__field_voiceid=value
3040         else:
3041             self.__field_voiceid=UINT(value,**{'sizeinbytes': 2})
3042 
3043     def __delfield_voiceid(self): del self.__field_voiceid
3044 
3045     voiceid=property(__getfield_voiceid, __setfield_voiceid, __delfield_voiceid, "sch/schexxx.qcp is the voice memo (xxx = voiceid - 0x0f)")
3046 
3047     def __getfield_unknown2(self):
3048         try: self.__field_unknown2
3049         except:
3050             self.__field_unknown2=UINT(**{'sizeinbytes': 2,  'default': 0 })
3051         return self.__field_unknown2.getvalue()
3052 
3053     def __setfield_unknown2(self, value):
3054         if isinstance(value,UINT):
3055             self.__field_unknown2=value
3056         else:
3057             self.__field_unknown2=UINT(value,**{'sizeinbytes': 2,  'default': 0 })
3058 
3059     def __delfield_unknown2(self): del self.__field_unknown2
3060 
3061     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, "This seems to always be yet two more zeros")
3062 
3063     def iscontainer(self):
3064         return True
3065 
3066     def containerelements(self):
3067         yield ('packet_size', self.__field_packet_size, "Faster than packetsize()")
3068         yield ('pos', self.__field_pos, "position within file, used as an event id")
3069         yield ('start', self.__field_start, None)
3070         yield ('end', self.__field_end, None)
3071         yield ('repeat', self.__field_repeat, None)
3072         yield ('daybitmap', self.__field_daybitmap, "which days a weekly repeat event happens on")
3073         yield ('pad2', self.__field_pad2, None)
3074         yield ('alarmminutes', self.__field_alarmminutes, "a value of 100 indicates not set")
3075         yield ('alarmhours', self.__field_alarmhours, "a value of 100 indicates not set")
3076         yield ('alarmtype', self.__field_alarmtype, "preset alarm reminder type")
3077         yield ('snoozedelay', self.__field_snoozedelay, "in minutes, not for this phone")
3078         yield ('ringtone', self.__field_ringtone, None)
3079         yield ('description', self.__field_description, None)
3080         yield ('unknown1', self.__field_unknown1, "This seems to always be two zeros")
3081         yield ('hasvoice', self.__field_hasvoice, "This event has an associated voice memo if 1")
3082         yield ('voiceid', self.__field_voiceid, "sch/schexxx.qcp is the voice memo (xxx = voiceid - 0x0f)")
3083         yield ('unknown2', self.__field_unknown2, "This seems to always be yet two more zeros")
3084 
3085 
3086 
3087 
3088 class schedulefile(BaseProtogenClass):
3089     __fields=['numactiveitems', 'events']
3090 
3091     def __init__(self, *args, **kwargs):
3092         dict={}
3093         # What was supplied to this function
3094         dict.update(kwargs)
3095         # Parent constructor
3096         super(schedulefile,self).__init__(**dict)
3097         if self.__class__ is schedulefile:
3098             self._update(args,dict)
3099 
3100 
3101     def getfields(self):
3102         return self.__fields
3103 
3104 
3105     def _update(self, args, kwargs):
3106         super(schedulefile,self)._update(args,kwargs)
3107         keys=kwargs.keys()
3108         for key in keys:
3109             if key in self.__fields:
3110                 setattr(self, key, kwargs[key])
3111                 del kwargs[key]
3112         # Were any unrecognized kwargs passed in?
3113         if __debug__:
3114             self._complainaboutunusedargs(schedulefile,kwargs)
3115         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
3116         # Make all P fields that haven't already been constructed
3117 
3118 
3119     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3120         'Writes this packet to the supplied buffer'
3121         self._bufferstartoffset=buf.getcurrentoffset()
3122         self.__field_numactiveitems.writetobuffer(buf)
3123         try: self.__field_events
3124         except:
3125             self.__field_events=LIST(**{'elementclass': scheduleevent})
3126         self.__field_events.writetobuffer(buf)
3127         self._bufferendoffset=buf.getcurrentoffset()
3128         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3129 
3130 
3131     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3132         'Reads this packet from the supplied buffer'
3133         self._bufferstartoffset=buf.getcurrentoffset()
3134         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3135         self.__field_numactiveitems=UINT(**{'sizeinbytes': 2})
3136         self.__field_numactiveitems.readfrombuffer(buf)
3137         self.__field_events=LIST(**{'elementclass': scheduleevent})
3138         self.__field_events.readfrombuffer(buf)
3139         self._bufferendoffset=buf.getcurrentoffset()
3140 
3141 
3142     def __getfield_numactiveitems(self):
3143         return self.__field_numactiveitems.getvalue()
3144 
3145     def __setfield_numactiveitems(self, value):
3146         if isinstance(value,UINT):
3147             self.__field_numactiveitems=value
3148         else:
3149             self.__field_numactiveitems=UINT(value,**{'sizeinbytes': 2})
3150 
3151     def __delfield_numactiveitems(self): del self.__field_numactiveitems
3152 
3153     numactiveitems=property(__getfield_numactiveitems, __setfield_numactiveitems, __delfield_numactiveitems, None)
3154 
3155     def __getfield_events(self):
3156         try: self.__field_events
3157         except:
3158             self.__field_events=LIST(**{'elementclass': scheduleevent})
3159         return self.__field_events.getvalue()
3160 
3161     def __setfield_events(self, value):
3162         if isinstance(value,LIST):
3163             self.__field_events=value
3164         else:
3165             self.__field_events=LIST(value,**{'elementclass': scheduleevent})
3166 
3167     def __delfield_events(self): del self.__field_events
3168 
3169     events=property(__getfield_events, __setfield_events, __delfield_events, None)
3170 
3171     def iscontainer(self):
3172         return True
3173 
3174     def containerelements(self):
3175         yield ('numactiveitems', self.__field_numactiveitems, None)
3176         yield ('events', self.__field_events, None)
3177 
3178 
3179 
3180 
3181 class recipient_record(BaseProtogenClass):
3182     __fields=['unknown1', 'name', 'number', 'unknown2', 'status', 'time']
3183 
3184     def __init__(self, *args, **kwargs):
3185         dict={}
3186         # What was supplied to this function
3187         dict.update(kwargs)
3188         # Parent constructor
3189         super(recipient_record,self).__init__(**dict)
3190         if self.__class__ is recipient_record:
3191             self._update(args,dict)
3192 
3193 
3194     def getfields(self):
3195         return self.__fields
3196 
3197 
3198     def _update(self, args, kwargs):
3199         super(recipient_record,self)._update(args,kwargs)
3200         keys=kwargs.keys()
3201         for key in keys:
3202             if key in self.__fields:
3203                 setattr(self, key, kwargs[key])
3204                 del kwargs[key]
3205         # Were any unrecognized kwargs passed in?
3206         if __debug__:
3207             self._complainaboutunusedargs(recipient_record,kwargs)
3208         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
3209         # Make all P fields that haven't already been constructed
3210         try: self.__field_name
3211         except:
3212             self.__field_name=USTRING(**{'encoding': PHONE_ENCODING, 'default':'', 'raiseonunterminatedread': False})
3213 
3214 
3215     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3216         'Writes this packet to the supplied buffer'
3217         self._bufferstartoffset=buf.getcurrentoffset()
3218         self.__field_unknown1.writetobuffer(buf)
3219         self.__field_number.writetobuffer(buf)
3220         self.__field_unknown2.writetobuffer(buf)
3221         self.__field_status.writetobuffer(buf)
3222         self.__field_time.writetobuffer(buf)
3223         self._bufferendoffset=buf.getcurrentoffset()
3224         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3225 
3226 
3227     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3228         'Reads this packet from the supplied buffer'
3229         self._bufferstartoffset=buf.getcurrentoffset()
3230         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3231         self.__field_unknown1=UINT(**{'sizeinbytes': 20})
3232         self.__field_unknown1.readfrombuffer(buf)
3233         self.__field_number=USTRING(**{'sizeinbytes': 49})
3234         self.__field_number.readfrombuffer(buf)
3235         self.__field_unknown2=UINT(**{'sizeinbytes': 24})
3236         self.__field_unknown2.readfrombuffer(buf)
3237         self.__field_status=UINT(**{'sizeinbytes': 1})
3238         self.__field_status.readfrombuffer(buf)
3239         self.__field_time=LGCALDATE(**{'sizeinbytes': 4})
3240         self.__field_time.readfrombuffer(buf)
3241         self._bufferendoffset=buf.getcurrentoffset()
3242 
3243 
3244     def __getfield_unknown1(self):
3245         return self.__field_unknown1.getvalue()
3246 
3247     def __setfield_unknown1(self, value):
3248         if isinstance(value,UINT):
3249             self.__field_unknown1=value
3250         else:
3251             self.__field_unknown1=UINT(value,**{'sizeinbytes': 20})
3252 
3253     def __delfield_unknown1(self): del self.__field_unknown1
3254 
3255     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
3256 
3257     def __getfield_name(self):
3258         return self.__field_name.getvalue()
3259 
3260     def __setfield_name(self, value):
3261         if isinstance(value,USTRING):
3262             self.__field_name=value
3263         else:
3264             self.__field_name=USTRING(value,**{'encoding': PHONE_ENCODING, 'default':'', 'raiseonunterminatedread': False})
3265 
3266     def __delfield_name(self): del self.__field_name
3267 
3268     name=property(__getfield_name, __setfield_name, __delfield_name, None)
3269 
3270     def __getfield_number(self):
3271         return self.__field_number.getvalue()
3272 
3273     def __setfield_number(self, value):
3274         if isinstance(value,USTRING):
3275             self.__field_number=value
3276         else:
3277             self.__field_number=USTRING(value,**{'sizeinbytes': 49})
3278 
3279     def __delfield_number(self): del self.__field_number
3280 
3281     number=property(__getfield_number, __setfield_number, __delfield_number, None)
3282 
3283     def __getfield_unknown2(self):
3284         return self.__field_unknown2.getvalue()
3285 
3286     def __setfield_unknown2(self, value):
3287         if isinstance(value,UINT):
3288             self.__field_unknown2=value
3289         else:
3290             self.__field_unknown2=UINT(value,**{'sizeinbytes': 24})
3291 
3292     def __delfield_unknown2(self): del self.__field_unknown2
3293 
3294     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
3295 
3296     def __getfield_status(self):
3297         return self.__field_status.getvalue()
3298 
3299     def __setfield_status(self, value):
3300         if isinstance(value,UINT):
3301             self.__field_status=value
3302         else:
3303             self.__field_status=UINT(value,**{'sizeinbytes': 1})
3304 
3305     def __delfield_status(self): del self.__field_status
3306 
3307     status=property(__getfield_status, __setfield_status, __delfield_status, None)
3308 
3309     def __getfield_time(self):
3310         return self.__field_time.getvalue()
3311 
3312     def __setfield_time(self, value):
3313         if isinstance(value,LGCALDATE):
3314             self.__field_time=value
3315         else:
3316             self.__field_time=LGCALDATE(value,**{'sizeinbytes': 4})
3317 
3318     def __delfield_time(self): del self.__field_time
3319 
3320     time=property(__getfield_time, __setfield_time, __delfield_time, None)
3321 
3322     def iscontainer(self):
3323         return True
3324 
3325     def containerelements(self):
3326         yield ('unknown1', self.__field_unknown1, None)
3327         yield ('name', self.__field_name, None)
3328         yield ('number', self.__field_number, None)
3329         yield ('unknown2', self.__field_unknown2, None)
3330         yield ('status', self.__field_status, None)
3331         yield ('time', self.__field_time, None)
3332 
3333 
3334 
3335 
3336 class sms_saved(BaseProtogenClass):
3337     __fields=['outboxmsg', 'GPStime', 'outbox', 'inbox']
3338 
3339     def __init__(self, *args, **kwargs):
3340         dict={}
3341         # What was supplied to this function
3342         dict.update(kwargs)
3343         # Parent constructor
3344         super(sms_saved,self).__init__(**dict)
3345         if self.__class__ is sms_saved:
3346             self._update(args,dict)
3347 
3348 
3349     def getfields(self):
3350         return self.__fields
3351 
3352 
3353     def _update(self, args, kwargs):
3354         super(sms_saved,self)._update(args,kwargs)
3355         keys=kwargs.keys()
3356         for key in keys:
3357             if key in self.__fields:
3358                 setattr(self, key, kwargs[key])
3359                 del kwargs[key]
3360         # Were any unrecognized kwargs passed in?
3361         if __debug__:
3362             self._complainaboutunusedargs(sms_saved,kwargs)
3363         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
3364         # Make all P fields that haven't already been constructed
3365 
3366 
3367     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3368         'Writes this packet to the supplied buffer'
3369         self._bufferstartoffset=buf.getcurrentoffset()
3370         self.__field_outboxmsg.writetobuffer(buf)
3371         self.__field_GPStime.writetobuffer(buf)
3372         if self.outboxmsg:
3373             self.__field_outbox.writetobuffer(buf)
3374         if not self.outboxmsg:
3375             self.__field_inbox.writetobuffer(buf)
3376         self._bufferendoffset=buf.getcurrentoffset()
3377         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3378 
3379 
3380     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3381         'Reads this packet from the supplied buffer'
3382         self._bufferstartoffset=buf.getcurrentoffset()
3383         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3384         self.__field_outboxmsg=UINT(**{'sizeinbytes': 4})
3385         self.__field_outboxmsg.readfrombuffer(buf)
3386         self.__field_GPStime=GPSDATE(**{'sizeinbytes': 4})
3387         self.__field_GPStime.readfrombuffer(buf)
3388         if self.outboxmsg:
3389             self.__field_outbox=sms_out()
3390             self.__field_outbox.readfrombuffer(buf)
3391         if not self.outboxmsg:
3392             self.__field_inbox=sms_in()
3393             self.__field_inbox.readfrombuffer(buf)
3394         self._bufferendoffset=buf.getcurrentoffset()
3395 
3396 
3397     def __getfield_outboxmsg(self):
3398         return self.__field_outboxmsg.getvalue()
3399 
3400     def __setfield_outboxmsg(self, value):
3401         if isinstance(value,UINT):
3402             self.__field_outboxmsg=value
3403         else:
3404             self.__field_outboxmsg=UINT(value,**{'sizeinbytes': 4})
3405 
3406     def __delfield_outboxmsg(self): del self.__field_outboxmsg
3407 
3408     outboxmsg=property(__getfield_outboxmsg, __setfield_outboxmsg, __delfield_outboxmsg, None)
3409 
3410     def __getfield_GPStime(self):
3411         return self.__field_GPStime.getvalue()
3412 
3413     def __setfield_GPStime(self, value):
3414         if isinstance(value,GPSDATE):
3415             self.__field_GPStime=value
3416         else:
3417             self.__field_GPStime=GPSDATE(value,**{'sizeinbytes': 4})
3418 
3419     def __delfield_GPStime(self): del self.__field_GPStime
3420 
3421     GPStime=property(__getfield_GPStime, __setfield_GPStime, __delfield_GPStime, None)
3422 
3423     def __getfield_outbox(self):
3424         return self.__field_outbox.getvalue()
3425 
3426     def __setfield_outbox(self, value):
3427         if isinstance(value,sms_out):
3428             self.__field_outbox=value
3429         else:
3430             self.__field_outbox=sms_out(value,)
3431 
3432     def __delfield_outbox(self): del self.__field_outbox
3433 
3434     outbox=property(__getfield_outbox, __setfield_outbox, __delfield_outbox, None)
3435 
3436     def __getfield_inbox(self):
3437         return self.__field_inbox.getvalue()
3438 
3439     def __setfield_inbox(self, value):
3440         if isinstance(value,sms_in):
3441             self.__field_inbox=value
3442         else:
3443             self.__field_inbox=sms_in(value,)
3444 
3445     def __delfield_inbox(self): del self.__field_inbox
3446 
3447     inbox=property(__getfield_inbox, __setfield_inbox, __delfield_inbox, None)
3448 
3449     def iscontainer(self):
3450         return True
3451 
3452     def containerelements(self):
3453         yield ('outboxmsg', self.__field_outboxmsg, None)
3454         yield ('GPStime', self.__field_GPStime, None)
3455         if self.outboxmsg:
3456             yield ('outbox', self.__field_outbox, None)
3457         if not self.outboxmsg:
3458             yield ('inbox', self.__field_inbox, None)
3459 
3460 
3461 
3462 
3463 class sms_out(BaseProtogenClass):
3464     __fields=['index', 'locked', 'unknown1', 'timesent', 'msg', 'unknown2', 'callback', 'recipients']
3465 
3466     def __init__(self, *args, **kwargs):
3467         dict={}
3468         # What was supplied to this function
3469         dict.update(kwargs)
3470         # Parent constructor
3471         super(sms_out,self).__init__(**dict)
3472         if self.__class__ is sms_out:
3473             self._update(args,dict)
3474 
3475 
3476     def getfields(self):
3477         return self.__fields
3478 
3479 
3480     def _update(self, args, kwargs):
3481         super(sms_out,self)._update(args,kwargs)
3482         keys=kwargs.keys()
3483         for key in keys:
3484             if key in self.__fields:
3485                 setattr(self, key, kwargs[key])
3486                 del kwargs[key]
3487         # Were any unrecognized kwargs passed in?
3488         if __debug__:
3489             self._complainaboutunusedargs(sms_out,kwargs)
3490         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
3491         # Make all P fields that haven't already been constructed
3492 
3493 
3494     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3495         'Writes this packet to the supplied buffer'
3496         self._bufferstartoffset=buf.getcurrentoffset()
3497         self.__field_index.writetobuffer(buf)
3498         self.__field_locked.writetobuffer(buf)
3499         self.__field_unknown1.writetobuffer(buf)
3500         self.__field_timesent.writetobuffer(buf)
3501         self.__field_msg.writetobuffer(buf)
3502         self.__field_unknown2.writetobuffer(buf)
3503         self.__field_callback.writetobuffer(buf)
3504         try: self.__field_recipients
3505         except:
3506             self.__field_recipients=LIST(**{'elementclass': recipient_record, 'length': 10})
3507         self.__field_recipients.writetobuffer(buf)
3508         self._bufferendoffset=buf.getcurrentoffset()
3509         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3510 
3511 
3512     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3513         'Reads this packet from the supplied buffer'
3514         self._bufferstartoffset=buf.getcurrentoffset()
3515         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3516         self.__field_index=UINT(**{'sizeinbytes': 4})
3517         self.__field_index.readfrombuffer(buf)
3518         self.__field_locked=UINT(**{'sizeinbytes': 1})
3519         self.__field_locked.readfrombuffer(buf)
3520         self.__field_unknown1=UINT(**{'sizeinbytes': 3})
3521         self.__field_unknown1.readfrombuffer(buf)
3522         self.__field_timesent=LGCALDATE(**{'sizeinbytes': 4})
3523         self.__field_timesent.readfrombuffer(buf)
3524         self.__field_msg=USTRING(**{'sizeinbytes': 500, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
3525         self.__field_msg.readfrombuffer(buf)
3526         self.__field_unknown2=DATA(**{'sizeinbytes': 1250})
3527         self.__field_unknown2.readfrombuffer(buf)
3528         self.__field_callback=USTRING(**{'sizeinbytes': 16})
3529         self.__field_callback.readfrombuffer(buf)
3530         self.__field_recipients=LIST(**{'elementclass': recipient_record, 'length': 10})
3531         self.__field_recipients.readfrombuffer(buf)
3532         self._bufferendoffset=buf.getcurrentoffset()
3533 
3534 
3535     def __getfield_index(self):
3536         return self.__field_index.getvalue()
3537 
3538     def __setfield_index(self, value):
3539         if isinstance(value,UINT):
3540             self.__field_index=value
3541         else:
3542             self.__field_index=UINT(value,**{'sizeinbytes': 4})
3543 
3544     def __delfield_index(self): del self.__field_index
3545 
3546     index=property(__getfield_index, __setfield_index, __delfield_index, None)
3547 
3548     def __getfield_locked(self):
3549         return self.__field_locked.getvalue()
3550 
3551     def __setfield_locked(self, value):
3552         if isinstance(value,UINT):
3553             self.__field_locked=value
3554         else:
3555             self.__field_locked=UINT(value,**{'sizeinbytes': 1})
3556 
3557     def __delfield_locked(self): del self.__field_locked
3558 
3559     locked=property(__getfield_locked, __setfield_locked, __delfield_locked, None)
3560 
3561     def __getfield_unknown1(self):
3562         return self.__field_unknown1.getvalue()
3563 
3564     def __setfield_unknown1(self, value):
3565         if isinstance(value,UINT):
3566             self.__field_unknown1=value
3567         else:
3568             self.__field_unknown1=UINT(value,**{'sizeinbytes': 3})
3569 
3570     def __delfield_unknown1(self): del self.__field_unknown1
3571 
3572     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
3573 
3574     def __getfield_timesent(self):
3575         return self.__field_timesent.getvalue()
3576 
3577     def __setfield_timesent(self, value):
3578         if isinstance(value,LGCALDATE):
3579             self.__field_timesent=value
3580         else:
3581             self.__field_timesent=LGCALDATE(value,**{'sizeinbytes': 4})
3582 
3583     def __delfield_timesent(self): del self.__field_timesent
3584 
3585     timesent=property(__getfield_timesent, __setfield_timesent, __delfield_timesent, None)
3586 
3587     def __getfield_msg(self):
3588         return self.__field_msg.getvalue()
3589 
3590     def __setfield_msg(self, value):
3591         if isinstance(value,USTRING):
3592             self.__field_msg=value
3593         else:
3594             self.__field_msg=USTRING(value,**{'sizeinbytes': 500, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
3595 
3596     def __delfield_msg(self): del self.__field_msg
3597 
3598     msg=property(__getfield_msg, __setfield_msg, __delfield_msg, None)
3599 
3600     def __getfield_unknown2(self):
3601         return self.__field_unknown2.getvalue()
3602 
3603     def __setfield_unknown2(self, value):
3604         if isinstance(value,DATA):
3605             self.__field_unknown2=value
3606         else:
3607             self.__field_unknown2=DATA(value,**{'sizeinbytes': 1250})
3608 
3609     def __delfield_unknown2(self): del self.__field_unknown2
3610 
3611     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
3612 
3613     def __getfield_callback(self):
3614         return self.__field_callback.getvalue()
3615 
3616     def __setfield_callback(self, value):
3617         if isinstance(value,USTRING):
3618             self.__field_callback=value
3619         else:
3620             self.__field_callback=USTRING(value,**{'sizeinbytes': 16})
3621 
3622     def __delfield_callback(self): del self.__field_callback
3623 
3624     callback=property(__getfield_callback, __setfield_callback, __delfield_callback, None)
3625 
3626     def __getfield_recipients(self):
3627         try: self.__field_recipients
3628         except:
3629             self.__field_recipients=LIST(**{'elementclass': recipient_record, 'length': 10})
3630         return self.__field_recipients.getvalue()
3631 
3632     def __setfield_recipients(self, value):
3633         if isinstance(value,LIST):
3634             self.__field_recipients=value
3635         else:
3636             self.__field_recipients=LIST(value,**{'elementclass': recipient_record, 'length': 10})
3637 
3638     def __delfield_recipients(self): del self.__field_recipients
3639 
3640     recipients=property(__getfield_recipients, __setfield_recipients, __delfield_recipients, None)
3641 
3642     def iscontainer(self):
3643         return True
3644 
3645     def containerelements(self):
3646         yield ('index', self.__field_index, None)
3647         yield ('locked', self.__field_locked, None)
3648         yield ('unknown1', self.__field_unknown1, None)
3649         yield ('timesent', self.__field_timesent, None)
3650         yield ('msg', self.__field_msg, None)
3651         yield ('unknown2', self.__field_unknown2, None)
3652         yield ('callback', self.__field_callback, None)
3653         yield ('recipients', self.__field_recipients, None)
3654 
3655 
3656 
3657 
3658 class SMSINBOXMSGFRAGMENT(BaseProtogenClass):
3659     __fields=['msg']
3660 
3661     def __init__(self, *args, **kwargs):
3662         dict={}
3663         # What was supplied to this function
3664         dict.update(kwargs)
3665         # Parent constructor
3666         super(SMSINBOXMSGFRAGMENT,self).__init__(**dict)
3667         if self.__class__ is SMSINBOXMSGFRAGMENT:
3668             self._update(args,dict)
3669 
3670 
3671     def getfields(self):
3672         return self.__fields
3673 
3674 
3675     def _update(self, args, kwargs):
3676         super(SMSINBOXMSGFRAGMENT,self)._update(args,kwargs)
3677         keys=kwargs.keys()
3678         for key in keys:
3679             if key in self.__fields:
3680                 setattr(self, key, kwargs[key])
3681                 del kwargs[key]
3682         # Were any unrecognized kwargs passed in?
3683         if __debug__:
3684             self._complainaboutunusedargs(SMSINBOXMSGFRAGMENT,kwargs)
3685         if len(args):
3686             dict2={'elementclass': _gen_p_lglg6190_321, 'length': 181}
3687             dict2.update(kwargs)
3688             kwargs=dict2
3689             self.__field_msg=LIST(*args,**dict2)
3690         # Make all P fields that haven't already been constructed
3691 
3692 
3693     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3694         'Writes this packet to the supplied buffer'
3695         self._bufferstartoffset=buf.getcurrentoffset()
3696         try: self.__field_msg
3697         except:
3698             self.__field_msg=LIST(**{'elementclass': _gen_p_lglg6190_321, 'length': 181})
3699         self.__field_msg.writetobuffer(buf)
3700         self._bufferendoffset=buf.getcurrentoffset()
3701         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3702 
3703 
3704     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3705         'Reads this packet from the supplied buffer'
3706         self._bufferstartoffset=buf.getcurrentoffset()
3707         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3708         self.__field_msg=LIST(**{'elementclass': _gen_p_lglg6190_321, 'length': 181})
3709         self.__field_msg.readfrombuffer(buf)
3710         self._bufferendoffset=buf.getcurrentoffset()
3711 
3712 
3713     def __getfield_msg(self):
3714         try: self.__field_msg
3715         except:
3716             self.__field_msg=LIST(**{'elementclass': _gen_p_lglg6190_321, 'length': 181})
3717         return self.__field_msg.getvalue()
3718 
3719     def __setfield_msg(self, value):
3720         if isinstance(value,LIST):
3721             self.__field_msg=value
3722         else:
3723             self.__field_msg=LIST(value,**{'elementclass': _gen_p_lglg6190_321, 'length': 181})
3724 
3725     def __delfield_msg(self): del self.__field_msg
3726 
3727     msg=property(__getfield_msg, __setfield_msg, __delfield_msg, None)
3728 
3729     def iscontainer(self):
3730         return True
3731 
3732     def containerelements(self):
3733         yield ('msg', self.__field_msg, None)
3734 
3735 
3736 
3737 
3738 class _gen_p_lglg6190_321(BaseProtogenClass):
3739     'Anonymous inner class'
3740     __fields=['byte']
3741 
3742     def __init__(self, *args, **kwargs):
3743         dict={}
3744         # What was supplied to this function
3745         dict.update(kwargs)
3746         # Parent constructor
3747         super(_gen_p_lglg6190_321,self).__init__(**dict)
3748         if self.__class__ is _gen_p_lglg6190_321:
3749             self._update(args,dict)
3750 
3751 
3752     def getfields(self):
3753         return self.__fields
3754 
3755 
3756     def _update(self, args, kwargs):
3757         super(_gen_p_lglg6190_321,self)._update(args,kwargs)
3758         keys=kwargs.keys()
3759         for key in keys:
3760             if key in self.__fields:
3761                 setattr(self, key, kwargs[key])
3762                 del kwargs[key]
3763         # Were any unrecognized kwargs passed in?
3764         if __debug__:
3765             self._complainaboutunusedargs(_gen_p_lglg6190_321,kwargs)
3766         if len(args):
3767             dict2={'sizeinbytes': 1}
3768             dict2.update(kwargs)
3769             kwargs=dict2
3770             self.__field_byte=UINT(*args,**dict2)
3771         # Make all P fields that haven't already been constructed
3772 
3773 
3774     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3775         'Writes this packet to the supplied buffer'
3776         self._bufferstartoffset=buf.getcurrentoffset()
3777         self.__field_byte.writetobuffer(buf)
3778         self._bufferendoffset=buf.getcurrentoffset()
3779         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3780 
3781 
3782     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3783         'Reads this packet from the supplied buffer'
3784         self._bufferstartoffset=buf.getcurrentoffset()
3785         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3786         self.__field_byte=UINT(**{'sizeinbytes': 1})
3787         self.__field_byte.readfrombuffer(buf)
3788         self._bufferendoffset=buf.getcurrentoffset()
3789 
3790 
3791     def __getfield_byte(self):
3792         return self.__field_byte.getvalue()
3793 
3794     def __setfield_byte(self, value):
3795         if isinstance(value,UINT):
3796             self.__field_byte=value
3797         else:
3798             self.__field_byte=UINT(value,**{'sizeinbytes': 1})
3799 
3800     def __delfield_byte(self): del self.__field_byte
3801 
3802     byte=property(__getfield_byte, __setfield_byte, __delfield_byte, "individual byte of message")
3803 
3804     def iscontainer(self):
3805         return True
3806 
3807     def containerelements(self):
3808         yield ('byte', self.__field_byte, "individual byte of message")
3809 
3810 
3811 
3812 
3813 class sms_in(BaseProtogenClass):
3814     __fields=['unknown1', 'msg_index2', 'unknown2', 'timesent', 'unknown', 'callback_length', 'callback', 'sender_length', 'sender', 'unknown4', 'lg_time', 'GPStime', 'unknown41', 'read', 'unknown5', 'subject', 'unknown6', 'msglength', 'unknown7', 'msg', 'unknown8']
3815 
3816     def __init__(self, *args, **kwargs):
3817         dict={}
3818         # What was supplied to this function
3819         dict.update(kwargs)
3820         # Parent constructor
3821         super(sms_in,self).__init__(**dict)
3822         if self.__class__ is sms_in:
3823             self._update(args,dict)
3824 
3825 
3826     def getfields(self):
3827         return self.__fields
3828 
3829 
3830     def _update(self, args, kwargs):
3831         super(sms_in,self)._update(args,kwargs)
3832         keys=kwargs.keys()
3833         for key in keys:
3834             if key in self.__fields:
3835                 setattr(self, key, kwargs[key])
3836                 del kwargs[key]
3837         # Were any unrecognized kwargs passed in?
3838         if __debug__:
3839             self._complainaboutunusedargs(sms_in,kwargs)
3840         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
3841         # Make all P fields that haven't already been constructed
3842 
3843 
3844     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
3845         'Writes this packet to the supplied buffer'
3846         self._bufferstartoffset=buf.getcurrentoffset()
3847         self.__field_unknown1.writetobuffer(buf)
3848         self.__field_msg_index2.writetobuffer(buf)
3849         self.__field_unknown2.writetobuffer(buf)
3850         self.__field_timesent.writetobuffer(buf)
3851         self.__field_unknown.writetobuffer(buf)
3852         self.__field_callback_length.writetobuffer(buf)
3853         self.__field_callback.writetobuffer(buf)
3854         self.__field_sender_length.writetobuffer(buf)
3855         try: self.__field_sender
3856         except:
3857             self.__field_sender=LIST(**{'elementclass': _gen_p_lglg6190_333, 'length': 38})
3858         self.__field_sender.writetobuffer(buf)
3859         self.__field_unknown4.writetobuffer(buf)
3860         self.__field_lg_time.writetobuffer(buf)
3861         self.__field_GPStime.writetobuffer(buf)
3862         self.__field_unknown41.writetobuffer(buf)
3863         self.__field_read.writetobuffer(buf)
3864         self.__field_unknown5.writetobuffer(buf)
3865         self.__field_subject.writetobuffer(buf)
3866         self.__field_unknown6.writetobuffer(buf)
3867         self.__field_msglength.writetobuffer(buf)
3868         self.__field_unknown7.writetobuffer(buf)
3869         self.__field_msg.writetobuffer(buf)
3870         self.__field_unknown8.writetobuffer(buf)
3871         self._bufferendoffset=buf.getcurrentoffset()
3872         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
3873 
3874 
3875     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
3876         'Reads this packet from the supplied buffer'
3877         self._bufferstartoffset=buf.getcurrentoffset()
3878         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
3879         self.__field_unknown1=UINT(**{'sizeinbytes': 4})
3880         self.__field_unknown1.readfrombuffer(buf)
3881         self.__field_msg_index2=UINT(**{'sizeinbytes': 4})
3882         self.__field_msg_index2.readfrombuffer(buf)
3883         self.__field_unknown2=UINT(**{'sizeinbytes': 6})
3884         self.__field_unknown2.readfrombuffer(buf)
3885         self.__field_timesent=SMSDATE(**{'sizeinbytes': 6})
3886         self.__field_timesent.readfrombuffer(buf)
3887         self.__field_unknown=UINT(**{'sizeinbytes': 3})
3888         self.__field_unknown.readfrombuffer(buf)
3889         self.__field_callback_length=UINT(**{'sizeinbytes': 1})
3890         self.__field_callback_length.readfrombuffer(buf)
3891         self.__field_callback=USTRING(**{'sizeinbytes': 38})
3892         self.__field_callback.readfrombuffer(buf)
3893         self.__field_sender_length=UINT(**{'sizeinbytes': 1})
3894         self.__field_sender_length.readfrombuffer(buf)
3895         self.__field_sender=LIST(**{'elementclass': _gen_p_lglg6190_333, 'length': 38})
3896         self.__field_sender.readfrombuffer(buf)
3897         self.__field_unknown4=DATA(**{'sizeinbytes': 15})
3898         self.__field_unknown4.readfrombuffer(buf)
3899         self.__field_lg_time=LGCALDATE(**{'sizeinbytes': 4})
3900         self.__field_lg_time.readfrombuffer(buf)
3901         self.__field_GPStime=GPSDATE(**{'sizeinbytes': 4})
3902         self.__field_GPStime.readfrombuffer(buf)
3903         self.__field_unknown41=UINT(**{'sizeinbytes': 2})
3904         self.__field_unknown41.readfrombuffer(buf)
3905         self.__field_read=UINT(**{'sizeinbytes': 2})
3906         self.__field_read.readfrombuffer(buf)
3907         self.__field_unknown5=UINT(**{'sizeinbytes': 9})
3908         self.__field_unknown5.readfrombuffer(buf)
3909         self.__field_subject=USTRING(**{'sizeinbytes': 21, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
3910         self.__field_subject.readfrombuffer(buf)
3911         self.__field_unknown6=UINT(**{'sizeinbytes': 8})
3912         self.__field_unknown6.readfrombuffer(buf)
3913         self.__field_msglength=UINT(**{'sizeinbytes': 2})
3914         self.__field_msglength.readfrombuffer(buf)
3915         self.__field_unknown7=UINT(**{'sizeinbytes': 18})
3916         self.__field_unknown7.readfrombuffer(buf)
3917         self.__field_msg=USTRING(**{'sizeinbytes': 200, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
3918         self.__field_msg.readfrombuffer(buf)
3919         self.__field_unknown8=DATA()
3920         self.__field_unknown8.readfrombuffer(buf)
3921         self._bufferendoffset=buf.getcurrentoffset()
3922 
3923 
3924     def __getfield_unknown1(self):
3925         return self.__field_unknown1.getvalue()
3926 
3927     def __setfield_unknown1(self, value):
3928         if isinstance(value,UINT):
3929             self.__field_unknown1=value
3930         else:
3931             self.__field_unknown1=UINT(value,**{'sizeinbytes': 4})
3932 
3933     def __delfield_unknown1(self): del self.__field_unknown1
3934 
3935     unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
3936 
3937     def __getfield_msg_index2(self):
3938         return self.__field_msg_index2.getvalue()
3939 
3940     def __setfield_msg_index2(self, value):
3941         if isinstance(value,UINT):
3942             self.__field_msg_index2=value
3943         else:
3944             self.__field_msg_index2=UINT(value,**{'sizeinbytes': 4})
3945 
3946     def __delfield_msg_index2(self): del self.__field_msg_index2
3947 
3948     msg_index2=property(__getfield_msg_index2, __setfield_msg_index2, __delfield_msg_index2, None)
3949 
3950     def __getfield_unknown2(self):
3951         return self.__field_unknown2.getvalue()
3952 
3953     def __setfield_unknown2(self, value):
3954         if isinstance(value,UINT):
3955             self.__field_unknown2=value
3956         else:
3957             self.__field_unknown2=UINT(value,**{'sizeinbytes': 6})
3958 
3959     def __delfield_unknown2(self): del self.__field_unknown2
3960 
3961     unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
3962 
3963     def __getfield_timesent(self):
3964         return self.__field_timesent.getvalue()
3965 
3966     def __setfield_timesent(self, value):
3967         if isinstance(value,SMSDATE):
3968             self.__field_timesent=value
3969         else:
3970             self.__field_timesent=SMSDATE(value,**{'sizeinbytes': 6})
3971 
3972     def __delfield_timesent(self): del self.__field_timesent
3973 
3974     timesent=property(__getfield_timesent, __setfield_timesent, __delfield_timesent, None)
3975 
3976     def __getfield_unknown(self):
3977         return self.__field_unknown.getvalue()
3978 
3979     def __setfield_unknown(self, value):
3980         if isinstance(value,UINT):
3981             self.__field_unknown=value
3982         else:
3983             self.__field_unknown=UINT(value,**{'sizeinbytes': 3})
3984 
3985     def __delfield_unknown(self): del self.__field_unknown
3986 
3987     unknown=property(__getfield_unknown, __setfield_unknown, __delfield_unknown, None)
3988 
3989     def __getfield_callback_length(self):
3990         return self.__field_callback_length.getvalue()
3991 
3992     def __setfield_callback_length(self, value):
3993         if isinstance(value,UINT):
3994             self.__field_callback_length=value
3995         else:
3996             self.__field_callback_length=UINT(value,**{'sizeinbytes': 1})
3997 
3998     def __delfield_callback_length(self): del self.__field_callback_length
3999 
4000     callback_length=property(__getfield_callback_length, __setfield_callback_length, __delfield_callback_length, None)
4001 
4002     def __getfield_callback(self):
4003         return self.__field_callback.getvalue()
4004 
4005     def __setfield_callback(self, value):
4006         if isinstance(value,USTRING):
4007             self.__field_callback=value
4008         else:
4009             self.__field_callback=USTRING(value,**{'sizeinbytes': 38})
4010 
4011     def __delfield_callback(self): del self.__field_callback
4012 
4013     callback=property(__getfield_callback, __setfield_callback, __delfield_callback, None)
4014 
4015     def __getfield_sender_length(self):
4016         return self.__field_sender_length.getvalue()
4017 
4018     def __setfield_sender_length(self, value):
4019         if isinstance(value,UINT):
4020             self.__field_sender_length=value
4021         else:
4022             self.__field_sender_length=UINT(value,**{'sizeinbytes': 1})
4023 
4024     def __delfield_sender_length(self): del self.__field_sender_length
4025 
4026     sender_length=property(__getfield_sender_length, __setfield_sender_length, __delfield_sender_length, None)
4027 
4028     def __getfield_sender(self):
4029         try: self.__field_sender
4030         except:
4031             self.__field_sender=LIST(**{'elementclass': _gen_p_lglg6190_333, 'length': 38})
4032         return self.__field_sender.getvalue()
4033 
4034     def __setfield_sender(self, value):
4035         if isinstance(value,LIST):
4036             self.__field_sender=value
4037         else:
4038             self.__field_sender=LIST(value,**{'elementclass': _gen_p_lglg6190_333, 'length': 38})
4039 
4040     def __delfield_sender(self): del self.__field_sender
4041 
4042     sender=property(__getfield_sender, __setfield_sender, __delfield_sender, None)
4043 
4044     def __getfield_unknown4(self):
4045         return self.__field_unknown4.getvalue()
4046 
4047     def __setfield_unknown4(self, value):
4048         if isinstance(value,DATA):
4049             self.__field_unknown4=value
4050         else:
4051             self.__field_unknown4=DATA(value,**{'sizeinbytes': 15})
4052 
4053     def __delfield_unknown4(self): del self.__field_unknown4
4054 
4055     unknown4=property(__getfield_unknown4, __setfield_unknown4, __delfield_unknown4, None)
4056 
4057     def __getfield_lg_time(self):
4058         return self.__field_lg_time.getvalue()
4059 
4060     def __setfield_lg_time(self, value):
4061         if isinstance(value,LGCALDATE):
4062             self.__field_lg_time=value
4063         else:
4064             self.__field_lg_time=LGCALDATE(value,**{'sizeinbytes': 4})
4065 
4066     def __delfield_lg_time(self): del self.__field_lg_time
4067 
4068     lg_time=property(__getfield_lg_time, __setfield_lg_time, __delfield_lg_time, None)
4069 
4070     def __getfield_GPStime(self):
4071         return self.__field_GPStime.getvalue()
4072 
4073     def __setfield_GPStime(self, value):
4074         if isinstance(value,GPSDATE):
4075             self.__field_GPStime=value
4076         else:
4077             self.__field_GPStime=GPSDATE(value,**{'sizeinbytes': 4})
4078 
4079     def __delfield_GPStime(self): del self.__field_GPStime
4080 
4081     GPStime=property(__getfield_GPStime, __setfield_GPStime, __delfield_GPStime, None)
4082 
4083     def __getfield_unknown41(self):
4084         return self.__field_unknown41.getvalue()
4085 
4086     def __setfield_unknown41(self, value):
4087         if isinstance(value,UINT):
4088             self.__field_unknown41=value
4089         else:
4090             self.__field_unknown41=UINT(value,**{'sizeinbytes': 2})
4091 
4092     def __delfield_unknown41(self): del self.__field_unknown41
4093 
4094     unknown41=property(__getfield_unknown41, __setfield_unknown41, __delfield_unknown41, None)
4095 
4096     def __getfield_read(self):
4097         return self.__field_read.getvalue()
4098 
4099     def __setfield_read(self, value):
4100         if isinstance(value,UINT):
4101             self.__field_read=value
4102         else:
4103             self.__field_read=UINT(value,**{'sizeinbytes': 2})
4104 
4105     def __delfield_read(self): del self.__field_read
4106 
4107     read=property(__getfield_read, __setfield_read, __delfield_read, None)
4108 
4109     def __getfield_unknown5(self):
4110         return self.__field_unknown5.getvalue()
4111 
4112     def __setfield_unknown5(self, value):
4113         if isinstance(value,UINT):
4114             self.__field_unknown5=value
4115         else:
4116             self.__field_unknown5=UINT(value,**{'sizeinbytes': 9})
4117 
4118     def __delfield_unknown5(self): del self.__field_unknown5
4119 
4120     unknown5=property(__getfield_unknown5, __setfield_unknown5, __delfield_unknown5, None)
4121 
4122     def __getfield_subject(self):
4123         return self.__field_subject.getvalue()
4124 
4125     def __setfield_subject(self, value):
4126         if isinstance(value,USTRING):
4127             self.__field_subject=value
4128         else:
4129             self.__field_subject=USTRING(value,**{'sizeinbytes': 21, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
4130 
4131     def __delfield_subject(self): del self.__field_subject
4132 
4133     subject=property(__getfield_subject, __setfield_subject, __delfield_subject, None)
4134 
4135     def __getfield_unknown6(self):
4136         return self.__field_unknown6.getvalue()
4137 
4138     def __setfield_unknown6(self, value):
4139         if isinstance(value,UINT):
4140             self.__field_unknown6=value
4141         else:
4142             self.__field_unknown6=UINT(value,**{'sizeinbytes': 8})
4143 
4144     def __delfield_unknown6(self): del self.__field_unknown6
4145 
4146     unknown6=property(__getfield_unknown6, __setfield_unknown6, __delfield_unknown6, None)
4147 
4148     def __getfield_msglength(self):
4149         return self.__field_msglength.getvalue()
4150 
4151     def __setfield_msglength(self, value):
4152         if isinstance(value,UINT):
4153             self.__field_msglength=value
4154         else:
4155             self.__field_msglength=UINT(value,**{'sizeinbytes': 2})
4156 
4157     def __delfield_msglength(self): del self.__field_msglength
4158 
4159     msglength=property(__getfield_msglength, __setfield_msglength, __delfield_msglength, None)
4160 
4161     def __getfield_unknown7(self):
4162         return self.__field_unknown7.getvalue()
4163 
4164     def __setfield_unknown7(self, value):
4165         if isinstance(value,UINT):
4166             self.__field_unknown7=value
4167         else:
4168             self.__field_unknown7=UINT(value,**{'sizeinbytes': 18})
4169 
4170     def __delfield_unknown7(self): del self.__field_unknown7
4171 
4172     unknown7=property(__getfield_unknown7, __setfield_unknown7, __delfield_unknown7, None)
4173 
4174     def __getfield_msg(self):
4175         return self.__field_msg.getvalue()
4176 
4177     def __setfield_msg(self, value):
4178         if isinstance(value,USTRING):
4179             self.__field_msg=value
4180         else:
4181             self.__field_msg=USTRING(value,**{'sizeinbytes': 200, 'encoding': PHONE_ENCODING, 'raiseonunterminatedread': False})
4182 
4183     def __delfield_msg(self): del self.__field_msg
4184 
4185     msg=property(__getfield_msg, __setfield_msg, __delfield_msg, None)
4186 
4187     def __getfield_unknown8(self):
4188         return self.__field_unknown8.getvalue()
4189 
4190     def __setfield_unknown8(self, value):
4191         if isinstance(value,DATA):
4192             self.__field_unknown8=value
4193         else:
4194             self.__field_unknown8=DATA(value,)
4195 
4196     def __delfield_unknown8(self): del self.__field_unknown8
4197 
4198     unknown8=property(__getfield_unknown8, __setfield_unknown8, __delfield_unknown8, None)
4199 
4200     def iscontainer(self):
4201         return True
4202 
4203     def containerelements(self):
4204         yield ('unknown1', self.__field_unknown1, None)
4205         yield ('msg_index2', self.__field_msg_index2, None)
4206         yield ('unknown2', self.__field_unknown2, None)
4207         yield ('timesent', self.__field_timesent, None)
4208         yield ('unknown', self.__field_unknown, None)
4209         yield ('callback_length', self.__field_callback_length, None)
4210         yield ('callback', self.__field_callback, None)
4211         yield ('sender_length', self.__field_sender_length, None)
4212         yield ('sender', self.__field_sender, None)
4213         yield ('unknown4', self.__field_unknown4, None)
4214         yield ('lg_time', self.__field_lg_time, None)
4215         yield ('GPStime', self.__field_GPStime, None)
4216         yield ('unknown41', self.__field_unknown41, None)
4217         yield ('read', self.__field_read, None)
4218         yield ('unknown5', self.__field_unknown5, None)
4219         yield ('subject', self.__field_subject, None)
4220         yield ('unknown6', self.__field_unknown6, None)
4221         yield ('msglength', self.__field_msglength, None)
4222         yield ('unknown7', self.__field_unknown7, None)
4223         yield ('msg', self.__field_msg, None)
4224         yield ('unknown8', self.__field_unknown8, None)
4225 
4226 
4227 
4228 
4229 class _gen_p_lglg6190_333(BaseProtogenClass):
4230     'Anonymous inner class'
4231     __fields=['byte']
4232 
4233     def __init__(self, *args, **kwargs):
4234         dict={}
4235         # What was supplied to this function
4236         dict.update(kwargs)
4237         # Parent constructor
4238         super(_gen_p_lglg6190_333,self).__init__(**dict)
4239         if self.__class__ is _gen_p_lglg6190_333:
4240             self._update(args,dict)
4241 
4242 
4243     def getfields(self):
4244         return self.__fields
4245 
4246 
4247     def _update(self, args, kwargs):
4248         super(_gen_p_lglg6190_333,self)._update(args,kwargs)
4249         keys=kwargs.keys()
4250         for key in keys:
4251             if key in self.__fields:
4252                 setattr(self, key, kwargs[key])
4253                 del kwargs[key]
4254         # Were any unrecognized kwargs passed in?
4255         if __debug__:
4256             self._complainaboutunusedargs(_gen_p_lglg6190_333,kwargs)
4257         if len(args):
4258             dict2={'sizeinbytes': 1}
4259             dict2.update(kwargs)
4260             kwargs=dict2
4261             self.__field_byte=UINT(*args,**dict2)
4262         # Make all P fields that haven't already been constructed
4263 
4264 
4265     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
4266         'Writes this packet to the supplied buffer'
4267         self._bufferstartoffset=buf.getcurrentoffset()
4268         self.__field_byte.writetobuffer(buf)
4269         self._bufferendoffset=buf.getcurrentoffset()
4270         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
4271 
4272 
4273     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
4274         'Reads this packet from the supplied buffer'
4275         self._bufferstartoffset=buf.getcurrentoffset()
4276         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
4277         self.__field_byte=UINT(**{'sizeinbytes': 1})
4278         self.__field_byte.readfrombuffer(buf)
4279         self._bufferendoffset=buf.getcurrentoffset()
4280 
4281 
4282     def __getfield_byte(self):
4283         return self.__field_byte.getvalue()
4284 
4285     def __setfield_byte(self, value):
4286         if isinstance(value,UINT):
4287             self.__field_byte=value
4288         else:
4289             self.__field_byte=UINT(value,**{'sizeinbytes': 1})
4290 
4291     def __delfield_byte(self): del self.__field_byte
4292 
4293     byte=property(__getfield_byte, __setfield_byte, __delfield_byte, "individual byte of senders phone number")
4294 
4295     def iscontainer(self):
4296         return True
4297 
4298     def containerelements(self):
4299         yield ('byte', self.__field_byte, "individual byte of senders phone number")
4300 
4301 
4302 
4303 
4304 class sms_quick_text(BaseProtogenClass):
4305     __fields=['msgs']
4306 
4307     def __init__(self, *args, **kwargs):
4308         dict={}
4309         # What was supplied to this function
4310         dict.update(kwargs)
4311         # Parent constructor
4312         super(sms_quick_text,self).__init__(**dict)
4313         if self.__class__ is sms_quick_text:
4314             self._update(args,dict)
4315 
4316 
4317     def getfields(self):
4318         return self.__fields
4319 
4320 
4321     def _update(self, args, kwargs):
4322         super(sms_quick_text,self)._update(args,kwargs)
4323         keys=kwargs.keys()
4324         for key in keys:
4325             if key in self.__fields:
4326                 setattr(self, key, kwargs[key])
4327                 del kwargs[key]
4328         # Were any unrecognized kwargs passed in?
4329         if __debug__:
4330             self._complainaboutunusedargs(sms_quick_text,kwargs)
4331         if len(args):
4332             dict2={'elementclass': _gen_p_lglg6190_354, }
4333             dict2.update(kwargs)
4334             kwargs=dict2
4335             self.__field_msgs=LIST(*args,**dict2)
4336         # Make all P fields that haven't already been constructed
4337 
4338 
4339     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
4340         'Writes this packet to the supplied buffer'
4341         self._bufferstartoffset=buf.getcurrentoffset()
4342         try: self.__field_msgs
4343         except:
4344             self.__field_msgs=LIST(**{'elementclass': _gen_p_lglg6190_354, })
4345         self.__field_msgs.writetobuffer(buf)
4346         self._bufferendoffset=buf.getcurrentoffset()
4347         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
4348 
4349 
4350     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
4351         'Reads this packet from the supplied buffer'
4352         self._bufferstartoffset=buf.getcurrentoffset()
4353         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
4354         self.__field_msgs=LIST(**{'elementclass': _gen_p_lglg6190_354, })
4355         self.__field_msgs.readfrombuffer(buf)
4356         self._bufferendoffset=buf.getcurrentoffset()
4357 
4358 
4359     def __getfield_msgs(self):
4360         try: self.__field_msgs
4361         except:
4362             self.__field_msgs=LIST(**{'elementclass': _gen_p_lglg6190_354, })
4363         return self.__field_msgs.getvalue()
4364 
4365     def __setfield_msgs(self, value):
4366         if isinstance(value,LIST):
4367             self.__field_msgs=value
4368         else:
4369             self.__field_msgs=LIST(value,**{'elementclass': _gen_p_lglg6190_354, })
4370 
4371     def __delfield_msgs(self): del self.__field_msgs
4372 
4373     msgs=property(__getfield_msgs, __setfield_msgs, __delfield_msgs, None)
4374 
4375     def iscontainer(self):
4376         return True
4377 
4378     def containerelements(self):
4379         yield ('msgs', self.__field_msgs, None)
4380 
4381 
4382 
4383 
4384 class _gen_p_lglg6190_354(BaseProtogenClass):
4385     'Anonymous inner class'
4386     __fields=['msg']
4387 
4388     def __init__(self, *args, **kwargs):
4389         dict={}
4390         # What was supplied to this function
4391         dict.update(kwargs)
4392         # Parent constructor
4393         super(_gen_p_lglg6190_354,self).__init__(**dict)
4394         if self.__class__ is _gen_p_lglg6190_354:
4395             self._update(args,dict)
4396 
4397 
4398     def getfields(self):
4399         return self.__fields
4400 
4401 
4402     def _update(self, args, kwargs):
4403         super(_gen_p_lglg6190_354,self)._update(args,kwargs)
4404         keys=kwargs.keys()
4405         for key in keys:
4406             if key in self.__fields:
4407                 setattr(self, key, kwargs[key])
4408                 del kwargs[key]
4409         # Were any unrecognized kwargs passed in?
4410         if __debug__:
4411             self._complainaboutunusedargs(_gen_p_lglg6190_354,kwargs)
4412         if len(args):
4413             dict2={'encoding': PHONE_ENCODING}
4414             dict2.update(kwargs)
4415             kwargs=dict2
4416             self.__field_msg=USTRING(*args,**dict2)
4417         # Make all P fields that haven't already been constructed
4418 
4419 
4420     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
4421         'Writes this packet to the supplied buffer'
4422         self._bufferstartoffset=buf.getcurrentoffset()
4423         self.__field_msg.writetobuffer(buf)
4424         self._bufferendoffset=buf.getcurrentoffset()
4425         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
4426 
4427 
4428     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
4429         'Reads this packet from the supplied buffer'
4430         self._bufferstartoffset=buf.getcurrentoffset()
4431         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
4432         self.__field_msg=USTRING(**{'encoding': PHONE_ENCODING})
4433         self.__field_msg.readfrombuffer(buf)
4434         self._bufferendoffset=buf.getcurrentoffset()
4435 
4436 
4437     def __getfield_msg(self):
4438         return self.__field_msg.getvalue()
4439 
4440     def __setfield_msg(self, value):
4441         if isinstance(value,USTRING):
4442             self.__field_msg=value
4443         else:
4444             self.__field_msg=USTRING(value,**{'encoding': PHONE_ENCODING})
4445 
4446     def __delfield_msg(self): del self.__field_msg
4447 
4448     msg=property(__getfield_msg, __setfield_msg, __delfield_msg, None)
4449 
4450     def iscontainer(self):
4451         return True
4452 
4453     def containerelements(self):
4454         yield ('msg', self.__field_msg, None)
4455 
4456 
4457 
4458 
4459 

Generated by PyXR 0.9.4