0001 # THIS FILE IS AUTOMATICALLY GENERATED. EDIT THE SOURCE FILE NOT THIS ONE 0002 # Text in this block is placed in the output file 0003 0004 from prototypes import * 0005 from prototypes_samsung import * 0006 from p_samsung_packet import * 0007 0008 NUMPHONENUMBERS=5 0009 NUMPHONEBOOKENTRIES=300 0010 NUMGROUPS=5 0011 MAXNUMBERLEN=32 0012 NUMMEMOENTRIES=9 0013 NUMTODOENTRIES=9 0014 NUMCALENDAREVENTS=70 0015 NUMSMSINENTRIES=211 0016 0017 max_pb_slots=312 0018 max_pb_entries=312 0019 user_pb_entry_range=xrange(1, 301) 0020 max_number_entries=312 0021 max_media_index_entries=302 0022 max_group_entries=6 0023 0024 slot_file_name='nvm/nvm/pclink_tbl' 0025 pb_file_name='nvm/nvm/dial_tbl' 0026 number_file_name='nvm/nvm/dial' 0027 ringer_index_file_name='nvm/nvm/name_ring' 0028 wallpaper_index_file_name='nvm/nvm/avatar' 0029 group_file_name='nvm/nvm/group' 0030 camera_dir='cam/jpeg' 0031 savedtophone_dir='cam/dldJpeg' 0032 0033 camera_index=100 # starting media index for camera images 0034 camera_origin='camera-fullsize' 0035 savedtophone_index=200 # starting media index for saved-to-phone images 0036 savedtophone_origin='camera' 0037 ams_index=300 # starting media index for AmsRegistry items 0038 0039 # Number type 0040 CELLTYPE=1 0041 HOMETYPE=2 0042 WORKTYPE=3 0043 PAGERTYPE=4 0044 OTHERTYPE=5 0045 MAILTYPE=7 0046 URLTYPE=8 0047 0048 # map all UINT fields to lsb version 0049 UINT=UINTlsb 0050 BOOL=BOOLlsb 0051 0052 AMSREGISTRY="ams/AmsRegistry" 0053 ENDTRANSACTION="ams/EndTransaction" 0054 RINGERPREFIX="ams/Ringers/cnts" 0055 WALLPAPERPREFIX="ams/Screen Savers/cnts" 0056 0057 FILETYPE_RINGER=12 0058 FILETYPE_WALLPAPER=13 0059 FILETYPE_APP=16 0060 exts={ 0061 'audio/vnd.qcelp': '.qcp', 0062 'audio/midi': '.mid', 0063 'application/x-pmd': '.pmd', 0064 'audio/mpeg': '.mp3', 0065 'image/jpeg': '.jpeg', 0066 'image/png': '.png', 0067 'image/gif': '.gif', 0068 'image/bmp': '.bmp', 0069 } 0070 0071 origins={ 0072 FILETYPE_RINGER: 'ringers', 0073 FILETYPE_WALLPAPER: 'images', 0074 } 0075 class groupnameentry(BaseProtogenClass): 0076 __fields=['gid', 'groupname', 'ringtone', 'dunno2', 'timestamp'] 0077 0078 def __init__(self, *args, **kwargs): 0079 dict={} 0080 # What was supplied to this function 0081 dict.update(kwargs) 0082 # Parent constructor 0083 super(groupnameentry,self).__init__(**dict) 0084 if self.__class__ is groupnameentry: 0085 self._update(args,dict) 0086 0087 0088 def getfields(self): 0089 return self.__fields 0090 0091 0092 def _update(self, args, kwargs): 0093 super(groupnameentry,self)._update(args,kwargs) 0094 keys=kwargs.keys() 0095 for key in keys: 0096 if key in self.__fields: 0097 setattr(self, key, kwargs[key]) 0098 del kwargs[key] 0099 # Were any unrecognized kwargs passed in? 0100 if __debug__: 0101 self._complainaboutunusedargs(groupnameentry,kwargs) 0102 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0103 # Make all P fields that haven't already been constructed 0104 0105 0106 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0107 'Writes this packet to the supplied buffer' 0108 self._bufferstartoffset=buf.getcurrentoffset() 0109 self.__field_gid.writetobuffer(buf) 0110 self.__field_groupname.writetobuffer(buf) 0111 self.__field_ringtone.writetobuffer(buf) 0112 self.__field_dunno2.writetobuffer(buf) 0113 self.__field_timestamp.writetobuffer(buf) 0114 self._bufferendoffset=buf.getcurrentoffset() 0115 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0116 0117 0118 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0119 'Reads this packet from the supplied buffer' 0120 self._bufferstartoffset=buf.getcurrentoffset() 0121 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0122 self.__field_gid=CSVINT() 0123 self.__field_gid.readfrombuffer(buf) 0124 self.__field_groupname=CSVSTRING() 0125 self.__field_groupname.readfrombuffer(buf) 0126 self.__field_ringtone=CSVINT() 0127 self.__field_ringtone.readfrombuffer(buf) 0128 self.__field_dunno2=CSVSTRING(**{'quotechar': None}) 0129 self.__field_dunno2.readfrombuffer(buf) 0130 self.__field_timestamp=CSVTIME(**{'terminator': None}) 0131 self.__field_timestamp.readfrombuffer(buf) 0132 self._bufferendoffset=buf.getcurrentoffset() 0133 0134 0135 def __getfield_gid(self): 0136 return self.__field_gid.getvalue() 0137 0138 def __setfield_gid(self, value): 0139 if isinstance(value,CSVINT): 0140 self.__field_gid=value 0141 else: 0142 self.__field_gid=CSVINT(value,) 0143 0144 def __delfield_gid(self): del self.__field_gid 0145 0146 gid=property(__getfield_gid, __setfield_gid, __delfield_gid, None) 0147 0148 def __getfield_groupname(self): 0149 return self.__field_groupname.getvalue() 0150 0151 def __setfield_groupname(self, value): 0152 if isinstance(value,CSVSTRING): 0153 self.__field_groupname=value 0154 else: 0155 self.__field_groupname=CSVSTRING(value,) 0156 0157 def __delfield_groupname(self): del self.__field_groupname 0158 0159 groupname=property(__getfield_groupname, __setfield_groupname, __delfield_groupname, None) 0160 0161 def __getfield_ringtone(self): 0162 return self.__field_ringtone.getvalue() 0163 0164 def __setfield_ringtone(self, value): 0165 if isinstance(value,CSVINT): 0166 self.__field_ringtone=value 0167 else: 0168 self.__field_ringtone=CSVINT(value,) 0169 0170 def __delfield_ringtone(self): del self.__field_ringtone 0171 0172 ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, "Ringtone assignment?") 0173 0174 def __getfield_dunno2(self): 0175 return self.__field_dunno2.getvalue() 0176 0177 def __setfield_dunno2(self, value): 0178 if isinstance(value,CSVSTRING): 0179 self.__field_dunno2=value 0180 else: 0181 self.__field_dunno2=CSVSTRING(value,**{'quotechar': None}) 0182 0183 def __delfield_dunno2(self): del self.__field_dunno2 0184 0185 dunno2=property(__getfield_dunno2, __setfield_dunno2, __delfield_dunno2, "A single character C or S") 0186 0187 def __getfield_timestamp(self): 0188 return self.__field_timestamp.getvalue() 0189 0190 def __setfield_timestamp(self, value): 0191 if isinstance(value,CSVTIME): 0192 self.__field_timestamp=value 0193 else: 0194 self.__field_timestamp=CSVTIME(value,**{'terminator': None}) 0195 0196 def __delfield_timestamp(self): del self.__field_timestamp 0197 0198 timestamp=property(__getfield_timestamp, __setfield_timestamp, __delfield_timestamp, None) 0199 0200 def iscontainer(self): 0201 return True 0202 0203 def containerelements(self): 0204 yield ('gid', self.__field_gid, None) 0205 yield ('groupname', self.__field_groupname, None) 0206 yield ('ringtone', self.__field_ringtone, "Ringtone assignment?") 0207 yield ('dunno2', self.__field_dunno2, "A single character C or S") 0208 yield ('timestamp', self.__field_timestamp, None) 0209 0210 0211 0212 0213 class groupnameresponse(BaseProtogenClass): 0214 __fields=['command', 'entry'] 0215 0216 def __init__(self, *args, **kwargs): 0217 dict={} 0218 # What was supplied to this function 0219 dict.update(kwargs) 0220 # Parent constructor 0221 super(groupnameresponse,self).__init__(**dict) 0222 if self.__class__ is groupnameresponse: 0223 self._update(args,dict) 0224 0225 0226 def getfields(self): 0227 return self.__fields 0228 0229 0230 def _update(self, args, kwargs): 0231 super(groupnameresponse,self)._update(args,kwargs) 0232 keys=kwargs.keys() 0233 for key in keys: 0234 if key in self.__fields: 0235 setattr(self, key, kwargs[key]) 0236 del kwargs[key] 0237 # Were any unrecognized kwargs passed in? 0238 if __debug__: 0239 self._complainaboutunusedargs(groupnameresponse,kwargs) 0240 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0241 # Make all P fields that haven't already been constructed 0242 0243 0244 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0245 'Writes this packet to the supplied buffer' 0246 self._bufferstartoffset=buf.getcurrentoffset() 0247 self.__field_command.writetobuffer(buf) 0248 self.__field_entry.writetobuffer(buf) 0249 self._bufferendoffset=buf.getcurrentoffset() 0250 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0251 0252 0253 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0254 'Reads this packet from the supplied buffer' 0255 self._bufferstartoffset=buf.getcurrentoffset() 0256 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0257 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBGRR:'}) 0258 self.__field_command.readfrombuffer(buf) 0259 self.__field_entry=groupnameentry() 0260 self.__field_entry.readfrombuffer(buf) 0261 self._bufferendoffset=buf.getcurrentoffset() 0262 0263 0264 def __getfield_command(self): 0265 return self.__field_command.getvalue() 0266 0267 def __setfield_command(self, value): 0268 if isinstance(value,CSVSTRING): 0269 self.__field_command=value 0270 else: 0271 self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBGRR:'}) 0272 0273 def __delfield_command(self): del self.__field_command 0274 0275 command=property(__getfield_command, __setfield_command, __delfield_command, None) 0276 0277 def __getfield_entry(self): 0278 return self.__field_entry.getvalue() 0279 0280 def __setfield_entry(self, value): 0281 if isinstance(value,groupnameentry): 0282 self.__field_entry=value 0283 else: 0284 self.__field_entry=groupnameentry(value,) 0285 0286 def __delfield_entry(self): del self.__field_entry 0287 0288 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 0289 0290 def iscontainer(self): 0291 return True 0292 0293 def containerelements(self): 0294 yield ('command', self.__field_command, None) 0295 yield ('entry', self.__field_entry, None) 0296 0297 0298 0299 0300 class pbentry(BaseProtogenClass): 0301 __fields=['writeflg', 'slot', 'uslot', 'group', 'ringtone', 'name', 'speeddial', 'dunno1', 'numbers', 'extranumber', 'dunno3', 'dunno4', 'email', 'url', 'birthday', 'wallpaper', 'timestamp'] 0302 0303 def __init__(self, *args, **kwargs): 0304 dict={} 0305 # What was supplied to this function 0306 dict.update(kwargs) 0307 # Parent constructor 0308 super(pbentry,self).__init__(**dict) 0309 if self.__class__ is pbentry: 0310 self._update(args,dict) 0311 0312 0313 def getfields(self): 0314 return self.__fields 0315 0316 0317 def _update(self, args, kwargs): 0318 super(pbentry,self)._update(args,kwargs) 0319 keys=kwargs.keys() 0320 for key in keys: 0321 if key in self.__fields: 0322 setattr(self, key, kwargs[key]) 0323 del kwargs[key] 0324 # Were any unrecognized kwargs passed in? 0325 if __debug__: 0326 self._complainaboutunusedargs(pbentry,kwargs) 0327 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0328 # Make all P fields that haven't already been constructed 0329 try: self.__field_writeflg 0330 except: 0331 self.__field_writeflg=BOOL(**{ 'default': False }) 0332 0333 0334 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0335 'Writes this packet to the supplied buffer' 0336 self._bufferstartoffset=buf.getcurrentoffset() 0337 self.__field_slot.writetobuffer(buf) 0338 self.__field_uslot.writetobuffer(buf) 0339 self.__field_group.writetobuffer(buf) 0340 try: self.__field_ringtone 0341 except: 0342 self.__field_ringtone=CSVINT(**{'default': 20}) 0343 self.__field_ringtone.writetobuffer(buf) 0344 self.__field_name.writetobuffer(buf) 0345 self.__field_speeddial.writetobuffer(buf) 0346 try: self.__field_dunno1 0347 except: 0348 self.__field_dunno1=CSVINT(**{'default': 0}) 0349 self.__field_dunno1.writetobuffer(buf) 0350 try: self.__field_numbers 0351 except: 0352 self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 0353 self.__field_numbers.writetobuffer(buf) 0354 if self.writeflg: 0355 try: self.__field_extranumber 0356 except: 0357 self.__field_extranumber=phonenumber() 0358 self.__field_extranumber.writetobuffer(buf) 0359 try: self.__field_dunno3 0360 except: 0361 self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 0362 self.__field_dunno3.writetobuffer(buf) 0363 try: self.__field_dunno4 0364 except: 0365 self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 0366 self.__field_dunno4.writetobuffer(buf) 0367 self.__field_email.writetobuffer(buf) 0368 self.__field_url.writetobuffer(buf) 0369 try: self.__field_birthday 0370 except: 0371 self.__field_birthday=CSVSTRING(**{'quotechar': None, 'default': ""}) 0372 self.__field_birthday.writetobuffer(buf) 0373 try: self.__field_wallpaper 0374 except: 0375 self.__field_wallpaper=CSVINT(**{'default': 20}) 0376 self.__field_wallpaper.writetobuffer(buf) 0377 try: self.__field_timestamp 0378 except: 0379 self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': DateTime.now()+(0,) }) 0380 self.__field_timestamp.writetobuffer(buf) 0381 self._bufferendoffset=buf.getcurrentoffset() 0382 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0383 0384 0385 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0386 'Reads this packet from the supplied buffer' 0387 self._bufferstartoffset=buf.getcurrentoffset() 0388 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0389 self.__field_slot=CSVINT() 0390 self.__field_slot.readfrombuffer(buf) 0391 self.__field_uslot=CSVINT() 0392 self.__field_uslot.readfrombuffer(buf) 0393 self.__field_group=CSVINT() 0394 self.__field_group.readfrombuffer(buf) 0395 self.__field_ringtone=CSVINT(**{'default': 20}) 0396 self.__field_ringtone.readfrombuffer(buf) 0397 self.__field_name=CSVSTRING() 0398 self.__field_name.readfrombuffer(buf) 0399 self.__field_speeddial=CSVINT() 0400 self.__field_speeddial.readfrombuffer(buf) 0401 self.__field_dunno1=CSVINT(**{'default': 0}) 0402 self.__field_dunno1.readfrombuffer(buf) 0403 self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 0404 self.__field_numbers.readfrombuffer(buf) 0405 if self.writeflg: 0406 self.__field_extranumber=phonenumber() 0407 self.__field_extranumber.readfrombuffer(buf) 0408 self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 0409 self.__field_dunno3.readfrombuffer(buf) 0410 self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 0411 self.__field_dunno4.readfrombuffer(buf) 0412 self.__field_email=CSVSTRING() 0413 self.__field_email.readfrombuffer(buf) 0414 self.__field_url=CSVSTRING() 0415 self.__field_url.readfrombuffer(buf) 0416 self.__field_birthday=CSVSTRING(**{'quotechar': None, 'default': ""}) 0417 self.__field_birthday.readfrombuffer(buf) 0418 self.__field_wallpaper=CSVINT(**{'default': 20}) 0419 self.__field_wallpaper.readfrombuffer(buf) 0420 self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': DateTime.now()+(0,) }) 0421 self.__field_timestamp.readfrombuffer(buf) 0422 self._bufferendoffset=buf.getcurrentoffset() 0423 0424 0425 def __getfield_writeflg(self): 0426 try: self.__field_writeflg 0427 except: 0428 self.__field_writeflg=BOOL(**{ 'default': False }) 0429 return self.__field_writeflg.getvalue() 0430 0431 def __setfield_writeflg(self, value): 0432 if isinstance(value,BOOL): 0433 self.__field_writeflg=value 0434 else: 0435 self.__field_writeflg=BOOL(value,**{ 'default': False }) 0436 0437 def __delfield_writeflg(self): del self.__field_writeflg 0438 0439 writeflg=property(__getfield_writeflg, __setfield_writeflg, __delfield_writeflg, "Set to True when writing to phone") 0440 0441 def __getfield_slot(self): 0442 return self.__field_slot.getvalue() 0443 0444 def __setfield_slot(self, value): 0445 if isinstance(value,CSVINT): 0446 self.__field_slot=value 0447 else: 0448 self.__field_slot=CSVINT(value,) 0449 0450 def __delfield_slot(self): del self.__field_slot 0451 0452 slot=property(__getfield_slot, __setfield_slot, __delfield_slot, "Internal Slot") 0453 0454 def __getfield_uslot(self): 0455 return self.__field_uslot.getvalue() 0456 0457 def __setfield_uslot(self, value): 0458 if isinstance(value,CSVINT): 0459 self.__field_uslot=value 0460 else: 0461 self.__field_uslot=CSVINT(value,) 0462 0463 def __delfield_uslot(self): del self.__field_uslot 0464 0465 uslot=property(__getfield_uslot, __setfield_uslot, __delfield_uslot, "User Slot, Speed dial") 0466 0467 def __getfield_group(self): 0468 return self.__field_group.getvalue() 0469 0470 def __setfield_group(self, value): 0471 if isinstance(value,CSVINT): 0472 self.__field_group=value 0473 else: 0474 self.__field_group=CSVINT(value,) 0475 0476 def __delfield_group(self): del self.__field_group 0477 0478 group=property(__getfield_group, __setfield_group, __delfield_group, None) 0479 0480 def __getfield_ringtone(self): 0481 try: self.__field_ringtone 0482 except: 0483 self.__field_ringtone=CSVINT(**{'default': 20}) 0484 return self.__field_ringtone.getvalue() 0485 0486 def __setfield_ringtone(self, value): 0487 if isinstance(value,CSVINT): 0488 self.__field_ringtone=value 0489 else: 0490 self.__field_ringtone=CSVINT(value,**{'default': 20}) 0491 0492 def __delfield_ringtone(self): del self.__field_ringtone 0493 0494 ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None) 0495 0496 def __getfield_name(self): 0497 return self.__field_name.getvalue() 0498 0499 def __setfield_name(self, value): 0500 if isinstance(value,CSVSTRING): 0501 self.__field_name=value 0502 else: 0503 self.__field_name=CSVSTRING(value,) 0504 0505 def __delfield_name(self): del self.__field_name 0506 0507 name=property(__getfield_name, __setfield_name, __delfield_name, None) 0508 0509 def __getfield_speeddial(self): 0510 return self.__field_speeddial.getvalue() 0511 0512 def __setfield_speeddial(self, value): 0513 if isinstance(value,CSVINT): 0514 self.__field_speeddial=value 0515 else: 0516 self.__field_speeddial=CSVINT(value,) 0517 0518 def __delfield_speeddial(self): del self.__field_speeddial 0519 0520 speeddial=property(__getfield_speeddial, __setfield_speeddial, __delfield_speeddial, "Which phone number assigned to speed dial uslot") 0521 0522 def __getfield_dunno1(self): 0523 try: self.__field_dunno1 0524 except: 0525 self.__field_dunno1=CSVINT(**{'default': 0}) 0526 return self.__field_dunno1.getvalue() 0527 0528 def __setfield_dunno1(self, value): 0529 if isinstance(value,CSVINT): 0530 self.__field_dunno1=value 0531 else: 0532 self.__field_dunno1=CSVINT(value,**{'default': 0}) 0533 0534 def __delfield_dunno1(self): del self.__field_dunno1 0535 0536 dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None) 0537 0538 def __getfield_numbers(self): 0539 try: self.__field_numbers 0540 except: 0541 self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 0542 return self.__field_numbers.getvalue() 0543 0544 def __setfield_numbers(self, value): 0545 if isinstance(value,LIST): 0546 self.__field_numbers=value 0547 else: 0548 self.__field_numbers=LIST(value,**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 0549 0550 def __delfield_numbers(self): del self.__field_numbers 0551 0552 numbers=property(__getfield_numbers, __setfield_numbers, __delfield_numbers, None) 0553 0554 def __getfield_extranumber(self): 0555 try: self.__field_extranumber 0556 except: 0557 self.__field_extranumber=phonenumber() 0558 return self.__field_extranumber.getvalue() 0559 0560 def __setfield_extranumber(self, value): 0561 if isinstance(value,phonenumber): 0562 self.__field_extranumber=value 0563 else: 0564 self.__field_extranumber=phonenumber(value,) 0565 0566 def __delfield_extranumber(self): del self.__field_extranumber 0567 0568 extranumber=property(__getfield_extranumber, __setfield_extranumber, __delfield_extranumber, None) 0569 0570 def __getfield_dunno3(self): 0571 try: self.__field_dunno3 0572 except: 0573 self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 0574 return self.__field_dunno3.getvalue() 0575 0576 def __setfield_dunno3(self, value): 0577 if isinstance(value,CSVSTRING): 0578 self.__field_dunno3=value 0579 else: 0580 self.__field_dunno3=CSVSTRING(value,**{'quotechar': None, 'default': ""}) 0581 0582 def __delfield_dunno3(self): del self.__field_dunno3 0583 0584 dunno3=property(__getfield_dunno3, __setfield_dunno3, __delfield_dunno3, None) 0585 0586 def __getfield_dunno4(self): 0587 try: self.__field_dunno4 0588 except: 0589 self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 0590 return self.__field_dunno4.getvalue() 0591 0592 def __setfield_dunno4(self, value): 0593 if isinstance(value,CSVSTRING): 0594 self.__field_dunno4=value 0595 else: 0596 self.__field_dunno4=CSVSTRING(value,**{'quotechar': None, 'default': ""}) 0597 0598 def __delfield_dunno4(self): del self.__field_dunno4 0599 0600 dunno4=property(__getfield_dunno4, __setfield_dunno4, __delfield_dunno4, None) 0601 0602 def __getfield_email(self): 0603 return self.__field_email.getvalue() 0604 0605 def __setfield_email(self, value): 0606 if isinstance(value,CSVSTRING): 0607 self.__field_email=value 0608 else: 0609 self.__field_email=CSVSTRING(value,) 0610 0611 def __delfield_email(self): del self.__field_email 0612 0613 email=property(__getfield_email, __setfield_email, __delfield_email, None) 0614 0615 def __getfield_url(self): 0616 return self.__field_url.getvalue() 0617 0618 def __setfield_url(self, value): 0619 if isinstance(value,CSVSTRING): 0620 self.__field_url=value 0621 else: 0622 self.__field_url=CSVSTRING(value,) 0623 0624 def __delfield_url(self): del self.__field_url 0625 0626 url=property(__getfield_url, __setfield_url, __delfield_url, None) 0627 0628 def __getfield_birthday(self): 0629 try: self.__field_birthday 0630 except: 0631 self.__field_birthday=CSVSTRING(**{'quotechar': None, 'default': ""}) 0632 return self.__field_birthday.getvalue() 0633 0634 def __setfield_birthday(self, value): 0635 if isinstance(value,CSVSTRING): 0636 self.__field_birthday=value 0637 else: 0638 self.__field_birthday=CSVSTRING(value,**{'quotechar': None, 'default': ""}) 0639 0640 def __delfield_birthday(self): del self.__field_birthday 0641 0642 birthday=property(__getfield_birthday, __setfield_birthday, __delfield_birthday, None) 0643 0644 def __getfield_wallpaper(self): 0645 try: self.__field_wallpaper 0646 except: 0647 self.__field_wallpaper=CSVINT(**{'default': 20}) 0648 return self.__field_wallpaper.getvalue() 0649 0650 def __setfield_wallpaper(self, value): 0651 if isinstance(value,CSVINT): 0652 self.__field_wallpaper=value 0653 else: 0654 self.__field_wallpaper=CSVINT(value,**{'default': 20}) 0655 0656 def __delfield_wallpaper(self): del self.__field_wallpaper 0657 0658 wallpaper=property(__getfield_wallpaper, __setfield_wallpaper, __delfield_wallpaper, None) 0659 0660 def __getfield_timestamp(self): 0661 try: self.__field_timestamp 0662 except: 0663 self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': DateTime.now()+(0,) }) 0664 return self.__field_timestamp.getvalue() 0665 0666 def __setfield_timestamp(self, value): 0667 if isinstance(value,CSVTIME): 0668 self.__field_timestamp=value 0669 else: 0670 self.__field_timestamp=CSVTIME(value,**{'terminator': None, 'default': DateTime.now()+(0,) }) 0671 0672 def __delfield_timestamp(self): del self.__field_timestamp 0673 0674 timestamp=property(__getfield_timestamp, __setfield_timestamp, __delfield_timestamp, "Use terminator None for last item") 0675 0676 def iscontainer(self): 0677 return True 0678 0679 def containerelements(self): 0680 yield ('writeflg', self.__field_writeflg, "Set to True when writing to phone") 0681 yield ('slot', self.__field_slot, "Internal Slot") 0682 yield ('uslot', self.__field_uslot, "User Slot, Speed dial") 0683 yield ('group', self.__field_group, None) 0684 yield ('ringtone', self.__field_ringtone, None) 0685 yield ('name', self.__field_name, None) 0686 yield ('speeddial', self.__field_speeddial, "Which phone number assigned to speed dial uslot") 0687 yield ('dunno1', self.__field_dunno1, None) 0688 yield ('numbers', self.__field_numbers, None) 0689 if self.writeflg: 0690 yield ('extranumber', self.__field_extranumber, None) 0691 yield ('dunno3', self.__field_dunno3, None) 0692 yield ('dunno4', self.__field_dunno4, None) 0693 yield ('email', self.__field_email, None) 0694 yield ('url', self.__field_url, None) 0695 yield ('birthday', self.__field_birthday, None) 0696 yield ('wallpaper', self.__field_wallpaper, None) 0697 yield ('timestamp', self.__field_timestamp, "Use terminator None for last item") 0698 0699 0700 0701 0702 class phonebookslotresponse(BaseProtogenClass): 0703 __fields=['command', 'entry'] 0704 0705 def __init__(self, *args, **kwargs): 0706 dict={} 0707 # What was supplied to this function 0708 dict.update(kwargs) 0709 # Parent constructor 0710 super(phonebookslotresponse,self).__init__(**dict) 0711 if self.__class__ is phonebookslotresponse: 0712 self._update(args,dict) 0713 0714 0715 def getfields(self): 0716 return self.__fields 0717 0718 0719 def _update(self, args, kwargs): 0720 super(phonebookslotresponse,self)._update(args,kwargs) 0721 keys=kwargs.keys() 0722 for key in keys: 0723 if key in self.__fields: 0724 setattr(self, key, kwargs[key]) 0725 del kwargs[key] 0726 # Were any unrecognized kwargs passed in? 0727 if __debug__: 0728 self._complainaboutunusedargs(phonebookslotresponse,kwargs) 0729 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0730 # Make all P fields that haven't already been constructed 0731 0732 0733 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0734 'Writes this packet to the supplied buffer' 0735 self._bufferstartoffset=buf.getcurrentoffset() 0736 self.__field_command.writetobuffer(buf) 0737 self.__field_entry.writetobuffer(buf) 0738 self._bufferendoffset=buf.getcurrentoffset() 0739 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0740 0741 0742 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0743 'Reads this packet from the supplied buffer' 0744 self._bufferstartoffset=buf.getcurrentoffset() 0745 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0746 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBOKR:'}) 0747 self.__field_command.readfrombuffer(buf) 0748 self.__field_entry=pbentry() 0749 self.__field_entry.readfrombuffer(buf) 0750 self._bufferendoffset=buf.getcurrentoffset() 0751 0752 0753 def __getfield_command(self): 0754 return self.__field_command.getvalue() 0755 0756 def __setfield_command(self, value): 0757 if isinstance(value,CSVSTRING): 0758 self.__field_command=value 0759 else: 0760 self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBOKR:'}) 0761 0762 def __delfield_command(self): del self.__field_command 0763 0764 command=property(__getfield_command, __setfield_command, __delfield_command, None) 0765 0766 def __getfield_entry(self): 0767 return self.__field_entry.getvalue() 0768 0769 def __setfield_entry(self, value): 0770 if isinstance(value,pbentry): 0771 self.__field_entry=value 0772 else: 0773 self.__field_entry=pbentry(value,) 0774 0775 def __delfield_entry(self): del self.__field_entry 0776 0777 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 0778 0779 def iscontainer(self): 0780 return True 0781 0782 def containerelements(self): 0783 yield ('command', self.__field_command, None) 0784 yield ('entry', self.__field_entry, None) 0785 0786 0787 0788 0789 class phonebookslotupdaterequest(BaseProtogenClass): 0790 __fields=['command', 'entry'] 0791 0792 def __init__(self, *args, **kwargs): 0793 dict={} 0794 # What was supplied to this function 0795 dict.update(kwargs) 0796 # Parent constructor 0797 super(phonebookslotupdaterequest,self).__init__(**dict) 0798 if self.__class__ is phonebookslotupdaterequest: 0799 self._update(args,dict) 0800 0801 0802 def getfields(self): 0803 return self.__fields 0804 0805 0806 def _update(self, args, kwargs): 0807 super(phonebookslotupdaterequest,self)._update(args,kwargs) 0808 keys=kwargs.keys() 0809 for key in keys: 0810 if key in self.__fields: 0811 setattr(self, key, kwargs[key]) 0812 del kwargs[key] 0813 # Were any unrecognized kwargs passed in? 0814 if __debug__: 0815 self._complainaboutunusedargs(phonebookslotupdaterequest,kwargs) 0816 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0817 # Make all P fields that haven't already been constructed 0818 0819 0820 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0821 'Writes this packet to the supplied buffer' 0822 self._bufferstartoffset=buf.getcurrentoffset() 0823 try: self.__field_command 0824 except: 0825 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 0826 self.__field_command.writetobuffer(buf) 0827 self.__field_entry.writetobuffer(buf) 0828 self._bufferendoffset=buf.getcurrentoffset() 0829 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0830 0831 0832 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0833 'Reads this packet from the supplied buffer' 0834 self._bufferstartoffset=buf.getcurrentoffset() 0835 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0836 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 0837 self.__field_command.readfrombuffer(buf) 0838 self.__field_entry=pbentry() 0839 self.__field_entry.readfrombuffer(buf) 0840 self._bufferendoffset=buf.getcurrentoffset() 0841 0842 0843 def __getfield_command(self): 0844 try: self.__field_command 0845 except: 0846 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 0847 return self.__field_command.getvalue() 0848 0849 def __setfield_command(self, value): 0850 if isinstance(value,CSVSTRING): 0851 self.__field_command=value 0852 else: 0853 self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 0854 0855 def __delfield_command(self): del self.__field_command 0856 0857 command=property(__getfield_command, __setfield_command, __delfield_command, None) 0858 0859 def __getfield_entry(self): 0860 return self.__field_entry.getvalue() 0861 0862 def __setfield_entry(self, value): 0863 if isinstance(value,pbentry): 0864 self.__field_entry=value 0865 else: 0866 self.__field_entry=pbentry(value,) 0867 0868 def __delfield_entry(self): del self.__field_entry 0869 0870 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 0871 0872 def iscontainer(self): 0873 return True 0874 0875 def containerelements(self): 0876 yield ('command', self.__field_command, None) 0877 yield ('entry', self.__field_entry, None) 0878 0879 0880 0881 0882 class smsinrequest(BaseProtogenClass): 0883 __fields=['command', 'slot'] 0884 0885 def __init__(self, *args, **kwargs): 0886 dict={} 0887 # What was supplied to this function 0888 dict.update(kwargs) 0889 # Parent constructor 0890 super(smsinrequest,self).__init__(**dict) 0891 if self.__class__ is smsinrequest: 0892 self._update(args,dict) 0893 0894 0895 def getfields(self): 0896 return self.__fields 0897 0898 0899 def _update(self, args, kwargs): 0900 super(smsinrequest,self)._update(args,kwargs) 0901 keys=kwargs.keys() 0902 for key in keys: 0903 if key in self.__fields: 0904 setattr(self, key, kwargs[key]) 0905 del kwargs[key] 0906 # Were any unrecognized kwargs passed in? 0907 if __debug__: 0908 self._complainaboutunusedargs(smsinrequest,kwargs) 0909 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 0910 # Make all P fields that haven't already been constructed 0911 0912 0913 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 0914 'Writes this packet to the supplied buffer' 0915 self._bufferstartoffset=buf.getcurrentoffset() 0916 try: self.__field_command 0917 except: 0918 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PSRMR='}) 0919 self.__field_command.writetobuffer(buf) 0920 self.__field_slot.writetobuffer(buf) 0921 self._bufferendoffset=buf.getcurrentoffset() 0922 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 0923 0924 0925 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 0926 'Reads this packet from the supplied buffer' 0927 self._bufferstartoffset=buf.getcurrentoffset() 0928 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 0929 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PSRMR='}) 0930 self.__field_command.readfrombuffer(buf) 0931 self.__field_slot=CSVINT(**{'terminator': None}) 0932 self.__field_slot.readfrombuffer(buf) 0933 self._bufferendoffset=buf.getcurrentoffset() 0934 0935 0936 def __getfield_command(self): 0937 try: self.__field_command 0938 except: 0939 self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PSRMR='}) 0940 return self.__field_command.getvalue() 0941 0942 def __setfield_command(self, value): 0943 if isinstance(value,CSVSTRING): 0944 self.__field_command=value 0945 else: 0946 self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': None, 'default': '#PSRMR='}) 0947 0948 def __delfield_command(self): del self.__field_command 0949 0950 command=property(__getfield_command, __setfield_command, __delfield_command, None) 0951 0952 def __getfield_slot(self): 0953 return self.__field_slot.getvalue() 0954 0955 def __setfield_slot(self, value): 0956 if isinstance(value,CSVINT): 0957 self.__field_slot=value 0958 else: 0959 self.__field_slot=CSVINT(value,**{'terminator': None}) 0960 0961 def __delfield_slot(self): del self.__field_slot 0962 0963 slot=property(__getfield_slot, __setfield_slot, __delfield_slot, None) 0964 0965 def iscontainer(self): 0966 return True 0967 0968 def containerelements(self): 0969 yield ('command', self.__field_command, None) 0970 yield ('slot', self.__field_slot, None) 0971 0972 0973 0974 0975 class smsinresponse(BaseProtogenClass): 0976 __fields=['bytes'] 0977 0978 def __init__(self, *args, **kwargs): 0979 dict={} 0980 # What was supplied to this function 0981 dict.update(kwargs) 0982 # Parent constructor 0983 super(smsinresponse,self).__init__(**dict) 0984 if self.__class__ is smsinresponse: 0985 self._update(args,dict) 0986 0987 0988 def getfields(self): 0989 return self.__fields 0990 0991 0992 def _update(self, args, kwargs): 0993 super(smsinresponse,self)._update(args,kwargs) 0994 keys=kwargs.keys() 0995 for key in keys: 0996 if key in self.__fields: 0997 setattr(self, key, kwargs[key]) 0998 del kwargs[key] 0999 # Were any unrecognized kwargs passed in? 1000 if __debug__: 1001 self._complainaboutunusedargs(smsinresponse,kwargs) 1002 if len(args): 1003 dict2={} 1004 dict2.update(kwargs) 1005 kwargs=dict2 1006 self.__field_bytes=DATA(*args,**dict2) 1007 # Make all P fields that haven't already been constructed 1008 1009 1010 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1011 'Writes this packet to the supplied buffer' 1012 self._bufferstartoffset=buf.getcurrentoffset() 1013 self.__field_bytes.writetobuffer(buf) 1014 self._bufferendoffset=buf.getcurrentoffset() 1015 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1016 1017 1018 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1019 'Reads this packet from the supplied buffer' 1020 self._bufferstartoffset=buf.getcurrentoffset() 1021 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1022 self.__field_bytes=DATA() 1023 self.__field_bytes.readfrombuffer(buf) 1024 self._bufferendoffset=buf.getcurrentoffset() 1025 1026 1027 def __getfield_bytes(self): 1028 return self.__field_bytes.getvalue() 1029 1030 def __setfield_bytes(self, value): 1031 if isinstance(value,DATA): 1032 self.__field_bytes=value 1033 else: 1034 self.__field_bytes=DATA(value,) 1035 1036 def __delfield_bytes(self): del self.__field_bytes 1037 1038 bytes=property(__getfield_bytes, __setfield_bytes, __delfield_bytes, None) 1039 1040 def iscontainer(self): 1041 return True 1042 1043 def containerelements(self): 1044 yield ('bytes', self.__field_bytes, None) 1045 1046 1047 1048 1049 class fspbslot(BaseProtogenClass): 1050 __fields=['valid', 'pbbook_index', 'c0', 'timestamp', 'pad'] 1051 1052 def __init__(self, *args, **kwargs): 1053 dict={} 1054 # What was supplied to this function 1055 dict.update(kwargs) 1056 # Parent constructor 1057 super(fspbslot,self).__init__(**dict) 1058 if self.__class__ is fspbslot: 1059 self._update(args,dict) 1060 1061 1062 def getfields(self): 1063 return self.__fields 1064 1065 1066 def _update(self, args, kwargs): 1067 super(fspbslot,self)._update(args,kwargs) 1068 keys=kwargs.keys() 1069 for key in keys: 1070 if key in self.__fields: 1071 setattr(self, key, kwargs[key]) 1072 del kwargs[key] 1073 # Were any unrecognized kwargs passed in? 1074 if __debug__: 1075 self._complainaboutunusedargs(fspbslot,kwargs) 1076 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 1077 # Make all P fields that haven't already been constructed 1078 1079 1080 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1081 'Writes this packet to the supplied buffer' 1082 self._bufferstartoffset=buf.getcurrentoffset() 1083 try: self.__field_valid 1084 except: 1085 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1086 self.__field_valid.writetobuffer(buf) 1087 try: self.__field_pbbook_index 1088 except: 1089 self.__field_pbbook_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1090 self.__field_pbbook_index.writetobuffer(buf) 1091 if self.valid: 1092 try: self.__field_c0 1093 except: 1094 self.__field_c0=UINT(**{'sizeinbytes': 2, 'default': 0x0101 }) 1095 self.__field_c0.writetobuffer(buf) 1096 try: self.__field_timestamp 1097 except: 1098 self.__field_timestamp=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 1099 self.__field_timestamp.writetobuffer(buf) 1100 else: 1101 try: self.__field_pad 1102 except: 1103 self.__field_pad=DATA(**{'sizeinbytes': 6, 'default': '\x00'*6 }) 1104 self.__field_pad.writetobuffer(buf) 1105 self._bufferendoffset=buf.getcurrentoffset() 1106 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1107 1108 1109 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1110 'Reads this packet from the supplied buffer' 1111 self._bufferstartoffset=buf.getcurrentoffset() 1112 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1113 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1114 self.__field_valid.readfrombuffer(buf) 1115 self.__field_pbbook_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1116 self.__field_pbbook_index.readfrombuffer(buf) 1117 if self.valid: 1118 self.__field_c0=UINT(**{'sizeinbytes': 2, 'default': 0x0101 }) 1119 self.__field_c0.readfrombuffer(buf) 1120 self.__field_timestamp=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 1121 self.__field_timestamp.readfrombuffer(buf) 1122 else: 1123 self.__field_pad=DATA(**{'sizeinbytes': 6, 'default': '\x00'*6 }) 1124 self.__field_pad.readfrombuffer(buf) 1125 self._bufferendoffset=buf.getcurrentoffset() 1126 1127 1128 def __getfield_valid(self): 1129 try: self.__field_valid 1130 except: 1131 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1132 return self.__field_valid.getvalue() 1133 1134 def __setfield_valid(self, value): 1135 if isinstance(value,UINT): 1136 self.__field_valid=value 1137 else: 1138 self.__field_valid=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 1139 1140 def __delfield_valid(self): del self.__field_valid 1141 1142 valid=property(__getfield_valid, __setfield_valid, __delfield_valid, "1=valid entry") 1143 1144 def __getfield_pbbook_index(self): 1145 try: self.__field_pbbook_index 1146 except: 1147 self.__field_pbbook_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1148 return self.__field_pbbook_index.getvalue() 1149 1150 def __setfield_pbbook_index(self, value): 1151 if isinstance(value,UINT): 1152 self.__field_pbbook_index=value 1153 else: 1154 self.__field_pbbook_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1155 1156 def __delfield_pbbook_index(self): del self.__field_pbbook_index 1157 1158 pbbook_index=property(__getfield_pbbook_index, __setfield_pbbook_index, __delfield_pbbook_index, "index into pbbook") 1159 1160 def __getfield_c0(self): 1161 try: self.__field_c0 1162 except: 1163 self.__field_c0=UINT(**{'sizeinbytes': 2, 'default': 0x0101 }) 1164 return self.__field_c0.getvalue() 1165 1166 def __setfield_c0(self, value): 1167 if isinstance(value,UINT): 1168 self.__field_c0=value 1169 else: 1170 self.__field_c0=UINT(value,**{'sizeinbytes': 2, 'default': 0x0101 }) 1171 1172 def __delfield_c0(self): del self.__field_c0 1173 1174 c0=property(__getfield_c0, __setfield_c0, __delfield_c0, None) 1175 1176 def __getfield_timestamp(self): 1177 try: self.__field_timestamp 1178 except: 1179 self.__field_timestamp=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 1180 return self.__field_timestamp.getvalue() 1181 1182 def __setfield_timestamp(self, value): 1183 if isinstance(value,DateTime): 1184 self.__field_timestamp=value 1185 else: 1186 self.__field_timestamp=DateTime(value,**{'sizeinbytes': 4, 'default': DateTime.now() }) 1187 1188 def __delfield_timestamp(self): del self.__field_timestamp 1189 1190 timestamp=property(__getfield_timestamp, __setfield_timestamp, __delfield_timestamp, "Last modified date/time") 1191 1192 def __getfield_pad(self): 1193 try: self.__field_pad 1194 except: 1195 self.__field_pad=DATA(**{'sizeinbytes': 6, 'default': '\x00'*6 }) 1196 return self.__field_pad.getvalue() 1197 1198 def __setfield_pad(self, value): 1199 if isinstance(value,DATA): 1200 self.__field_pad=value 1201 else: 1202 self.__field_pad=DATA(value,**{'sizeinbytes': 6, 'default': '\x00'*6 }) 1203 1204 def __delfield_pad(self): del self.__field_pad 1205 1206 pad=property(__getfield_pad, __setfield_pad, __delfield_pad, None) 1207 1208 def iscontainer(self): 1209 return True 1210 1211 def containerelements(self): 1212 yield ('valid', self.__field_valid, "1=valid entry") 1213 yield ('pbbook_index', self.__field_pbbook_index, "index into pbbook") 1214 if self.valid: 1215 yield ('c0', self.__field_c0, None) 1216 yield ('timestamp', self.__field_timestamp, "Last modified date/time") 1217 else: 1218 yield ('pad', self.__field_pad, None) 1219 1220 1221 1222 1223 class fspbslots(BaseProtogenClass): 1224 __fields=['slot'] 1225 1226 def __init__(self, *args, **kwargs): 1227 dict={} 1228 # What was supplied to this function 1229 dict.update(kwargs) 1230 # Parent constructor 1231 super(fspbslots,self).__init__(**dict) 1232 if self.__class__ is fspbslots: 1233 self._update(args,dict) 1234 1235 1236 def getfields(self): 1237 return self.__fields 1238 1239 1240 def _update(self, args, kwargs): 1241 super(fspbslots,self)._update(args,kwargs) 1242 keys=kwargs.keys() 1243 for key in keys: 1244 if key in self.__fields: 1245 setattr(self, key, kwargs[key]) 1246 del kwargs[key] 1247 # Were any unrecognized kwargs passed in? 1248 if __debug__: 1249 self._complainaboutunusedargs(fspbslots,kwargs) 1250 if len(args): 1251 dict2={ 'length': max_pb_slots, 'elementclass': fspbslot } 1252 dict2.update(kwargs) 1253 kwargs=dict2 1254 self.__field_slot=LIST(*args,**dict2) 1255 # Make all P fields that haven't already been constructed 1256 1257 1258 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1259 'Writes this packet to the supplied buffer' 1260 self._bufferstartoffset=buf.getcurrentoffset() 1261 try: self.__field_slot 1262 except: 1263 self.__field_slot=LIST(**{ 'length': max_pb_slots, 'elementclass': fspbslot }) 1264 self.__field_slot.writetobuffer(buf) 1265 self._bufferendoffset=buf.getcurrentoffset() 1266 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1267 1268 1269 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1270 'Reads this packet from the supplied buffer' 1271 self._bufferstartoffset=buf.getcurrentoffset() 1272 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1273 self.__field_slot=LIST(**{ 'length': max_pb_slots, 'elementclass': fspbslot }) 1274 self.__field_slot.readfrombuffer(buf) 1275 self._bufferendoffset=buf.getcurrentoffset() 1276 1277 1278 def __getfield_slot(self): 1279 try: self.__field_slot 1280 except: 1281 self.__field_slot=LIST(**{ 'length': max_pb_slots, 'elementclass': fspbslot }) 1282 return self.__field_slot.getvalue() 1283 1284 def __setfield_slot(self, value): 1285 if isinstance(value,LIST): 1286 self.__field_slot=value 1287 else: 1288 self.__field_slot=LIST(value,**{ 'length': max_pb_slots, 'elementclass': fspbslot }) 1289 1290 def __delfield_slot(self): del self.__field_slot 1291 1292 slot=property(__getfield_slot, __setfield_slot, __delfield_slot, None) 1293 1294 def iscontainer(self): 1295 return True 1296 1297 def containerelements(self): 1298 yield ('slot', self.__field_slot, None) 1299 1300 1301 1302 1303 class fspbentry(BaseProtogenClass): 1304 __fields=['valid', 'c1', 'c1', 'main_num_index', 'mobile_num_index', 'home_num_index', 'office_num_index', 'pager_num_index', 'fax_num_index', 'unused_index', 'email_index', 'url_index', 'name', 'group_num', 'nick', 'memo', 'pad'] 1305 1306 def __init__(self, *args, **kwargs): 1307 dict={} 1308 # What was supplied to this function 1309 dict.update(kwargs) 1310 # Parent constructor 1311 super(fspbentry,self).__init__(**dict) 1312 if self.__class__ is fspbentry: 1313 self._update(args,dict) 1314 1315 1316 def getfields(self): 1317 return self.__fields 1318 1319 1320 def _update(self, args, kwargs): 1321 super(fspbentry,self)._update(args,kwargs) 1322 keys=kwargs.keys() 1323 for key in keys: 1324 if key in self.__fields: 1325 setattr(self, key, kwargs[key]) 1326 del kwargs[key] 1327 # Were any unrecognized kwargs passed in? 1328 if __debug__: 1329 self._complainaboutunusedargs(fspbentry,kwargs) 1330 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 1331 # Make all P fields that haven't already been constructed 1332 1333 1334 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1335 'Writes this packet to the supplied buffer' 1336 self._bufferstartoffset=buf.getcurrentoffset() 1337 try: self.__field_valid 1338 except: 1339 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1340 self.__field_valid.writetobuffer(buf) 1341 if self.valid: 1342 try: self.__field_c1 1343 except: 1344 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0x01BF }) 1345 self.__field_c1.writetobuffer(buf) 1346 else: 1347 try: self.__field_c1 1348 except: 1349 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1350 self.__field_c1.writetobuffer(buf) 1351 try: self.__field_main_num_index 1352 except: 1353 self.__field_main_num_index=UINT(**{'sizeinbytes': 2, 'default': self.mobile_num_index }) 1354 self.__field_main_num_index.writetobuffer(buf) 1355 try: self.__field_mobile_num_index 1356 except: 1357 self.__field_mobile_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1358 self.__field_mobile_num_index.writetobuffer(buf) 1359 try: self.__field_home_num_index 1360 except: 1361 self.__field_home_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1362 self.__field_home_num_index.writetobuffer(buf) 1363 try: self.__field_office_num_index 1364 except: 1365 self.__field_office_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1366 self.__field_office_num_index.writetobuffer(buf) 1367 try: self.__field_pager_num_index 1368 except: 1369 self.__field_pager_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1370 self.__field_pager_num_index.writetobuffer(buf) 1371 try: self.__field_fax_num_index 1372 except: 1373 self.__field_fax_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1374 self.__field_fax_num_index.writetobuffer(buf) 1375 try: self.__field_unused_index 1376 except: 1377 self.__field_unused_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1378 self.__field_unused_index.writetobuffer(buf) 1379 try: self.__field_email_index 1380 except: 1381 self.__field_email_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1382 self.__field_email_index.writetobuffer(buf) 1383 try: self.__field_url_index 1384 except: 1385 self.__field_url_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1386 self.__field_url_index.writetobuffer(buf) 1387 try: self.__field_name 1388 except: 1389 self.__field_name=USTRING(**{'sizeinbytes': 31, 'pascal': True, 'terminator': None, 'default': '' }) 1390 self.__field_name.writetobuffer(buf) 1391 try: self.__field_group_num 1392 except: 1393 self.__field_group_num=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1394 self.__field_group_num.writetobuffer(buf) 1395 try: self.__field_nick 1396 except: 1397 self.__field_nick=USTRING(**{'sizeinbytes': 22, 'pascal': True, 'terminator': None, 'default': '' }) 1398 self.__field_nick.writetobuffer(buf) 1399 try: self.__field_memo 1400 except: 1401 self.__field_memo=USTRING(**{'sizeinbytes': 73, 'pascal': True, 'terminator': None, 'default': '' }) 1402 self.__field_memo.writetobuffer(buf) 1403 try: self.__field_pad 1404 except: 1405 self.__field_pad=DATA(**{'sizeinbytes': 13, 'default': '\x00'*13 }) 1406 self.__field_pad.writetobuffer(buf) 1407 self._bufferendoffset=buf.getcurrentoffset() 1408 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1409 1410 1411 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1412 'Reads this packet from the supplied buffer' 1413 self._bufferstartoffset=buf.getcurrentoffset() 1414 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1415 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1416 self.__field_valid.readfrombuffer(buf) 1417 if self.valid: 1418 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0x01BF }) 1419 self.__field_c1.readfrombuffer(buf) 1420 else: 1421 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1422 self.__field_c1.readfrombuffer(buf) 1423 self.__field_main_num_index=UINT(**{'sizeinbytes': 2, 'default': self.mobile_num_index }) 1424 self.__field_main_num_index.readfrombuffer(buf) 1425 self.__field_mobile_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1426 self.__field_mobile_num_index.readfrombuffer(buf) 1427 self.__field_home_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1428 self.__field_home_num_index.readfrombuffer(buf) 1429 self.__field_office_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1430 self.__field_office_num_index.readfrombuffer(buf) 1431 self.__field_pager_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1432 self.__field_pager_num_index.readfrombuffer(buf) 1433 self.__field_fax_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1434 self.__field_fax_num_index.readfrombuffer(buf) 1435 self.__field_unused_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1436 self.__field_unused_index.readfrombuffer(buf) 1437 self.__field_email_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1438 self.__field_email_index.readfrombuffer(buf) 1439 self.__field_url_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1440 self.__field_url_index.readfrombuffer(buf) 1441 self.__field_name=USTRING(**{'sizeinbytes': 31, 'pascal': True, 'terminator': None, 'default': '' }) 1442 self.__field_name.readfrombuffer(buf) 1443 self.__field_group_num=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1444 self.__field_group_num.readfrombuffer(buf) 1445 self.__field_nick=USTRING(**{'sizeinbytes': 22, 'pascal': True, 'terminator': None, 'default': '' }) 1446 self.__field_nick.readfrombuffer(buf) 1447 self.__field_memo=USTRING(**{'sizeinbytes': 73, 'pascal': True, 'terminator': None, 'default': '' }) 1448 self.__field_memo.readfrombuffer(buf) 1449 self.__field_pad=DATA(**{'sizeinbytes': 13, 'default': '\x00'*13 }) 1450 self.__field_pad.readfrombuffer(buf) 1451 self._bufferendoffset=buf.getcurrentoffset() 1452 1453 1454 def __getfield_valid(self): 1455 try: self.__field_valid 1456 except: 1457 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1458 return self.__field_valid.getvalue() 1459 1460 def __setfield_valid(self, value): 1461 if isinstance(value,UINT): 1462 self.__field_valid=value 1463 else: 1464 self.__field_valid=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 1465 1466 def __delfield_valid(self): del self.__field_valid 1467 1468 valid=property(__getfield_valid, __setfield_valid, __delfield_valid, "1=valid entry") 1469 1470 def __getfield_c1(self): 1471 try: self.__field_c1 1472 except: 1473 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0x01BF }) 1474 return self.__field_c1.getvalue() 1475 1476 def __setfield_c1(self, value): 1477 if isinstance(value,UINT): 1478 self.__field_c1=value 1479 else: 1480 self.__field_c1=UINT(value,**{'sizeinbytes': 2, 'default': 0x01BF }) 1481 1482 def __delfield_c1(self): del self.__field_c1 1483 1484 c1=property(__getfield_c1, __setfield_c1, __delfield_c1, None) 1485 1486 def __getfield_c1(self): 1487 try: self.__field_c1 1488 except: 1489 self.__field_c1=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1490 return self.__field_c1.getvalue() 1491 1492 def __setfield_c1(self, value): 1493 if isinstance(value,UINT): 1494 self.__field_c1=value 1495 else: 1496 self.__field_c1=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1497 1498 def __delfield_c1(self): del self.__field_c1 1499 1500 c1=property(__getfield_c1, __setfield_c1, __delfield_c1, None) 1501 1502 def __getfield_main_num_index(self): 1503 try: self.__field_main_num_index 1504 except: 1505 self.__field_main_num_index=UINT(**{'sizeinbytes': 2, 'default': self.mobile_num_index }) 1506 return self.__field_main_num_index.getvalue() 1507 1508 def __setfield_main_num_index(self, value): 1509 if isinstance(value,UINT): 1510 self.__field_main_num_index=value 1511 else: 1512 self.__field_main_num_index=UINT(value,**{'sizeinbytes': 2, 'default': self.mobile_num_index }) 1513 1514 def __delfield_main_num_index(self): del self.__field_main_num_index 1515 1516 main_num_index=property(__getfield_main_num_index, __setfield_main_num_index, __delfield_main_num_index, None) 1517 1518 def __getfield_mobile_num_index(self): 1519 try: self.__field_mobile_num_index 1520 except: 1521 self.__field_mobile_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1522 return self.__field_mobile_num_index.getvalue() 1523 1524 def __setfield_mobile_num_index(self, value): 1525 if isinstance(value,UINT): 1526 self.__field_mobile_num_index=value 1527 else: 1528 self.__field_mobile_num_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1529 1530 def __delfield_mobile_num_index(self): del self.__field_mobile_num_index 1531 1532 mobile_num_index=property(__getfield_mobile_num_index, __setfield_mobile_num_index, __delfield_mobile_num_index, None) 1533 1534 def __getfield_home_num_index(self): 1535 try: self.__field_home_num_index 1536 except: 1537 self.__field_home_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1538 return self.__field_home_num_index.getvalue() 1539 1540 def __setfield_home_num_index(self, value): 1541 if isinstance(value,UINT): 1542 self.__field_home_num_index=value 1543 else: 1544 self.__field_home_num_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1545 1546 def __delfield_home_num_index(self): del self.__field_home_num_index 1547 1548 home_num_index=property(__getfield_home_num_index, __setfield_home_num_index, __delfield_home_num_index, None) 1549 1550 def __getfield_office_num_index(self): 1551 try: self.__field_office_num_index 1552 except: 1553 self.__field_office_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1554 return self.__field_office_num_index.getvalue() 1555 1556 def __setfield_office_num_index(self, value): 1557 if isinstance(value,UINT): 1558 self.__field_office_num_index=value 1559 else: 1560 self.__field_office_num_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1561 1562 def __delfield_office_num_index(self): del self.__field_office_num_index 1563 1564 office_num_index=property(__getfield_office_num_index, __setfield_office_num_index, __delfield_office_num_index, None) 1565 1566 def __getfield_pager_num_index(self): 1567 try: self.__field_pager_num_index 1568 except: 1569 self.__field_pager_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1570 return self.__field_pager_num_index.getvalue() 1571 1572 def __setfield_pager_num_index(self, value): 1573 if isinstance(value,UINT): 1574 self.__field_pager_num_index=value 1575 else: 1576 self.__field_pager_num_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1577 1578 def __delfield_pager_num_index(self): del self.__field_pager_num_index 1579 1580 pager_num_index=property(__getfield_pager_num_index, __setfield_pager_num_index, __delfield_pager_num_index, None) 1581 1582 def __getfield_fax_num_index(self): 1583 try: self.__field_fax_num_index 1584 except: 1585 self.__field_fax_num_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1586 return self.__field_fax_num_index.getvalue() 1587 1588 def __setfield_fax_num_index(self, value): 1589 if isinstance(value,UINT): 1590 self.__field_fax_num_index=value 1591 else: 1592 self.__field_fax_num_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1593 1594 def __delfield_fax_num_index(self): del self.__field_fax_num_index 1595 1596 fax_num_index=property(__getfield_fax_num_index, __setfield_fax_num_index, __delfield_fax_num_index, None) 1597 1598 def __getfield_unused_index(self): 1599 try: self.__field_unused_index 1600 except: 1601 self.__field_unused_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1602 return self.__field_unused_index.getvalue() 1603 1604 def __setfield_unused_index(self, value): 1605 if isinstance(value,UINT): 1606 self.__field_unused_index=value 1607 else: 1608 self.__field_unused_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1609 1610 def __delfield_unused_index(self): del self.__field_unused_index 1611 1612 unused_index=property(__getfield_unused_index, __setfield_unused_index, __delfield_unused_index, None) 1613 1614 def __getfield_email_index(self): 1615 try: self.__field_email_index 1616 except: 1617 self.__field_email_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1618 return self.__field_email_index.getvalue() 1619 1620 def __setfield_email_index(self, value): 1621 if isinstance(value,UINT): 1622 self.__field_email_index=value 1623 else: 1624 self.__field_email_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1625 1626 def __delfield_email_index(self): del self.__field_email_index 1627 1628 email_index=property(__getfield_email_index, __setfield_email_index, __delfield_email_index, None) 1629 1630 def __getfield_url_index(self): 1631 try: self.__field_url_index 1632 except: 1633 self.__field_url_index=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1634 return self.__field_url_index.getvalue() 1635 1636 def __setfield_url_index(self, value): 1637 if isinstance(value,UINT): 1638 self.__field_url_index=value 1639 else: 1640 self.__field_url_index=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1641 1642 def __delfield_url_index(self): del self.__field_url_index 1643 1644 url_index=property(__getfield_url_index, __setfield_url_index, __delfield_url_index, None) 1645 1646 def __getfield_name(self): 1647 try: self.__field_name 1648 except: 1649 self.__field_name=USTRING(**{'sizeinbytes': 31, 'pascal': True, 'terminator': None, 'default': '' }) 1650 return self.__field_name.getvalue() 1651 1652 def __setfield_name(self, value): 1653 if isinstance(value,USTRING): 1654 self.__field_name=value 1655 else: 1656 self.__field_name=USTRING(value,**{'sizeinbytes': 31, 'pascal': True, 'terminator': None, 'default': '' }) 1657 1658 def __delfield_name(self): del self.__field_name 1659 1660 name=property(__getfield_name, __setfield_name, __delfield_name, None) 1661 1662 def __getfield_group_num(self): 1663 try: self.__field_group_num 1664 except: 1665 self.__field_group_num=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1666 return self.__field_group_num.getvalue() 1667 1668 def __setfield_group_num(self, value): 1669 if isinstance(value,UINT): 1670 self.__field_group_num=value 1671 else: 1672 self.__field_group_num=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 1673 1674 def __delfield_group_num(self): del self.__field_group_num 1675 1676 group_num=property(__getfield_group_num, __setfield_group_num, __delfield_group_num, None) 1677 1678 def __getfield_nick(self): 1679 try: self.__field_nick 1680 except: 1681 self.__field_nick=USTRING(**{'sizeinbytes': 22, 'pascal': True, 'terminator': None, 'default': '' }) 1682 return self.__field_nick.getvalue() 1683 1684 def __setfield_nick(self, value): 1685 if isinstance(value,USTRING): 1686 self.__field_nick=value 1687 else: 1688 self.__field_nick=USTRING(value,**{'sizeinbytes': 22, 'pascal': True, 'terminator': None, 'default': '' }) 1689 1690 def __delfield_nick(self): del self.__field_nick 1691 1692 nick=property(__getfield_nick, __setfield_nick, __delfield_nick, None) 1693 1694 def __getfield_memo(self): 1695 try: self.__field_memo 1696 except: 1697 self.__field_memo=USTRING(**{'sizeinbytes': 73, 'pascal': True, 'terminator': None, 'default': '' }) 1698 return self.__field_memo.getvalue() 1699 1700 def __setfield_memo(self, value): 1701 if isinstance(value,USTRING): 1702 self.__field_memo=value 1703 else: 1704 self.__field_memo=USTRING(value,**{'sizeinbytes': 73, 'pascal': True, 'terminator': None, 'default': '' }) 1705 1706 def __delfield_memo(self): del self.__field_memo 1707 1708 memo=property(__getfield_memo, __setfield_memo, __delfield_memo, None) 1709 1710 def __getfield_pad(self): 1711 try: self.__field_pad 1712 except: 1713 self.__field_pad=DATA(**{'sizeinbytes': 13, 'default': '\x00'*13 }) 1714 return self.__field_pad.getvalue() 1715 1716 def __setfield_pad(self, value): 1717 if isinstance(value,DATA): 1718 self.__field_pad=value 1719 else: 1720 self.__field_pad=DATA(value,**{'sizeinbytes': 13, 'default': '\x00'*13 }) 1721 1722 def __delfield_pad(self): del self.__field_pad 1723 1724 pad=property(__getfield_pad, __setfield_pad, __delfield_pad, None) 1725 1726 def iscontainer(self): 1727 return True 1728 1729 def containerelements(self): 1730 yield ('valid', self.__field_valid, "1=valid entry") 1731 if self.valid: 1732 yield ('c1', self.__field_c1, None) 1733 else: 1734 yield ('c1', self.__field_c1, None) 1735 yield ('main_num_index', self.__field_main_num_index, None) 1736 yield ('mobile_num_index', self.__field_mobile_num_index, None) 1737 yield ('home_num_index', self.__field_home_num_index, None) 1738 yield ('office_num_index', self.__field_office_num_index, None) 1739 yield ('pager_num_index', self.__field_pager_num_index, None) 1740 yield ('fax_num_index', self.__field_fax_num_index, None) 1741 yield ('unused_index', self.__field_unused_index, None) 1742 yield ('email_index', self.__field_email_index, None) 1743 yield ('url_index', self.__field_url_index, None) 1744 yield ('name', self.__field_name, None) 1745 yield ('group_num', self.__field_group_num, None) 1746 yield ('nick', self.__field_nick, None) 1747 yield ('memo', self.__field_memo, None) 1748 yield ('pad', self.__field_pad, None) 1749 1750 1751 1752 1753 class fspbbook(BaseProtogenClass): 1754 __fields=['entry'] 1755 1756 def __init__(self, *args, **kwargs): 1757 dict={} 1758 # What was supplied to this function 1759 dict.update(kwargs) 1760 # Parent constructor 1761 super(fspbbook,self).__init__(**dict) 1762 if self.__class__ is fspbbook: 1763 self._update(args,dict) 1764 1765 1766 def getfields(self): 1767 return self.__fields 1768 1769 1770 def _update(self, args, kwargs): 1771 super(fspbbook,self)._update(args,kwargs) 1772 keys=kwargs.keys() 1773 for key in keys: 1774 if key in self.__fields: 1775 setattr(self, key, kwargs[key]) 1776 del kwargs[key] 1777 # Were any unrecognized kwargs passed in? 1778 if __debug__: 1779 self._complainaboutunusedargs(fspbbook,kwargs) 1780 if len(args): 1781 dict2={ 'length': max_pb_entries, 'elementclass': fspbentry, 'createdefault': True } 1782 dict2.update(kwargs) 1783 kwargs=dict2 1784 self.__field_entry=LIST(*args,**dict2) 1785 # Make all P fields that haven't already been constructed 1786 1787 1788 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1789 'Writes this packet to the supplied buffer' 1790 self._bufferstartoffset=buf.getcurrentoffset() 1791 try: self.__field_entry 1792 except: 1793 self.__field_entry=LIST(**{ 'length': max_pb_entries, 'elementclass': fspbentry, 'createdefault': True }) 1794 self.__field_entry.writetobuffer(buf) 1795 self._bufferendoffset=buf.getcurrentoffset() 1796 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1797 1798 1799 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1800 'Reads this packet from the supplied buffer' 1801 self._bufferstartoffset=buf.getcurrentoffset() 1802 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1803 self.__field_entry=LIST(**{ 'length': max_pb_entries, 'elementclass': fspbentry, 'createdefault': True }) 1804 self.__field_entry.readfrombuffer(buf) 1805 self._bufferendoffset=buf.getcurrentoffset() 1806 1807 1808 def __getfield_entry(self): 1809 try: self.__field_entry 1810 except: 1811 self.__field_entry=LIST(**{ 'length': max_pb_entries, 'elementclass': fspbentry, 'createdefault': True }) 1812 return self.__field_entry.getvalue() 1813 1814 def __setfield_entry(self, value): 1815 if isinstance(value,LIST): 1816 self.__field_entry=value 1817 else: 1818 self.__field_entry=LIST(value,**{ 'length': max_pb_entries, 'elementclass': fspbentry, 'createdefault': True }) 1819 1820 def __delfield_entry(self): del self.__field_entry 1821 1822 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 1823 1824 def iscontainer(self): 1825 return True 1826 1827 def containerelements(self): 1828 yield ('entry', self.__field_entry, None) 1829 1830 1831 1832 1833 class fsnumber(BaseProtogenClass): 1834 __fields=['valid', 'c0', 'name', 'number_type'] 1835 1836 def __init__(self, *args, **kwargs): 1837 dict={} 1838 # What was supplied to this function 1839 dict.update(kwargs) 1840 # Parent constructor 1841 super(fsnumber,self).__init__(**dict) 1842 if self.__class__ is fsnumber: 1843 self._update(args,dict) 1844 1845 1846 def getfields(self): 1847 return self.__fields 1848 1849 1850 def _update(self, args, kwargs): 1851 super(fsnumber,self)._update(args,kwargs) 1852 keys=kwargs.keys() 1853 for key in keys: 1854 if key in self.__fields: 1855 setattr(self, key, kwargs[key]) 1856 del kwargs[key] 1857 # Were any unrecognized kwargs passed in? 1858 if __debug__: 1859 self._complainaboutunusedargs(fsnumber,kwargs) 1860 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 1861 # Make all P fields that haven't already been constructed 1862 1863 1864 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 1865 'Writes this packet to the supplied buffer' 1866 self._bufferstartoffset=buf.getcurrentoffset() 1867 try: self.__field_valid 1868 except: 1869 self.__field_valid=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1870 self.__field_valid.writetobuffer(buf) 1871 try: self.__field_c0 1872 except: 1873 self.__field_c0=UINT(**{'sizeinbytes': 4, 'default': 0 }) 1874 self.__field_c0.writetobuffer(buf) 1875 try: self.__field_name 1876 except: 1877 self.__field_name=USTRING(**{'sizeinbytes': 74, 'pascal': True, 'terminator': None, 'default': '' }) 1878 self.__field_name.writetobuffer(buf) 1879 try: self.__field_number_type 1880 except: 1881 self.__field_number_type=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1882 self.__field_number_type.writetobuffer(buf) 1883 self._bufferendoffset=buf.getcurrentoffset() 1884 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 1885 1886 1887 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 1888 'Reads this packet from the supplied buffer' 1889 self._bufferstartoffset=buf.getcurrentoffset() 1890 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 1891 self.__field_valid=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1892 self.__field_valid.readfrombuffer(buf) 1893 self.__field_c0=UINT(**{'sizeinbytes': 4, 'default': 0 }) 1894 self.__field_c0.readfrombuffer(buf) 1895 self.__field_name=USTRING(**{'sizeinbytes': 74, 'pascal': True, 'terminator': None, 'default': '' }) 1896 self.__field_name.readfrombuffer(buf) 1897 self.__field_number_type=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1898 self.__field_number_type.readfrombuffer(buf) 1899 self._bufferendoffset=buf.getcurrentoffset() 1900 1901 1902 def __getfield_valid(self): 1903 try: self.__field_valid 1904 except: 1905 self.__field_valid=UINT(**{'sizeinbytes': 2, 'default': 0 }) 1906 return self.__field_valid.getvalue() 1907 1908 def __setfield_valid(self, value): 1909 if isinstance(value,UINT): 1910 self.__field_valid=value 1911 else: 1912 self.__field_valid=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 1913 1914 def __delfield_valid(self): del self.__field_valid 1915 1916 valid=property(__getfield_valid, __setfield_valid, __delfield_valid, "1=valid entry") 1917 1918 def __getfield_c0(self): 1919 try: self.__field_c0 1920 except: 1921 self.__field_c0=UINT(**{'sizeinbytes': 4, 'default': 0 }) 1922 return self.__field_c0.getvalue() 1923 1924 def __setfield_c0(self, value): 1925 if isinstance(value,UINT): 1926 self.__field_c0=value 1927 else: 1928 self.__field_c0=UINT(value,**{'sizeinbytes': 4, 'default': 0 }) 1929 1930 def __delfield_c0(self): del self.__field_c0 1931 1932 c0=property(__getfield_c0, __setfield_c0, __delfield_c0, None) 1933 1934 def __getfield_name(self): 1935 try: self.__field_name 1936 except: 1937 self.__field_name=USTRING(**{'sizeinbytes': 74, 'pascal': True, 'terminator': None, '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': 74, 'pascal': True, 'terminator': None, '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_number_type(self): 1951 try: self.__field_number_type 1952 except: 1953 self.__field_number_type=UINT(**{'sizeinbytes': 1, 'default': 0 }) 1954 return self.__field_number_type.getvalue() 1955 1956 def __setfield_number_type(self, value): 1957 if isinstance(value,UINT): 1958 self.__field_number_type=value 1959 else: 1960 self.__field_number_type=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 1961 1962 def __delfield_number_type(self): del self.__field_number_type 1963 1964 number_type=property(__getfield_number_type, __setfield_number_type, __delfield_number_type, None) 1965 1966 def iscontainer(self): 1967 return True 1968 1969 def containerelements(self): 1970 yield ('valid', self.__field_valid, "1=valid entry") 1971 yield ('c0', self.__field_c0, None) 1972 yield ('name', self.__field_name, None) 1973 yield ('number_type', self.__field_number_type, None) 1974 1975 1976 1977 1978 class fsnumbers(BaseProtogenClass): 1979 __fields=['entry'] 1980 1981 def __init__(self, *args, **kwargs): 1982 dict={} 1983 # What was supplied to this function 1984 dict.update(kwargs) 1985 # Parent constructor 1986 super(fsnumbers,self).__init__(**dict) 1987 if self.__class__ is fsnumbers: 1988 self._update(args,dict) 1989 1990 1991 def getfields(self): 1992 return self.__fields 1993 1994 1995 def _update(self, args, kwargs): 1996 super(fsnumbers,self)._update(args,kwargs) 1997 keys=kwargs.keys() 1998 for key in keys: 1999 if key in self.__fields: 2000 setattr(self, key, kwargs[key]) 2001 del kwargs[key] 2002 # Were any unrecognized kwargs passed in? 2003 if __debug__: 2004 self._complainaboutunusedargs(fsnumbers,kwargs) 2005 if len(args): 2006 dict2={ 'length': max_number_entries, 'elementclass': fsnumber, 'createdefault': True } 2007 dict2.update(kwargs) 2008 kwargs=dict2 2009 self.__field_entry=LIST(*args,**dict2) 2010 # Make all P fields that haven't already been constructed 2011 2012 2013 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2014 'Writes this packet to the supplied buffer' 2015 self._bufferstartoffset=buf.getcurrentoffset() 2016 try: self.__field_entry 2017 except: 2018 self.__field_entry=LIST(**{ 'length': max_number_entries, 'elementclass': fsnumber, 'createdefault': True }) 2019 self.__field_entry.writetobuffer(buf) 2020 self._bufferendoffset=buf.getcurrentoffset() 2021 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2022 2023 2024 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2025 'Reads this packet from the supplied buffer' 2026 self._bufferstartoffset=buf.getcurrentoffset() 2027 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2028 self.__field_entry=LIST(**{ 'length': max_number_entries, 'elementclass': fsnumber, 'createdefault': True }) 2029 self.__field_entry.readfrombuffer(buf) 2030 self._bufferendoffset=buf.getcurrentoffset() 2031 2032 2033 def __getfield_entry(self): 2034 try: self.__field_entry 2035 except: 2036 self.__field_entry=LIST(**{ 'length': max_number_entries, 'elementclass': fsnumber, 'createdefault': True }) 2037 return self.__field_entry.getvalue() 2038 2039 def __setfield_entry(self, value): 2040 if isinstance(value,LIST): 2041 self.__field_entry=value 2042 else: 2043 self.__field_entry=LIST(value,**{ 'length': max_number_entries, 'elementclass': fsnumber, 'createdefault': True }) 2044 2045 def __delfield_entry(self): del self.__field_entry 2046 2047 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 2048 2049 def iscontainer(self): 2050 return True 2051 2052 def containerelements(self): 2053 yield ('entry', self.__field_entry, None) 2054 2055 2056 2057 2058 class amsregistry(BaseProtogenClass): 2059 __fields=['dunno0', 'info', 'dunno1', 'strings', 'dunno2', 'nfiles', 'dunno3'] 2060 2061 def __init__(self, *args, **kwargs): 2062 dict={} 2063 # What was supplied to this function 2064 dict.update(kwargs) 2065 # Parent constructor 2066 super(amsregistry,self).__init__(**dict) 2067 if self.__class__ is amsregistry: 2068 self._update(args,dict) 2069 2070 2071 def getfields(self): 2072 return self.__fields 2073 2074 2075 def _update(self, args, kwargs): 2076 super(amsregistry,self)._update(args,kwargs) 2077 keys=kwargs.keys() 2078 for key in keys: 2079 if key in self.__fields: 2080 setattr(self, key, kwargs[key]) 2081 del kwargs[key] 2082 # Were any unrecognized kwargs passed in? 2083 if __debug__: 2084 self._complainaboutunusedargs(amsregistry,kwargs) 2085 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 2086 # Make all P fields that haven't already been constructed 2087 2088 2089 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2090 'Writes this packet to the supplied buffer' 2091 self._bufferstartoffset=buf.getcurrentoffset() 2092 self.__field_dunno0.writetobuffer(buf) 2093 self.__field_info.writetobuffer(buf) 2094 self.__field_dunno1.writetobuffer(buf) 2095 self.__field_strings.writetobuffer(buf) 2096 self.__field_dunno2.writetobuffer(buf) 2097 self.__field_nfiles.writetobuffer(buf) 2098 self.__field_dunno3.writetobuffer(buf) 2099 self._bufferendoffset=buf.getcurrentoffset() 2100 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2101 2102 2103 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2104 'Reads this packet from the supplied buffer' 2105 self._bufferstartoffset=buf.getcurrentoffset() 2106 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2107 self.__field_dunno0=DATA(**{'sizeinbytes': 900}) 2108 self.__field_dunno0.readfrombuffer(buf) 2109 self.__field_info=LIST(**{'elementclass': _gen_p_samsungsphm300_197, 'length': 320}) 2110 self.__field_info.readfrombuffer(buf) 2111 self.__field_dunno1=DATA(**{'sizeinbytes': 2000}) 2112 self.__field_dunno1.readfrombuffer(buf) 2113 self.__field_strings=DATA(**{'sizeinbytes': 23000}) 2114 self.__field_strings.readfrombuffer(buf) 2115 self.__field_dunno2=UINT(**{'sizeinbytes': 4}) 2116 self.__field_dunno2.readfrombuffer(buf) 2117 self.__field_nfiles=UINT(**{'sizeinbytes': 2}) 2118 self.__field_nfiles.readfrombuffer(buf) 2119 self.__field_dunno3=DATA() 2120 self.__field_dunno3.readfrombuffer(buf) 2121 self._bufferendoffset=buf.getcurrentoffset() 2122 2123 2124 def __getfield_dunno0(self): 2125 return self.__field_dunno0.getvalue() 2126 2127 def __setfield_dunno0(self, value): 2128 if isinstance(value,DATA): 2129 self.__field_dunno0=value 2130 else: 2131 self.__field_dunno0=DATA(value,**{'sizeinbytes': 900}) 2132 2133 def __delfield_dunno0(self): del self.__field_dunno0 2134 2135 dunno0=property(__getfield_dunno0, __setfield_dunno0, __delfield_dunno0, None) 2136 2137 def __getfield_info(self): 2138 return self.__field_info.getvalue() 2139 2140 def __setfield_info(self, value): 2141 if isinstance(value,LIST): 2142 self.__field_info=value 2143 else: 2144 self.__field_info=LIST(value,**{'elementclass': _gen_p_samsungsphm300_197, 'length': 320}) 2145 2146 def __delfield_info(self): del self.__field_info 2147 2148 info=property(__getfield_info, __setfield_info, __delfield_info, None) 2149 2150 def __getfield_dunno1(self): 2151 return self.__field_dunno1.getvalue() 2152 2153 def __setfield_dunno1(self, value): 2154 if isinstance(value,DATA): 2155 self.__field_dunno1=value 2156 else: 2157 self.__field_dunno1=DATA(value,**{'sizeinbytes': 2000}) 2158 2159 def __delfield_dunno1(self): del self.__field_dunno1 2160 2161 dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None) 2162 2163 def __getfield_strings(self): 2164 return self.__field_strings.getvalue() 2165 2166 def __setfield_strings(self, value): 2167 if isinstance(value,DATA): 2168 self.__field_strings=value 2169 else: 2170 self.__field_strings=DATA(value,**{'sizeinbytes': 23000}) 2171 2172 def __delfield_strings(self): del self.__field_strings 2173 2174 strings=property(__getfield_strings, __setfield_strings, __delfield_strings, None) 2175 2176 def __getfield_dunno2(self): 2177 return self.__field_dunno2.getvalue() 2178 2179 def __setfield_dunno2(self, value): 2180 if isinstance(value,UINT): 2181 self.__field_dunno2=value 2182 else: 2183 self.__field_dunno2=UINT(value,**{'sizeinbytes': 4}) 2184 2185 def __delfield_dunno2(self): del self.__field_dunno2 2186 2187 dunno2=property(__getfield_dunno2, __setfield_dunno2, __delfield_dunno2, None) 2188 2189 def __getfield_nfiles(self): 2190 return self.__field_nfiles.getvalue() 2191 2192 def __setfield_nfiles(self, value): 2193 if isinstance(value,UINT): 2194 self.__field_nfiles=value 2195 else: 2196 self.__field_nfiles=UINT(value,**{'sizeinbytes': 2}) 2197 2198 def __delfield_nfiles(self): del self.__field_nfiles 2199 2200 nfiles=property(__getfield_nfiles, __setfield_nfiles, __delfield_nfiles, None) 2201 2202 def __getfield_dunno3(self): 2203 return self.__field_dunno3.getvalue() 2204 2205 def __setfield_dunno3(self, value): 2206 if isinstance(value,DATA): 2207 self.__field_dunno3=value 2208 else: 2209 self.__field_dunno3=DATA(value,) 2210 2211 def __delfield_dunno3(self): del self.__field_dunno3 2212 2213 dunno3=property(__getfield_dunno3, __setfield_dunno3, __delfield_dunno3, None) 2214 2215 def iscontainer(self): 2216 return True 2217 2218 def containerelements(self): 2219 yield ('dunno0', self.__field_dunno0, None) 2220 yield ('info', self.__field_info, None) 2221 yield ('dunno1', self.__field_dunno1, None) 2222 yield ('strings', self.__field_strings, None) 2223 yield ('dunno2', self.__field_dunno2, None) 2224 yield ('nfiles', self.__field_nfiles, None) 2225 yield ('dunno3', self.__field_dunno3, None) 2226 2227 def getstring(self, ptr): 2228 # Return the 0-terminated string starting index ptr from field strings 2229 try: 2230 return self.strings[ptr:self.strings.index('\x00', ptr)] 2231 except ValueError: 2232 return '' 2233 def dir(self, idx): 2234 return self.getstring(self.info[idx].dir_ptr) 2235 def name(self, idx): 2236 return self.getstring(self.info[idx].name_ptr) 2237 def mimetype(self, idx): 2238 return self.getstring(self.info[idx].mimetype_ptr) 2239 def version(self, idx): 2240 return self.getstring(self.info[idx].version_ptr) 2241 def vendor(self, idx): 2242 return self.getstring(self.info[idx].vendor_ptr) 2243 def filename(self, idx): 2244 # return the file name of this item 2245 global exts 2246 return self.name(idx)+exts.get(self.mimetype(idx), '') 2247 def filepath(self, idx): 2248 # return the full pathname of this item 2249 return 'ams/'+self.dir(idx) 2250 def origin(self, idx): 2251 # return the origin based on the file type 2252 global origins 2253 return origins.get(self.info[idx].filetype, None) 2254 2255 2256 2257 2258 class _gen_p_samsungsphm300_197(BaseProtogenClass): 2259 'Anonymous inner class' 2260 __fields=['dir_ptr', 'num2', 'name_ptr', 'version_ptr', 'vendor_ptr', 'downloaddomain_ptr', 'num7', 'filetype', 'num8', 'mimetype_ptr', 'num12'] 2261 2262 def __init__(self, *args, **kwargs): 2263 dict={} 2264 # What was supplied to this function 2265 dict.update(kwargs) 2266 # Parent constructor 2267 super(_gen_p_samsungsphm300_197,self).__init__(**dict) 2268 if self.__class__ is _gen_p_samsungsphm300_197: 2269 self._update(args,dict) 2270 2271 2272 def getfields(self): 2273 return self.__fields 2274 2275 2276 def _update(self, args, kwargs): 2277 super(_gen_p_samsungsphm300_197,self)._update(args,kwargs) 2278 keys=kwargs.keys() 2279 for key in keys: 2280 if key in self.__fields: 2281 setattr(self, key, kwargs[key]) 2282 del kwargs[key] 2283 # Were any unrecognized kwargs passed in? 2284 if __debug__: 2285 self._complainaboutunusedargs(_gen_p_samsungsphm300_197,kwargs) 2286 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 2287 # Make all P fields that haven't already been constructed 2288 2289 2290 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2291 'Writes this packet to the supplied buffer' 2292 self._bufferstartoffset=buf.getcurrentoffset() 2293 self.__field_dir_ptr.writetobuffer(buf) 2294 self.__field_num2.writetobuffer(buf) 2295 self.__field_name_ptr.writetobuffer(buf) 2296 self.__field_version_ptr.writetobuffer(buf) 2297 self.__field_vendor_ptr.writetobuffer(buf) 2298 self.__field_downloaddomain_ptr.writetobuffer(buf) 2299 self.__field_num7.writetobuffer(buf) 2300 self.__field_filetype.writetobuffer(buf) 2301 self.__field_num8.writetobuffer(buf) 2302 self.__field_mimetype_ptr.writetobuffer(buf) 2303 self.__field_num12.writetobuffer(buf) 2304 self._bufferendoffset=buf.getcurrentoffset() 2305 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2306 2307 2308 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2309 'Reads this packet from the supplied buffer' 2310 self._bufferstartoffset=buf.getcurrentoffset() 2311 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2312 self.__field_dir_ptr=UINT(**{'sizeinbytes': 2}) 2313 self.__field_dir_ptr.readfrombuffer(buf) 2314 self.__field_num2=UINT(**{'sizeinbytes': 2}) 2315 self.__field_num2.readfrombuffer(buf) 2316 self.__field_name_ptr=UINT(**{'sizeinbytes': 2}) 2317 self.__field_name_ptr.readfrombuffer(buf) 2318 self.__field_version_ptr=UINT(**{'sizeinbytes': 2}) 2319 self.__field_version_ptr.readfrombuffer(buf) 2320 self.__field_vendor_ptr=UINT(**{'sizeinbytes': 2}) 2321 self.__field_vendor_ptr.readfrombuffer(buf) 2322 self.__field_downloaddomain_ptr=UINT(**{'sizeinbytes': 2}) 2323 self.__field_downloaddomain_ptr.readfrombuffer(buf) 2324 self.__field_num7=DATA(**{'sizeinbytes': 8}) 2325 self.__field_num7.readfrombuffer(buf) 2326 self.__field_filetype=UINT(**{'sizeinbytes': 2}) 2327 self.__field_filetype.readfrombuffer(buf) 2328 self.__field_num8=DATA(**{'sizeinbytes': 2}) 2329 self.__field_num8.readfrombuffer(buf) 2330 self.__field_mimetype_ptr=UINT(**{'sizeinbytes': 2}) 2331 self.__field_mimetype_ptr.readfrombuffer(buf) 2332 self.__field_num12=DATA(**{'sizeinbytes': 10}) 2333 self.__field_num12.readfrombuffer(buf) 2334 self._bufferendoffset=buf.getcurrentoffset() 2335 2336 2337 def __getfield_dir_ptr(self): 2338 return self.__field_dir_ptr.getvalue() 2339 2340 def __setfield_dir_ptr(self, value): 2341 if isinstance(value,UINT): 2342 self.__field_dir_ptr=value 2343 else: 2344 self.__field_dir_ptr=UINT(value,**{'sizeinbytes': 2}) 2345 2346 def __delfield_dir_ptr(self): del self.__field_dir_ptr 2347 2348 dir_ptr=property(__getfield_dir_ptr, __setfield_dir_ptr, __delfield_dir_ptr, None) 2349 2350 def __getfield_num2(self): 2351 return self.__field_num2.getvalue() 2352 2353 def __setfield_num2(self, value): 2354 if isinstance(value,UINT): 2355 self.__field_num2=value 2356 else: 2357 self.__field_num2=UINT(value,**{'sizeinbytes': 2}) 2358 2359 def __delfield_num2(self): del self.__field_num2 2360 2361 num2=property(__getfield_num2, __setfield_num2, __delfield_num2, None) 2362 2363 def __getfield_name_ptr(self): 2364 return self.__field_name_ptr.getvalue() 2365 2366 def __setfield_name_ptr(self, value): 2367 if isinstance(value,UINT): 2368 self.__field_name_ptr=value 2369 else: 2370 self.__field_name_ptr=UINT(value,**{'sizeinbytes': 2}) 2371 2372 def __delfield_name_ptr(self): del self.__field_name_ptr 2373 2374 name_ptr=property(__getfield_name_ptr, __setfield_name_ptr, __delfield_name_ptr, None) 2375 2376 def __getfield_version_ptr(self): 2377 return self.__field_version_ptr.getvalue() 2378 2379 def __setfield_version_ptr(self, value): 2380 if isinstance(value,UINT): 2381 self.__field_version_ptr=value 2382 else: 2383 self.__field_version_ptr=UINT(value,**{'sizeinbytes': 2}) 2384 2385 def __delfield_version_ptr(self): del self.__field_version_ptr 2386 2387 version_ptr=property(__getfield_version_ptr, __setfield_version_ptr, __delfield_version_ptr, None) 2388 2389 def __getfield_vendor_ptr(self): 2390 return self.__field_vendor_ptr.getvalue() 2391 2392 def __setfield_vendor_ptr(self, value): 2393 if isinstance(value,UINT): 2394 self.__field_vendor_ptr=value 2395 else: 2396 self.__field_vendor_ptr=UINT(value,**{'sizeinbytes': 2}) 2397 2398 def __delfield_vendor_ptr(self): del self.__field_vendor_ptr 2399 2400 vendor_ptr=property(__getfield_vendor_ptr, __setfield_vendor_ptr, __delfield_vendor_ptr, None) 2401 2402 def __getfield_downloaddomain_ptr(self): 2403 return self.__field_downloaddomain_ptr.getvalue() 2404 2405 def __setfield_downloaddomain_ptr(self, value): 2406 if isinstance(value,UINT): 2407 self.__field_downloaddomain_ptr=value 2408 else: 2409 self.__field_downloaddomain_ptr=UINT(value,**{'sizeinbytes': 2}) 2410 2411 def __delfield_downloaddomain_ptr(self): del self.__field_downloaddomain_ptr 2412 2413 downloaddomain_ptr=property(__getfield_downloaddomain_ptr, __setfield_downloaddomain_ptr, __delfield_downloaddomain_ptr, None) 2414 2415 def __getfield_num7(self): 2416 return self.__field_num7.getvalue() 2417 2418 def __setfield_num7(self, value): 2419 if isinstance(value,DATA): 2420 self.__field_num7=value 2421 else: 2422 self.__field_num7=DATA(value,**{'sizeinbytes': 8}) 2423 2424 def __delfield_num7(self): del self.__field_num7 2425 2426 num7=property(__getfield_num7, __setfield_num7, __delfield_num7, None) 2427 2428 def __getfield_filetype(self): 2429 return self.__field_filetype.getvalue() 2430 2431 def __setfield_filetype(self, value): 2432 if isinstance(value,UINT): 2433 self.__field_filetype=value 2434 else: 2435 self.__field_filetype=UINT(value,**{'sizeinbytes': 2}) 2436 2437 def __delfield_filetype(self): del self.__field_filetype 2438 2439 filetype=property(__getfield_filetype, __setfield_filetype, __delfield_filetype, "12: Ringer, 13 Screen Saver, 15 Apps") 2440 2441 def __getfield_num8(self): 2442 return self.__field_num8.getvalue() 2443 2444 def __setfield_num8(self, value): 2445 if isinstance(value,DATA): 2446 self.__field_num8=value 2447 else: 2448 self.__field_num8=DATA(value,**{'sizeinbytes': 2}) 2449 2450 def __delfield_num8(self): del self.__field_num8 2451 2452 num8=property(__getfield_num8, __setfield_num8, __delfield_num8, None) 2453 2454 def __getfield_mimetype_ptr(self): 2455 return self.__field_mimetype_ptr.getvalue() 2456 2457 def __setfield_mimetype_ptr(self, value): 2458 if isinstance(value,UINT): 2459 self.__field_mimetype_ptr=value 2460 else: 2461 self.__field_mimetype_ptr=UINT(value,**{'sizeinbytes': 2}) 2462 2463 def __delfield_mimetype_ptr(self): del self.__field_mimetype_ptr 2464 2465 mimetype_ptr=property(__getfield_mimetype_ptr, __setfield_mimetype_ptr, __delfield_mimetype_ptr, None) 2466 2467 def __getfield_num12(self): 2468 return self.__field_num12.getvalue() 2469 2470 def __setfield_num12(self, value): 2471 if isinstance(value,DATA): 2472 self.__field_num12=value 2473 else: 2474 self.__field_num12=DATA(value,**{'sizeinbytes': 10}) 2475 2476 def __delfield_num12(self): del self.__field_num12 2477 2478 num12=property(__getfield_num12, __setfield_num12, __delfield_num12, None) 2479 2480 def iscontainer(self): 2481 return True 2482 2483 def containerelements(self): 2484 yield ('dir_ptr', self.__field_dir_ptr, None) 2485 yield ('num2', self.__field_num2, None) 2486 yield ('name_ptr', self.__field_name_ptr, None) 2487 yield ('version_ptr', self.__field_version_ptr, None) 2488 yield ('vendor_ptr', self.__field_vendor_ptr, None) 2489 yield ('downloaddomain_ptr', self.__field_downloaddomain_ptr, None) 2490 yield ('num7', self.__field_num7, None) 2491 yield ('filetype', self.__field_filetype, "12: Ringer, 13 Screen Saver, 15 Apps") 2492 yield ('num8', self.__field_num8, None) 2493 yield ('mimetype_ptr', self.__field_mimetype_ptr, None) 2494 yield ('num12', self.__field_num12, None) 2495 2496 2497 2498 2499 class CamFile(BaseProtogenClass): 2500 __fields=['dunno0', 'dunno1', 'caption', 'dunno2', 'dunno3', 'datetime', 'dunno4', 'pad', 'jpeg'] 2501 2502 def __init__(self, *args, **kwargs): 2503 dict={} 2504 # What was supplied to this function 2505 dict.update(kwargs) 2506 # Parent constructor 2507 super(CamFile,self).__init__(**dict) 2508 if self.__class__ is CamFile: 2509 self._update(args,dict) 2510 2511 2512 def getfields(self): 2513 return self.__fields 2514 2515 2516 def _update(self, args, kwargs): 2517 super(CamFile,self)._update(args,kwargs) 2518 keys=kwargs.keys() 2519 for key in keys: 2520 if key in self.__fields: 2521 setattr(self, key, kwargs[key]) 2522 del kwargs[key] 2523 # Were any unrecognized kwargs passed in? 2524 if __debug__: 2525 self._complainaboutunusedargs(CamFile,kwargs) 2526 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 2527 # Make all P fields that haven't already been constructed 2528 2529 2530 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2531 'Writes this packet to the supplied buffer' 2532 self._bufferstartoffset=buf.getcurrentoffset() 2533 self.__field_dunno0.writetobuffer(buf) 2534 self.__field_dunno1.writetobuffer(buf) 2535 self.__field_caption.writetobuffer(buf) 2536 self.__field_dunno2.writetobuffer(buf) 2537 self.__field_dunno3.writetobuffer(buf) 2538 self.__field_datetime.writetobuffer(buf) 2539 self.__field_dunno4.writetobuffer(buf) 2540 self.__field_pad.writetobuffer(buf) 2541 self.__field_jpeg.writetobuffer(buf) 2542 self._bufferendoffset=buf.getcurrentoffset() 2543 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2544 2545 2546 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2547 'Reads this packet from the supplied buffer' 2548 self._bufferstartoffset=buf.getcurrentoffset() 2549 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2550 self.__field_dunno0=UINT(**{'sizeinbytes': 4}) 2551 self.__field_dunno0.readfrombuffer(buf) 2552 self.__field_dunno1=UINT(**{'sizeinbytes': 1}) 2553 self.__field_dunno1.readfrombuffer(buf) 2554 self.__field_caption=USTRING(**{'sizeinbytes': 16, 'pascal': True, 'terminator': None}) 2555 self.__field_caption.readfrombuffer(buf) 2556 self.__field_dunno2=UINT(**{'sizeinbytes': 1}) 2557 self.__field_dunno2.readfrombuffer(buf) 2558 self.__field_dunno3=DATA(**{'sizeinbytes': 2}) 2559 self.__field_dunno3.readfrombuffer(buf) 2560 self.__field_datetime=DateTime(**{'sizeinbytes': 4}) 2561 self.__field_datetime.readfrombuffer(buf) 2562 self.__field_dunno4=UINT(**{'sizeinbytes': 1}) 2563 self.__field_dunno4.readfrombuffer(buf) 2564 self.__field_pad=DATA(**{'sizeinbytes': 99}) 2565 self.__field_pad.readfrombuffer(buf) 2566 self.__field_jpeg=DATA() 2567 self.__field_jpeg.readfrombuffer(buf) 2568 self._bufferendoffset=buf.getcurrentoffset() 2569 2570 2571 def __getfield_dunno0(self): 2572 return self.__field_dunno0.getvalue() 2573 2574 def __setfield_dunno0(self, value): 2575 if isinstance(value,UINT): 2576 self.__field_dunno0=value 2577 else: 2578 self.__field_dunno0=UINT(value,**{'sizeinbytes': 4}) 2579 2580 def __delfield_dunno0(self): del self.__field_dunno0 2581 2582 dunno0=property(__getfield_dunno0, __setfield_dunno0, __delfield_dunno0, None) 2583 2584 def __getfield_dunno1(self): 2585 return self.__field_dunno1.getvalue() 2586 2587 def __setfield_dunno1(self, value): 2588 if isinstance(value,UINT): 2589 self.__field_dunno1=value 2590 else: 2591 self.__field_dunno1=UINT(value,**{'sizeinbytes': 1}) 2592 2593 def __delfield_dunno1(self): del self.__field_dunno1 2594 2595 dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None) 2596 2597 def __getfield_caption(self): 2598 return self.__field_caption.getvalue() 2599 2600 def __setfield_caption(self, value): 2601 if isinstance(value,USTRING): 2602 self.__field_caption=value 2603 else: 2604 self.__field_caption=USTRING(value,**{'sizeinbytes': 16, 'pascal': True, 'terminator': None}) 2605 2606 def __delfield_caption(self): del self.__field_caption 2607 2608 caption=property(__getfield_caption, __setfield_caption, __delfield_caption, None) 2609 2610 def __getfield_dunno2(self): 2611 return self.__field_dunno2.getvalue() 2612 2613 def __setfield_dunno2(self, value): 2614 if isinstance(value,UINT): 2615 self.__field_dunno2=value 2616 else: 2617 self.__field_dunno2=UINT(value,**{'sizeinbytes': 1}) 2618 2619 def __delfield_dunno2(self): del self.__field_dunno2 2620 2621 dunno2=property(__getfield_dunno2, __setfield_dunno2, __delfield_dunno2, None) 2622 2623 def __getfield_dunno3(self): 2624 return self.__field_dunno3.getvalue() 2625 2626 def __setfield_dunno3(self, value): 2627 if isinstance(value,DATA): 2628 self.__field_dunno3=value 2629 else: 2630 self.__field_dunno3=DATA(value,**{'sizeinbytes': 2}) 2631 2632 def __delfield_dunno3(self): del self.__field_dunno3 2633 2634 dunno3=property(__getfield_dunno3, __setfield_dunno3, __delfield_dunno3, None) 2635 2636 def __getfield_datetime(self): 2637 return self.__field_datetime.getvalue() 2638 2639 def __setfield_datetime(self, value): 2640 if isinstance(value,DateTime): 2641 self.__field_datetime=value 2642 else: 2643 self.__field_datetime=DateTime(value,**{'sizeinbytes': 4}) 2644 2645 def __delfield_datetime(self): del self.__field_datetime 2646 2647 datetime=property(__getfield_datetime, __setfield_datetime, __delfield_datetime, None) 2648 2649 def __getfield_dunno4(self): 2650 return self.__field_dunno4.getvalue() 2651 2652 def __setfield_dunno4(self, value): 2653 if isinstance(value,UINT): 2654 self.__field_dunno4=value 2655 else: 2656 self.__field_dunno4=UINT(value,**{'sizeinbytes': 1}) 2657 2658 def __delfield_dunno4(self): del self.__field_dunno4 2659 2660 dunno4=property(__getfield_dunno4, __setfield_dunno4, __delfield_dunno4, None) 2661 2662 def __getfield_pad(self): 2663 return self.__field_pad.getvalue() 2664 2665 def __setfield_pad(self, value): 2666 if isinstance(value,DATA): 2667 self.__field_pad=value 2668 else: 2669 self.__field_pad=DATA(value,**{'sizeinbytes': 99}) 2670 2671 def __delfield_pad(self): del self.__field_pad 2672 2673 pad=property(__getfield_pad, __setfield_pad, __delfield_pad, None) 2674 2675 def __getfield_jpeg(self): 2676 return self.__field_jpeg.getvalue() 2677 2678 def __setfield_jpeg(self, value): 2679 if isinstance(value,DATA): 2680 self.__field_jpeg=value 2681 else: 2682 self.__field_jpeg=DATA(value,) 2683 2684 def __delfield_jpeg(self): del self.__field_jpeg 2685 2686 jpeg=property(__getfield_jpeg, __setfield_jpeg, __delfield_jpeg, None) 2687 2688 def iscontainer(self): 2689 return True 2690 2691 def containerelements(self): 2692 yield ('dunno0', self.__field_dunno0, None) 2693 yield ('dunno1', self.__field_dunno1, None) 2694 yield ('caption', self.__field_caption, None) 2695 yield ('dunno2', self.__field_dunno2, None) 2696 yield ('dunno3', self.__field_dunno3, None) 2697 yield ('datetime', self.__field_datetime, None) 2698 yield ('dunno4', self.__field_dunno4, None) 2699 yield ('pad', self.__field_pad, None) 2700 yield ('jpeg', self.__field_jpeg, None) 2701 2702 def _filename(self): 2703 return '%(year)04d%(month)02d%(day)02d_%(name)s.jpg'%\ 2704 { 'year': self.datetime[0], 2705 'month': self.datetime[1], 2706 'day': self.datetime[2], 2707 'name': self.caption, 2708 } 2709 filename=property(fget=_filename) 2710 def save(self, filename=None): 2711 # save the jpeg data to a file 2712 return file(filename if filename else self.filename, 'wb').write(self.jpeg) 2713 2714 2715 2716 2717 class IndexSlot(BaseProtogenClass): 2718 __fields=['valid', 'group', 'index'] 2719 2720 def __init__(self, *args, **kwargs): 2721 dict={} 2722 # What was supplied to this function 2723 dict.update(kwargs) 2724 # Parent constructor 2725 super(IndexSlot,self).__init__(**dict) 2726 if self.__class__ is IndexSlot: 2727 self._update(args,dict) 2728 2729 2730 def getfields(self): 2731 return self.__fields 2732 2733 2734 def _update(self, args, kwargs): 2735 super(IndexSlot,self)._update(args,kwargs) 2736 keys=kwargs.keys() 2737 for key in keys: 2738 if key in self.__fields: 2739 setattr(self, key, kwargs[key]) 2740 del kwargs[key] 2741 # Were any unrecognized kwargs passed in? 2742 if __debug__: 2743 self._complainaboutunusedargs(IndexSlot,kwargs) 2744 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 2745 # Make all P fields that haven't already been constructed 2746 2747 2748 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2749 'Writes this packet to the supplied buffer' 2750 self._bufferstartoffset=buf.getcurrentoffset() 2751 try: self.__field_valid 2752 except: 2753 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2754 self.__field_valid.writetobuffer(buf) 2755 try: self.__field_group 2756 except: 2757 self.__field_group=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2758 self.__field_group.writetobuffer(buf) 2759 try: self.__field_index 2760 except: 2761 self.__field_index=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2762 self.__field_index.writetobuffer(buf) 2763 self._bufferendoffset=buf.getcurrentoffset() 2764 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2765 2766 2767 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2768 'Reads this packet from the supplied buffer' 2769 self._bufferstartoffset=buf.getcurrentoffset() 2770 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2771 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2772 self.__field_valid.readfrombuffer(buf) 2773 self.__field_group=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2774 self.__field_group.readfrombuffer(buf) 2775 self.__field_index=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2776 self.__field_index.readfrombuffer(buf) 2777 self._bufferendoffset=buf.getcurrentoffset() 2778 2779 2780 def __getfield_valid(self): 2781 try: self.__field_valid 2782 except: 2783 self.__field_valid=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2784 return self.__field_valid.getvalue() 2785 2786 def __setfield_valid(self, value): 2787 if isinstance(value,UINT): 2788 self.__field_valid=value 2789 else: 2790 self.__field_valid=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 2791 2792 def __delfield_valid(self): del self.__field_valid 2793 2794 valid=property(__getfield_valid, __setfield_valid, __delfield_valid, "=1 if valid slot") 2795 2796 def __getfield_group(self): 2797 try: self.__field_group 2798 except: 2799 self.__field_group=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2800 return self.__field_group.getvalue() 2801 2802 def __setfield_group(self, value): 2803 if isinstance(value,UINT): 2804 self.__field_group=value 2805 else: 2806 self.__field_group=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 2807 2808 def __delfield_group(self): del self.__field_group 2809 2810 group=property(__getfield_group, __setfield_group, __delfield_group, "Group Index") 2811 2812 def __getfield_index(self): 2813 try: self.__field_index 2814 except: 2815 self.__field_index=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2816 return self.__field_index.getvalue() 2817 2818 def __setfield_index(self, value): 2819 if isinstance(value,UINT): 2820 self.__field_index=value 2821 else: 2822 self.__field_index=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 2823 2824 def __delfield_index(self): del self.__field_index 2825 2826 index=property(__getfield_index, __setfield_index, __delfield_index, "Media Index") 2827 2828 def iscontainer(self): 2829 return True 2830 2831 def containerelements(self): 2832 yield ('valid', self.__field_valid, "=1 if valid slot") 2833 yield ('group', self.__field_group, "Group Index") 2834 yield ('index', self.__field_index, "Media Index") 2835 2836 2837 2838 2839 class IndexFile(BaseProtogenClass): 2840 __fields=['entry'] 2841 2842 def __init__(self, *args, **kwargs): 2843 dict={} 2844 # What was supplied to this function 2845 dict.update(kwargs) 2846 # Parent constructor 2847 super(IndexFile,self).__init__(**dict) 2848 if self.__class__ is IndexFile: 2849 self._update(args,dict) 2850 2851 2852 def getfields(self): 2853 return self.__fields 2854 2855 2856 def _update(self, args, kwargs): 2857 super(IndexFile,self)._update(args,kwargs) 2858 keys=kwargs.keys() 2859 for key in keys: 2860 if key in self.__fields: 2861 setattr(self, key, kwargs[key]) 2862 del kwargs[key] 2863 # Were any unrecognized kwargs passed in? 2864 if __debug__: 2865 self._complainaboutunusedargs(IndexFile,kwargs) 2866 if len(args): 2867 dict2={ 'elementclass': IndexSlot, 'length': max_media_index_entries, 'createdefault': True } 2868 dict2.update(kwargs) 2869 kwargs=dict2 2870 self.__field_entry=LIST(*args,**dict2) 2871 # Make all P fields that haven't already been constructed 2872 2873 2874 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2875 'Writes this packet to the supplied buffer' 2876 self._bufferstartoffset=buf.getcurrentoffset() 2877 try: self.__field_entry 2878 except: 2879 self.__field_entry=LIST(**{ 'elementclass': IndexSlot, 'length': max_media_index_entries, 'createdefault': True }) 2880 self.__field_entry.writetobuffer(buf) 2881 self._bufferendoffset=buf.getcurrentoffset() 2882 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2883 2884 2885 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2886 'Reads this packet from the supplied buffer' 2887 self._bufferstartoffset=buf.getcurrentoffset() 2888 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2889 self.__field_entry=LIST(**{ 'elementclass': IndexSlot, 'length': max_media_index_entries, 'createdefault': True }) 2890 self.__field_entry.readfrombuffer(buf) 2891 self._bufferendoffset=buf.getcurrentoffset() 2892 2893 2894 def __getfield_entry(self): 2895 try: self.__field_entry 2896 except: 2897 self.__field_entry=LIST(**{ 'elementclass': IndexSlot, 'length': max_media_index_entries, 'createdefault': True }) 2898 return self.__field_entry.getvalue() 2899 2900 def __setfield_entry(self, value): 2901 if isinstance(value,LIST): 2902 self.__field_entry=value 2903 else: 2904 self.__field_entry=LIST(value,**{ 'elementclass': IndexSlot, 'length': max_media_index_entries, 'createdefault': True }) 2905 2906 def __delfield_entry(self): del self.__field_entry 2907 2908 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 2909 2910 def iscontainer(self): 2911 return True 2912 2913 def containerelements(self): 2914 yield ('entry', self.__field_entry, None) 2915 2916 2917 2918 2919 class Group(BaseProtogenClass): 2920 __fields=['num0', 'num1', 'namelen', 'namestr', 'num5', 'dunno', 'nume3', 'datetime', 'num4'] 2921 2922 def __init__(self, *args, **kwargs): 2923 dict={} 2924 # What was supplied to this function 2925 dict.update(kwargs) 2926 # Parent constructor 2927 super(Group,self).__init__(**dict) 2928 if self.__class__ is Group: 2929 self._update(args,dict) 2930 2931 2932 def getfields(self): 2933 return self.__fields 2934 2935 2936 def _update(self, args, kwargs): 2937 super(Group,self)._update(args,kwargs) 2938 keys=kwargs.keys() 2939 for key in keys: 2940 if key in self.__fields: 2941 setattr(self, key, kwargs[key]) 2942 del kwargs[key] 2943 # Were any unrecognized kwargs passed in? 2944 if __debug__: 2945 self._complainaboutunusedargs(Group,kwargs) 2946 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 2947 # Make all P fields that haven't already been constructed 2948 2949 2950 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 2951 'Writes this packet to the supplied buffer' 2952 self._bufferstartoffset=buf.getcurrentoffset() 2953 try: self.__field_num0 2954 except: 2955 self.__field_num0=UINT(**{'sizeinbytes': 1, 'default': 0 }) 2956 self.__field_num0.writetobuffer(buf) 2957 try: self.__field_num1 2958 except: 2959 self.__field_num1=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 2960 self.__field_num1.writetobuffer(buf) 2961 try: self.__field_namelen 2962 except: 2963 self.__field_namelen=UINT(**{'sizeinbytes': 2, 'default': 0 }) 2964 self.__field_namelen.writetobuffer(buf) 2965 try: self.__field_namestr 2966 except: 2967 self.__field_namestr=USTRING(**{'sizeinbytes': 12, 'terminator': None, 'default': '' }) 2968 self.__field_namestr.writetobuffer(buf) 2969 try: self.__field_num5 2970 except: 2971 self.__field_num5=UINT(**{'sizeinbytes': 1, 'default': 0x30 if self.num0 else 0 }) 2972 self.__field_num5.writetobuffer(buf) 2973 try: self.__field_dunno 2974 except: 2975 self.__field_dunno=DATA(**{'sizeinbytes': 8, 'default': '\x00'*8 }) 2976 self.__field_dunno.writetobuffer(buf) 2977 try: self.__field_nume3 2978 except: 2979 self.__field_nume3=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 2980 self.__field_nume3.writetobuffer(buf) 2981 if self.num0: 2982 try: self.__field_datetime 2983 except: 2984 self.__field_datetime=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 2985 self.__field_datetime.writetobuffer(buf) 2986 else: 2987 try: self.__field_num4 2988 except: 2989 self.__field_num4=UINT(**{'sizeinbytes': 4, 'default': 0 }) 2990 self.__field_num4.writetobuffer(buf) 2991 self._bufferendoffset=buf.getcurrentoffset() 2992 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 2993 2994 2995 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 2996 'Reads this packet from the supplied buffer' 2997 self._bufferstartoffset=buf.getcurrentoffset() 2998 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 2999 self.__field_num0=UINT(**{'sizeinbytes': 1, 'default': 0 }) 3000 self.__field_num0.readfrombuffer(buf) 3001 self.__field_num1=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3002 self.__field_num1.readfrombuffer(buf) 3003 self.__field_namelen=UINT(**{'sizeinbytes': 2, 'default': 0 }) 3004 self.__field_namelen.readfrombuffer(buf) 3005 self.__field_namestr=USTRING(**{'sizeinbytes': 12, 'terminator': None, 'default': '' }) 3006 self.__field_namestr.readfrombuffer(buf) 3007 self.__field_num5=UINT(**{'sizeinbytes': 1, 'default': 0x30 if self.num0 else 0 }) 3008 self.__field_num5.readfrombuffer(buf) 3009 self.__field_dunno=DATA(**{'sizeinbytes': 8, 'default': '\x00'*8 }) 3010 self.__field_dunno.readfrombuffer(buf) 3011 self.__field_nume3=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3012 self.__field_nume3.readfrombuffer(buf) 3013 if self.num0: 3014 self.__field_datetime=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 3015 self.__field_datetime.readfrombuffer(buf) 3016 else: 3017 self.__field_num4=UINT(**{'sizeinbytes': 4, 'default': 0 }) 3018 self.__field_num4.readfrombuffer(buf) 3019 self._bufferendoffset=buf.getcurrentoffset() 3020 3021 3022 def __getfield_num0(self): 3023 try: self.__field_num0 3024 except: 3025 self.__field_num0=UINT(**{'sizeinbytes': 1, 'default': 0 }) 3026 return self.__field_num0.getvalue() 3027 3028 def __setfield_num0(self, value): 3029 if isinstance(value,UINT): 3030 self.__field_num0=value 3031 else: 3032 self.__field_num0=UINT(value,**{'sizeinbytes': 1, 'default': 0 }) 3033 3034 def __delfield_num0(self): del self.__field_num0 3035 3036 num0=property(__getfield_num0, __setfield_num0, __delfield_num0, None) 3037 3038 def __getfield_num1(self): 3039 try: self.__field_num1 3040 except: 3041 self.__field_num1=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3042 return self.__field_num1.getvalue() 3043 3044 def __setfield_num1(self, value): 3045 if isinstance(value,UINT): 3046 self.__field_num1=value 3047 else: 3048 self.__field_num1=UINT(value,**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3049 3050 def __delfield_num1(self): del self.__field_num1 3051 3052 num1=property(__getfield_num1, __setfield_num1, __delfield_num1, None) 3053 3054 def __getfield_namelen(self): 3055 try: self.__field_namelen 3056 except: 3057 self.__field_namelen=UINT(**{'sizeinbytes': 2, 'default': 0 }) 3058 return self.__field_namelen.getvalue() 3059 3060 def __setfield_namelen(self, value): 3061 if isinstance(value,UINT): 3062 self.__field_namelen=value 3063 else: 3064 self.__field_namelen=UINT(value,**{'sizeinbytes': 2, 'default': 0 }) 3065 3066 def __delfield_namelen(self): del self.__field_namelen 3067 3068 namelen=property(__getfield_namelen, __setfield_namelen, __delfield_namelen, None) 3069 3070 def __getfield_namestr(self): 3071 try: self.__field_namestr 3072 except: 3073 self.__field_namestr=USTRING(**{'sizeinbytes': 12, 'terminator': None, 'default': '' }) 3074 return self.__field_namestr.getvalue() 3075 3076 def __setfield_namestr(self, value): 3077 if isinstance(value,USTRING): 3078 self.__field_namestr=value 3079 else: 3080 self.__field_namestr=USTRING(value,**{'sizeinbytes': 12, 'terminator': None, 'default': '' }) 3081 3082 def __delfield_namestr(self): del self.__field_namestr 3083 3084 namestr=property(__getfield_namestr, __setfield_namestr, __delfield_namestr, None) 3085 3086 def __getfield_num5(self): 3087 try: self.__field_num5 3088 except: 3089 self.__field_num5=UINT(**{'sizeinbytes': 1, 'default': 0x30 if self.num0 else 0 }) 3090 return self.__field_num5.getvalue() 3091 3092 def __setfield_num5(self, value): 3093 if isinstance(value,UINT): 3094 self.__field_num5=value 3095 else: 3096 self.__field_num5=UINT(value,**{'sizeinbytes': 1, 'default': 0x30 if self.num0 else 0 }) 3097 3098 def __delfield_num5(self): del self.__field_num5 3099 3100 num5=property(__getfield_num5, __setfield_num5, __delfield_num5, None) 3101 3102 def __getfield_dunno(self): 3103 try: self.__field_dunno 3104 except: 3105 self.__field_dunno=DATA(**{'sizeinbytes': 8, 'default': '\x00'*8 }) 3106 return self.__field_dunno.getvalue() 3107 3108 def __setfield_dunno(self, value): 3109 if isinstance(value,DATA): 3110 self.__field_dunno=value 3111 else: 3112 self.__field_dunno=DATA(value,**{'sizeinbytes': 8, 'default': '\x00'*8 }) 3113 3114 def __delfield_dunno(self): del self.__field_dunno 3115 3116 dunno=property(__getfield_dunno, __setfield_dunno, __delfield_dunno, None) 3117 3118 def __getfield_nume3(self): 3119 try: self.__field_nume3 3120 except: 3121 self.__field_nume3=UINT(**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3122 return self.__field_nume3.getvalue() 3123 3124 def __setfield_nume3(self, value): 3125 if isinstance(value,UINT): 3126 self.__field_nume3=value 3127 else: 3128 self.__field_nume3=UINT(value,**{'sizeinbytes': 1, 'default': 1 if self.num0 else 0 }) 3129 3130 def __delfield_nume3(self): del self.__field_nume3 3131 3132 nume3=property(__getfield_nume3, __setfield_nume3, __delfield_nume3, None) 3133 3134 def __getfield_datetime(self): 3135 try: self.__field_datetime 3136 except: 3137 self.__field_datetime=DateTime(**{'sizeinbytes': 4, 'default': DateTime.now() }) 3138 return self.__field_datetime.getvalue() 3139 3140 def __setfield_datetime(self, value): 3141 if isinstance(value,DateTime): 3142 self.__field_datetime=value 3143 else: 3144 self.__field_datetime=DateTime(value,**{'sizeinbytes': 4, 'default': DateTime.now() }) 3145 3146 def __delfield_datetime(self): del self.__field_datetime 3147 3148 datetime=property(__getfield_datetime, __setfield_datetime, __delfield_datetime, None) 3149 3150 def __getfield_num4(self): 3151 try: self.__field_num4 3152 except: 3153 self.__field_num4=UINT(**{'sizeinbytes': 4, 'default': 0 }) 3154 return self.__field_num4.getvalue() 3155 3156 def __setfield_num4(self, value): 3157 if isinstance(value,UINT): 3158 self.__field_num4=value 3159 else: 3160 self.__field_num4=UINT(value,**{'sizeinbytes': 4, 'default': 0 }) 3161 3162 def __delfield_num4(self): del self.__field_num4 3163 3164 num4=property(__getfield_num4, __setfield_num4, __delfield_num4, None) 3165 3166 def iscontainer(self): 3167 return True 3168 3169 def containerelements(self): 3170 yield ('num0', self.__field_num0, None) 3171 yield ('num1', self.__field_num1, None) 3172 yield ('namelen', self.__field_namelen, None) 3173 yield ('namestr', self.__field_namestr, None) 3174 yield ('num5', self.__field_num5, None) 3175 yield ('dunno', self.__field_dunno, None) 3176 yield ('nume3', self.__field_nume3, None) 3177 if self.num0: 3178 yield ('datetime', self.__field_datetime, None) 3179 else: 3180 yield ('num4', self.__field_num4, None) 3181 3182 def _get_name(self): 3183 return self.namestr[:self.namelen] if self.namelen else "" 3184 name=property(fget=_get_name) 3185 3186 3187 3188 3189 class GroupFile(BaseProtogenClass): 3190 __fields=['entry'] 3191 3192 def __init__(self, *args, **kwargs): 3193 dict={} 3194 # What was supplied to this function 3195 dict.update(kwargs) 3196 # Parent constructor 3197 super(GroupFile,self).__init__(**dict) 3198 if self.__class__ is GroupFile: 3199 self._update(args,dict) 3200 3201 3202 def getfields(self): 3203 return self.__fields 3204 3205 3206 def _update(self, args, kwargs): 3207 super(GroupFile,self)._update(args,kwargs) 3208 keys=kwargs.keys() 3209 for key in keys: 3210 if key in self.__fields: 3211 setattr(self, key, kwargs[key]) 3212 del kwargs[key] 3213 # Were any unrecognized kwargs passed in? 3214 if __debug__: 3215 self._complainaboutunusedargs(GroupFile,kwargs) 3216 if len(args): 3217 dict2={ 'elementclass': Group, 'length': max_group_entries, 'createdefault': True } 3218 dict2.update(kwargs) 3219 kwargs=dict2 3220 self.__field_entry=LIST(*args,**dict2) 3221 # Make all P fields that haven't already been constructed 3222 3223 3224 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 3225 'Writes this packet to the supplied buffer' 3226 self._bufferstartoffset=buf.getcurrentoffset() 3227 try: self.__field_entry 3228 except: 3229 self.__field_entry=LIST(**{ 'elementclass': Group, 'length': max_group_entries, 'createdefault': True }) 3230 self.__field_entry.writetobuffer(buf) 3231 self._bufferendoffset=buf.getcurrentoffset() 3232 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 3233 3234 3235 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 3236 'Reads this packet from the supplied buffer' 3237 self._bufferstartoffset=buf.getcurrentoffset() 3238 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 3239 self.__field_entry=LIST(**{ 'elementclass': Group, 'length': max_group_entries, 'createdefault': True }) 3240 self.__field_entry.readfrombuffer(buf) 3241 self._bufferendoffset=buf.getcurrentoffset() 3242 3243 3244 def __getfield_entry(self): 3245 try: self.__field_entry 3246 except: 3247 self.__field_entry=LIST(**{ 'elementclass': Group, 'length': max_group_entries, 'createdefault': True }) 3248 return self.__field_entry.getvalue() 3249 3250 def __setfield_entry(self, value): 3251 if isinstance(value,LIST): 3252 self.__field_entry=value 3253 else: 3254 self.__field_entry=LIST(value,**{ 'elementclass': Group, 'length': max_group_entries, 'createdefault': True }) 3255 3256 def __delfield_entry(self): del self.__field_entry 3257 3258 entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 3259 3260 def iscontainer(self): 3261 return True 3262 3263 def containerelements(self): 3264 yield ('entry', self.__field_entry, None) 3265 3266 3267 3268 3269
Generated by PyXR 0.9.4