0001
0003 """Various descriptions of data used in Brew Protocol"""
0004
0005 from prototypes import *
0006
0007 UINT=UINTlsb
0009 BOOL=BOOLlsb
0010
0011 new_fileopen_mode_read=0
0012 new_fileopen_mode_write=0x41
0013 new_fileopen_flag_existing=0
0014 new_fileopen_flag_create=1
0015
0016 import com_brew
0017
0018 DEFAULT_PHONE_ENCODING='ascii'
0019 PHONE_ENCODING=DEFAULT_PHONE_ENCODING
0020
0021 BREW_READ_SIZE=0xEB
0027
0028 BREW_WRITE_SIZE=0xEA
0032
0033 class requestheader(BaseProtogenClass):
0034 "The bit in front on all Brew request packets"
0035 __fields=['commandmode', 'command']
0036
0037 def __init__(self, *args, **kwargs):
0038 dict={}
0039 dict.update(kwargs)
0041 super(requestheader,self).__init__(**dict)
0043 if self.__class__ is requestheader:
0044 self._update(args,dict)
0045
0046
0047 def getfields(self):
0048 return self.__fields
0049
0050
0051 def _update(self, args, kwargs):
0052 super(requestheader,self)._update(args,kwargs)
0053 keys=kwargs.keys()
0054 for key in keys:
0055 if key in self.__fields:
0056 setattr(self, key, kwargs[key])
0057 del kwargs[key]
0058 if __debug__:
0060 self._complainaboutunusedargs(requestheader,kwargs)
0061 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0062
0064
0065 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0066 'Writes this packet to the supplied buffer'
0067 self._bufferstartoffset=buf.getcurrentoffset()
0068 try: self.__field_commandmode
0069 except:
0070 self.__field_commandmode=UINT(**{'sizeinbytes': 1, 'constant': 0x59})
0071 self.__field_commandmode.writetobuffer(buf)
0072 self.__field_command.writetobuffer(buf)
0073 self._bufferendoffset=buf.getcurrentoffset()
0074 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0075
0076
0077 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0078 'Reads this packet from the supplied buffer'
0079 self._bufferstartoffset=buf.getcurrentoffset()
0080 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0081 self.__field_commandmode=UINT(**{'sizeinbytes': 1, 'constant': 0x59})
0082 self.__field_commandmode.readfrombuffer(buf)
0083 self.__field_command=UINT(**{'sizeinbytes': 1})
0084 self.__field_command.readfrombuffer(buf)
0085 self._bufferendoffset=buf.getcurrentoffset()
0086
0087
0088 def __getfield_commandmode(self):
0089 try: self.__field_commandmode
0090 except:
0091 self.__field_commandmode=UINT(**{'sizeinbytes': 1, 'constant': 0x59})
0092 return self.__field_commandmode.getvalue()
0093
0094 def __setfield_commandmode(self, value):
0095 if isinstance(value,UINT):
0096 self.__field_commandmode=value
0097 else:
0098 self.__field_commandmode=UINT(value,**{'sizeinbytes': 1, 'constant': 0x59})
0099
0100 def __delfield_commandmode(self): del self.__field_commandmode
0101
0102 commandmode=property(__getfield_commandmode, __setfield_commandmode, __delfield_commandmode, None)
0103
0104 def __getfield_command(self):
0105 return self.__field_command.getvalue()
0106
0107 def __setfield_command(self, value):
0108 if isinstance(value,UINT):
0109 self.__field_command=value
0110 else:
0111 self.__field_command=UINT(value,**{'sizeinbytes': 1})
0112
0113 def __delfield_command(self): del self.__field_command
0114
0115 command=property(__getfield_command, __setfield_command, __delfield_command, None)
0116
0117 def iscontainer(self):
0118 return True
0119
0120 def containerelements(self):
0121 yield ('commandmode', self.__field_commandmode, None)
0122 yield ('command', self.__field_command, None)
0123
0124
0125
0126
0127 class responseheader(BaseProtogenClass):
0128 "The bit in front on all Brew response packets"
0129 __fields=['commandmode', 'command', 'errorcode']
0130
0131 def __init__(self, *args, **kwargs):
0132 dict={}
0133 dict.update(kwargs)
0135 super(responseheader,self).__init__(**dict)
0137 if self.__class__ is responseheader:
0138 self._update(args,dict)
0139
0140
0141 def getfields(self):
0142 return self.__fields
0143
0144
0145 def _update(self, args, kwargs):
0146 super(responseheader,self)._update(args,kwargs)
0147 keys=kwargs.keys()
0148 for key in keys:
0149 if key in self.__fields:
0150 setattr(self, key, kwargs[key])
0151 del kwargs[key]
0152 if __debug__:
0154 self._complainaboutunusedargs(responseheader,kwargs)
0155 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0156
0158
0159 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0160 'Writes this packet to the supplied buffer'
0161 self._bufferstartoffset=buf.getcurrentoffset()
0162 self.__field_commandmode.writetobuffer(buf)
0163 self.__field_command.writetobuffer(buf)
0164 self.__field_errorcode.writetobuffer(buf)
0165 self._bufferendoffset=buf.getcurrentoffset()
0166 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0167
0168
0169 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0170 'Reads this packet from the supplied buffer'
0171 self._bufferstartoffset=buf.getcurrentoffset()
0172 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0173 self.__field_commandmode=UINT(**{'sizeinbytes': 1, 'constant': 0x59})
0174 self.__field_commandmode.readfrombuffer(buf)
0175 self.__field_command=UINT(**{'sizeinbytes': 1})
0176 self.__field_command.readfrombuffer(buf)
0177 self.__field_errorcode=UINT(**{'sizeinbytes': 1})
0178 self.__field_errorcode.readfrombuffer(buf)
0179 self._bufferendoffset=buf.getcurrentoffset()
0180
0181
0182 def __getfield_commandmode(self):
0183 return self.__field_commandmode.getvalue()
0184
0185 def __setfield_commandmode(self, value):
0186 if isinstance(value,UINT):
0187 self.__field_commandmode=value
0188 else:
0189 self.__field_commandmode=UINT(value,**{'sizeinbytes': 1, 'constant': 0x59})
0190
0191 def __delfield_commandmode(self): del self.__field_commandmode
0192
0193 commandmode=property(__getfield_commandmode, __setfield_commandmode, __delfield_commandmode, None)
0194
0195 def __getfield_command(self):
0196 return self.__field_command.getvalue()
0197
0198 def __setfield_command(self, value):
0199 if isinstance(value,UINT):
0200 self.__field_command=value
0201 else:
0202 self.__field_command=UINT(value,**{'sizeinbytes': 1})
0203
0204 def __delfield_command(self): del self.__field_command
0205
0206 command=property(__getfield_command, __setfield_command, __delfield_command, None)
0207
0208 def __getfield_errorcode(self):
0209 return self.__field_errorcode.getvalue()
0210
0211 def __setfield_errorcode(self, value):
0212 if isinstance(value,UINT):
0213 self.__field_errorcode=value
0214 else:
0215 self.__field_errorcode=UINT(value,**{'sizeinbytes': 1})
0216
0217 def __delfield_errorcode(self): del self.__field_errorcode
0218
0219 errorcode=property(__getfield_errorcode, __setfield_errorcode, __delfield_errorcode, None)
0220
0221 def iscontainer(self):
0222 return True
0223
0224 def containerelements(self):
0225 yield ('commandmode', self.__field_commandmode, None)
0226 yield ('command', self.__field_command, None)
0227 yield ('errorcode', self.__field_errorcode, None)
0228
0229
0230
0231
0232 class readfilerequest(BaseProtogenClass):
0233 __fields=['header', 'blocknumber', 'filename']
0234
0235 def __init__(self, *args, **kwargs):
0236 dict={}
0237 dict.update(kwargs)
0239 super(readfilerequest,self).__init__(**dict)
0241 if self.__class__ is readfilerequest:
0242 self._update(args,dict)
0243
0244
0245 def getfields(self):
0246 return self.__fields
0247
0248
0249 def _update(self, args, kwargs):
0250 super(readfilerequest,self)._update(args,kwargs)
0251 keys=kwargs.keys()
0252 for key in keys:
0253 if key in self.__fields:
0254 setattr(self, key, kwargs[key])
0255 del kwargs[key]
0256 if __debug__:
0258 self._complainaboutunusedargs(readfilerequest,kwargs)
0259 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0260
0262
0263 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0264 'Writes this packet to the supplied buffer'
0265 self._bufferstartoffset=buf.getcurrentoffset()
0266 try: self.__field_header
0267 except:
0268 self.__field_header=requestheader(**{'command': 0x04})
0269 self.__field_header.writetobuffer(buf)
0270 try: self.__field_blocknumber
0271 except:
0272 self.__field_blocknumber=UINT(**{'sizeinbytes': 1, 'constant': 0})
0273 self.__field_blocknumber.writetobuffer(buf)
0274 self.__field_filename.writetobuffer(buf)
0275 self._bufferendoffset=buf.getcurrentoffset()
0276 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0277
0278
0279 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0280 'Reads this packet from the supplied buffer'
0281 self._bufferstartoffset=buf.getcurrentoffset()
0282 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0283 self.__field_header=requestheader(**{'command': 0x04})
0284 self.__field_header.readfrombuffer(buf)
0285 self.__field_blocknumber=UINT(**{'sizeinbytes': 1, 'constant': 0})
0286 self.__field_blocknumber.readfrombuffer(buf)
0287 self.__field_filename=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
0288 self.__field_filename.readfrombuffer(buf)
0289 self._bufferendoffset=buf.getcurrentoffset()
0290
0291
0292 def __getfield_header(self):
0293 try: self.__field_header
0294 except:
0295 self.__field_header=requestheader(**{'command': 0x04})
0296 return self.__field_header.getvalue()
0297
0298 def __setfield_header(self, value):
0299 if isinstance(value,requestheader):
0300 self.__field_header=value
0301 else:
0302 self.__field_header=requestheader(value,**{'command': 0x04})
0303
0304 def __delfield_header(self): del self.__field_header
0305
0306 header=property(__getfield_header, __setfield_header, __delfield_header, None)
0307
0308 def __getfield_blocknumber(self):
0309 try: self.__field_blocknumber
0310 except:
0311 self.__field_blocknumber=UINT(**{'sizeinbytes': 1, 'constant': 0})
0312 return self.__field_blocknumber.getvalue()
0313
0314 def __setfield_blocknumber(self, value):
0315 if isinstance(value,UINT):
0316 self.__field_blocknumber=value
0317 else:
0318 self.__field_blocknumber=UINT(value,**{'sizeinbytes': 1, 'constant': 0})
0319
0320 def __delfield_blocknumber(self): del self.__field_blocknumber
0321
0322 blocknumber=property(__getfield_blocknumber, __setfield_blocknumber, __delfield_blocknumber, None)
0323
0324 def __getfield_filename(self):
0325 return self.__field_filename.getvalue()
0326
0327 def __setfield_filename(self, value):
0328 if isinstance(value,USTRING):
0329 self.__field_filename=value
0330 else:
0331 self.__field_filename=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
0332
0333 def __delfield_filename(self): del self.__field_filename
0334
0335 filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
0336
0337 def iscontainer(self):
0338 return True
0339
0340 def containerelements(self):
0341 yield ('header', self.__field_header, None)
0342 yield ('blocknumber', self.__field_blocknumber, None)
0343 yield ('filename', self.__field_filename, None)
0344
0345
0346
0347
0348 class readfileresponse(BaseProtogenClass):
0349 __fields=['header', 'blockcounter', 'thereismore', 'filesize', 'datasize', 'data']
0350
0351 def __init__(self, *args, **kwargs):
0352 dict={}
0353 dict.update(kwargs)
0355 super(readfileresponse,self).__init__(**dict)
0357 if self.__class__ is readfileresponse:
0358 self._update(args,dict)
0359
0360
0361 def getfields(self):
0362 return self.__fields
0363
0364
0365 def _update(self, args, kwargs):
0366 super(readfileresponse,self)._update(args,kwargs)
0367 keys=kwargs.keys()
0368 for key in keys:
0369 if key in self.__fields:
0370 setattr(self, key, kwargs[key])
0371 del kwargs[key]
0372 if __debug__:
0374 self._complainaboutunusedargs(readfileresponse,kwargs)
0375 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0376
0378
0379 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0380 'Writes this packet to the supplied buffer'
0381 self._bufferstartoffset=buf.getcurrentoffset()
0382 self.__field_header.writetobuffer(buf)
0383 self.__field_blockcounter.writetobuffer(buf)
0384 self.__field_thereismore.writetobuffer(buf)
0385 self.__field_filesize.writetobuffer(buf)
0386 self.__field_datasize.writetobuffer(buf)
0387 self.__field_data.writetobuffer(buf)
0388 self._bufferendoffset=buf.getcurrentoffset()
0389 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0390
0391
0392 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0393 'Reads this packet from the supplied buffer'
0394 self._bufferstartoffset=buf.getcurrentoffset()
0395 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0396 self.__field_header=responseheader()
0397 self.__field_header.readfrombuffer(buf)
0398 self.__field_blockcounter=UINT(**{'sizeinbytes': 1})
0399 self.__field_blockcounter.readfrombuffer(buf)
0400 self.__field_thereismore=BOOL(**{'sizeinbytes': 1})
0401 self.__field_thereismore.readfrombuffer(buf)
0402 self.__field_filesize=UINT(**{'sizeinbytes': 4})
0403 self.__field_filesize.readfrombuffer(buf)
0404 self.__field_datasize=UINT(**{'sizeinbytes': 2})
0405 self.__field_datasize.readfrombuffer(buf)
0406 self.__field_data=DATA(**{'sizeinbytes': self.datasize})
0407 self.__field_data.readfrombuffer(buf)
0408 self._bufferendoffset=buf.getcurrentoffset()
0409
0410
0411 def __getfield_header(self):
0412 return self.__field_header.getvalue()
0413
0414 def __setfield_header(self, value):
0415 if isinstance(value,responseheader):
0416 self.__field_header=value
0417 else:
0418 self.__field_header=responseheader(value,)
0419
0420 def __delfield_header(self): del self.__field_header
0421
0422 header=property(__getfield_header, __setfield_header, __delfield_header, None)
0423
0424 def __getfield_blockcounter(self):
0425 return self.__field_blockcounter.getvalue()
0426
0427 def __setfield_blockcounter(self, value):
0428 if isinstance(value,UINT):
0429 self.__field_blockcounter=value
0430 else:
0431 self.__field_blockcounter=UINT(value,**{'sizeinbytes': 1})
0432
0433 def __delfield_blockcounter(self): del self.__field_blockcounter
0434
0435 blockcounter=property(__getfield_blockcounter, __setfield_blockcounter, __delfield_blockcounter, None)
0436
0437 def __getfield_thereismore(self):
0438 return self.__field_thereismore.getvalue()
0439
0440 def __setfield_thereismore(self, value):
0441 if isinstance(value,BOOL):
0442 self.__field_thereismore=value
0443 else:
0444 self.__field_thereismore=BOOL(value,**{'sizeinbytes': 1})
0445
0446 def __delfield_thereismore(self): del self.__field_thereismore
0447
0448 thereismore=property(__getfield_thereismore, __setfield_thereismore, __delfield_thereismore, "true if there is more data available after this block")
0449
0450 def __getfield_filesize(self):
0451 return self.__field_filesize.getvalue()
0452
0453 def __setfield_filesize(self, value):
0454 if isinstance(value,UINT):
0455 self.__field_filesize=value
0456 else:
0457 self.__field_filesize=UINT(value,**{'sizeinbytes': 4})
0458
0459 def __delfield_filesize(self): del self.__field_filesize
0460
0461 filesize=property(__getfield_filesize, __setfield_filesize, __delfield_filesize, None)
0462
0463 def __getfield_datasize(self):
0464 return self.__field_datasize.getvalue()
0465
0466 def __setfield_datasize(self, value):
0467 if isinstance(value,UINT):
0468 self.__field_datasize=value
0469 else:
0470 self.__field_datasize=UINT(value,**{'sizeinbytes': 2})
0471
0472 def __delfield_datasize(self): del self.__field_datasize
0473
0474 datasize=property(__getfield_datasize, __setfield_datasize, __delfield_datasize, None)
0475
0476 def __getfield_data(self):
0477 return self.__field_data.getvalue()
0478
0479 def __setfield_data(self, value):
0480 if isinstance(value,DATA):
0481 self.__field_data=value
0482 else:
0483 self.__field_data=DATA(value,**{'sizeinbytes': self.datasize})
0484
0485 def __delfield_data(self): del self.__field_data
0486
0487 data=property(__getfield_data, __setfield_data, __delfield_data, None)
0488
0489 def iscontainer(self):
0490 return True
0491
0492 def containerelements(self):
0493 yield ('header', self.__field_header, None)
0494 yield ('blockcounter', self.__field_blockcounter, None)
0495 yield ('thereismore', self.__field_thereismore, "true if there is more data available after this block")
0496 yield ('filesize', self.__field_filesize, None)
0497 yield ('datasize', self.__field_datasize, None)
0498 yield ('data', self.__field_data, None)
0499
0500
0501
0502
0503 class readfileblockrequest(BaseProtogenClass):
0504 __fields=['header', 'blockcounter']
0505
0506 def __init__(self, *args, **kwargs):
0507 dict={}
0508 dict.update(kwargs)
0510 super(readfileblockrequest,self).__init__(**dict)
0512 if self.__class__ is readfileblockrequest:
0513 self._update(args,dict)
0514
0515
0516 def getfields(self):
0517 return self.__fields
0518
0519
0520 def _update(self, args, kwargs):
0521 super(readfileblockrequest,self)._update(args,kwargs)
0522 keys=kwargs.keys()
0523 for key in keys:
0524 if key in self.__fields:
0525 setattr(self, key, kwargs[key])
0526 del kwargs[key]
0527 if __debug__:
0529 self._complainaboutunusedargs(readfileblockrequest,kwargs)
0530 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0531
0533
0534 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0535 'Writes this packet to the supplied buffer'
0536 self._bufferstartoffset=buf.getcurrentoffset()
0537 try: self.__field_header
0538 except:
0539 self.__field_header=requestheader(**{'command': 0x04})
0540 self.__field_header.writetobuffer(buf)
0541 self.__field_blockcounter.writetobuffer(buf)
0542 self._bufferendoffset=buf.getcurrentoffset()
0543 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0544
0545
0546 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0547 'Reads this packet from the supplied buffer'
0548 self._bufferstartoffset=buf.getcurrentoffset()
0549 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0550 self.__field_header=requestheader(**{'command': 0x04})
0551 self.__field_header.readfrombuffer(buf)
0552 self.__field_blockcounter=UINT(**{'sizeinbytes': 1})
0553 self.__field_blockcounter.readfrombuffer(buf)
0554 self._bufferendoffset=buf.getcurrentoffset()
0555
0556
0557 def __getfield_header(self):
0558 try: self.__field_header
0559 except:
0560 self.__field_header=requestheader(**{'command': 0x04})
0561 return self.__field_header.getvalue()
0562
0563 def __setfield_header(self, value):
0564 if isinstance(value,requestheader):
0565 self.__field_header=value
0566 else:
0567 self.__field_header=requestheader(value,**{'command': 0x04})
0568
0569 def __delfield_header(self): del self.__field_header
0570
0571 header=property(__getfield_header, __setfield_header, __delfield_header, None)
0572
0573 def __getfield_blockcounter(self):
0574 return self.__field_blockcounter.getvalue()
0575
0576 def __setfield_blockcounter(self, value):
0577 if isinstance(value,UINT):
0578 self.__field_blockcounter=value
0579 else:
0580 self.__field_blockcounter=UINT(value,**{'sizeinbytes': 1})
0581
0582 def __delfield_blockcounter(self): del self.__field_blockcounter
0583
0584 blockcounter=property(__getfield_blockcounter, __setfield_blockcounter, __delfield_blockcounter, "always greater than zero, increment with each request, loop to 0x01 from 0xff")
0585
0586 def iscontainer(self):
0587 return True
0588
0589 def containerelements(self):
0590 yield ('header', self.__field_header, None)
0591 yield ('blockcounter', self.__field_blockcounter, "always greater than zero, increment with each request, loop to 0x01 from 0xff")
0592
0593
0594
0595
0596 class readfileblockresponse(BaseProtogenClass):
0597 __fields=['header', 'blockcounter', 'thereismore', 'datasize', 'data']
0598
0599 def __init__(self, *args, **kwargs):
0600 dict={}
0601 dict.update(kwargs)
0603 super(readfileblockresponse,self).__init__(**dict)
0605 if self.__class__ is readfileblockresponse:
0606 self._update(args,dict)
0607
0608
0609 def getfields(self):
0610 return self.__fields
0611
0612
0613 def _update(self, args, kwargs):
0614 super(readfileblockresponse,self)._update(args,kwargs)
0615 keys=kwargs.keys()
0616 for key in keys:
0617 if key in self.__fields:
0618 setattr(self, key, kwargs[key])
0619 del kwargs[key]
0620 if __debug__:
0622 self._complainaboutunusedargs(readfileblockresponse,kwargs)
0623 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0624
0626
0627 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0628 'Writes this packet to the supplied buffer'
0629 self._bufferstartoffset=buf.getcurrentoffset()
0630 self.__field_header.writetobuffer(buf)
0631 self.__field_blockcounter.writetobuffer(buf)
0632 self.__field_thereismore.writetobuffer(buf)
0633 self.__field_datasize.writetobuffer(buf)
0634 self.__field_data.writetobuffer(buf)
0635 self._bufferendoffset=buf.getcurrentoffset()
0636 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0637
0638
0639 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0640 'Reads this packet from the supplied buffer'
0641 self._bufferstartoffset=buf.getcurrentoffset()
0642 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0643 self.__field_header=responseheader()
0644 self.__field_header.readfrombuffer(buf)
0645 self.__field_blockcounter=UINT(**{'sizeinbytes': 1})
0646 self.__field_blockcounter.readfrombuffer(buf)
0647 self.__field_thereismore=BOOL(**{'sizeinbytes': 1})
0648 self.__field_thereismore.readfrombuffer(buf)
0649 self.__field_datasize=UINT(**{'sizeinbytes': 2})
0650 self.__field_datasize.readfrombuffer(buf)
0651 self.__field_data=DATA(**{'sizeinbytes': self.datasize})
0652 self.__field_data.readfrombuffer(buf)
0653 self._bufferendoffset=buf.getcurrentoffset()
0654
0655
0656 def __getfield_header(self):
0657 return self.__field_header.getvalue()
0658
0659 def __setfield_header(self, value):
0660 if isinstance(value,responseheader):
0661 self.__field_header=value
0662 else:
0663 self.__field_header=responseheader(value,)
0664
0665 def __delfield_header(self): del self.__field_header
0666
0667 header=property(__getfield_header, __setfield_header, __delfield_header, None)
0668
0669 def __getfield_blockcounter(self):
0670 return self.__field_blockcounter.getvalue()
0671
0672 def __setfield_blockcounter(self, value):
0673 if isinstance(value,UINT):
0674 self.__field_blockcounter=value
0675 else:
0676 self.__field_blockcounter=UINT(value,**{'sizeinbytes': 1})
0677
0678 def __delfield_blockcounter(self): del self.__field_blockcounter
0679
0680 blockcounter=property(__getfield_blockcounter, __setfield_blockcounter, __delfield_blockcounter, None)
0681
0682 def __getfield_thereismore(self):
0683 return self.__field_thereismore.getvalue()
0684
0685 def __setfield_thereismore(self, value):
0686 if isinstance(value,BOOL):
0687 self.__field_thereismore=value
0688 else:
0689 self.__field_thereismore=BOOL(value,**{'sizeinbytes': 1})
0690
0691 def __delfield_thereismore(self): del self.__field_thereismore
0692
0693 thereismore=property(__getfield_thereismore, __setfield_thereismore, __delfield_thereismore, "true if there is more data available after this block")
0694
0695 def __getfield_datasize(self):
0696 return self.__field_datasize.getvalue()
0697
0698 def __setfield_datasize(self, value):
0699 if isinstance(value,UINT):
0700 self.__field_datasize=value
0701 else:
0702 self.__field_datasize=UINT(value,**{'sizeinbytes': 2})
0703
0704 def __delfield_datasize(self): del self.__field_datasize
0705
0706 datasize=property(__getfield_datasize, __setfield_datasize, __delfield_datasize, None)
0707
0708 def __getfield_data(self):
0709 return self.__field_data.getvalue()
0710
0711 def __setfield_data(self, value):
0712 if isinstance(value,DATA):
0713 self.__field_data=value
0714 else:
0715 self.__field_data=DATA(value,**{'sizeinbytes': self.datasize})
0716
0717 def __delfield_data(self): del self.__field_data
0718
0719 data=property(__getfield_data, __setfield_data, __delfield_data, None)
0720
0721 def iscontainer(self):
0722 return True
0723
0724 def containerelements(self):
0725 yield ('header', self.__field_header, None)
0726 yield ('blockcounter', self.__field_blockcounter, None)
0727 yield ('thereismore', self.__field_thereismore, "true if there is more data available after this block")
0728 yield ('datasize', self.__field_datasize, None)
0729 yield ('data', self.__field_data, None)
0730
0731
0732
0733
0734 class writefilerequest(BaseProtogenClass):
0735 __fields=['header', 'blockcounter', 'thereismore', 'unknown1', 'filesize', 'unknown2', 'filename', 'datalen', 'data']
0736
0737 def __init__(self, *args, **kwargs):
0738 dict={}
0739 dict.update(kwargs)
0741 super(writefilerequest,self).__init__(**dict)
0743 if self.__class__ is writefilerequest:
0744 self._update(args,dict)
0745
0746
0747 def getfields(self):
0748 return self.__fields
0749
0750
0751 def _update(self, args, kwargs):
0752 super(writefilerequest,self)._update(args,kwargs)
0753 keys=kwargs.keys()
0754 for key in keys:
0755 if key in self.__fields:
0756 setattr(self, key, kwargs[key])
0757 del kwargs[key]
0758 if __debug__:
0760 self._complainaboutunusedargs(writefilerequest,kwargs)
0761 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0762
0764
0765 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0766 'Writes this packet to the supplied buffer'
0767 self._bufferstartoffset=buf.getcurrentoffset()
0768 try: self.__field_header
0769 except:
0770 self.__field_header=requestheader(**{'command': 0x05})
0771 self.__field_header.writetobuffer(buf)
0772 try: self.__field_blockcounter
0773 except:
0774 self.__field_blockcounter=UINT(**{'sizeinbytes': 1, 'value': 0})
0775 self.__field_blockcounter.writetobuffer(buf)
0776 try: self.__field_thereismore
0777 except:
0778 self.__field_thereismore=BOOL(**{'sizeinbytes': 1, 'value': self.filesize>0x100})
0779 self.__field_thereismore.writetobuffer(buf)
0780 try: self.__field_unknown1
0781 except:
0782 self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'constant': 1})
0783 self.__field_unknown1.writetobuffer(buf)
0784 self.__field_filesize.writetobuffer(buf)
0785 try: self.__field_unknown2
0786 except:
0787 self.__field_unknown2=UINT(**{'sizeinbytes': 4, 'constant': 0x000100ff})
0788 self.__field_unknown2.writetobuffer(buf)
0789 self.__field_filename.writetobuffer(buf)
0790 try: self.__field_datalen
0791 except:
0792 self.__field_datalen=UINT(**{'sizeinbytes': 2, 'value': len(self.data)})
0793 self.__field_datalen.writetobuffer(buf)
0794 self.__field_data.writetobuffer(buf)
0795 self._bufferendoffset=buf.getcurrentoffset()
0796 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0797
0798
0799 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0800 'Reads this packet from the supplied buffer'
0801 self._bufferstartoffset=buf.getcurrentoffset()
0802 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0803 self.__field_header=requestheader(**{'command': 0x05})
0804 self.__field_header.readfrombuffer(buf)
0805 self.__field_blockcounter=UINT(**{'sizeinbytes': 1, 'value': 0})
0806 self.__field_blockcounter.readfrombuffer(buf)
0807 self.__field_thereismore=BOOL(**{'sizeinbytes': 1})
0808 self.__field_thereismore.readfrombuffer(buf)
0809 self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'constant': 1})
0810 self.__field_unknown1.readfrombuffer(buf)
0811 self.__field_filesize=UINT(**{'sizeinbytes': 4})
0812 self.__field_filesize.readfrombuffer(buf)
0813 self.__field_unknown2=UINT(**{'sizeinbytes': 4, 'constant': 0x000100ff})
0814 self.__field_unknown2.readfrombuffer(buf)
0815 self.__field_filename=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
0816 self.__field_filename.readfrombuffer(buf)
0817 self.__field_datalen=UINT(**{'sizeinbytes': 2})
0818 self.__field_datalen.readfrombuffer(buf)
0819 self.__field_data=DATA()
0820 self.__field_data.readfrombuffer(buf)
0821 self._bufferendoffset=buf.getcurrentoffset()
0822
0823
0824 def __getfield_header(self):
0825 try: self.__field_header
0826 except:
0827 self.__field_header=requestheader(**{'command': 0x05})
0828 return self.__field_header.getvalue()
0829
0830 def __setfield_header(self, value):
0831 if isinstance(value,requestheader):
0832 self.__field_header=value
0833 else:
0834 self.__field_header=requestheader(value,**{'command': 0x05})
0835
0836 def __delfield_header(self): del self.__field_header
0837
0838 header=property(__getfield_header, __setfield_header, __delfield_header, None)
0839
0840 def __getfield_blockcounter(self):
0841 try: self.__field_blockcounter
0842 except:
0843 self.__field_blockcounter=UINT(**{'sizeinbytes': 1, 'value': 0})
0844 return self.__field_blockcounter.getvalue()
0845
0846 def __setfield_blockcounter(self, value):
0847 if isinstance(value,UINT):
0848 self.__field_blockcounter=value
0849 else:
0850 self.__field_blockcounter=UINT(value,**{'sizeinbytes': 1, 'value': 0})
0851
0852 def __delfield_blockcounter(self): del self.__field_blockcounter
0853
0854 blockcounter=property(__getfield_blockcounter, __setfield_blockcounter, __delfield_blockcounter, None)
0855
0856 def __getfield_thereismore(self):
0857 try: self.__field_thereismore
0858 except:
0859 self.__field_thereismore=BOOL(**{'sizeinbytes': 1})
0860 return self.__field_thereismore.getvalue()
0861
0862 def __setfield_thereismore(self, value):
0863 if isinstance(value,BOOL):
0864 self.__field_thereismore=value
0865 else:
0866 self.__field_thereismore=BOOL(value,**{'sizeinbytes': 1, 'value': self.filesize>0x100})
0867
0868 def __delfield_thereismore(self): del self.__field_thereismore
0869
0870 thereismore=property(__getfield_thereismore, __setfield_thereismore, __delfield_thereismore, None)
0871
0872 def __getfield_unknown1(self):
0873 try: self.__field_unknown1
0874 except:
0875 self.__field_unknown1=UINT(**{'sizeinbytes': 1, 'constant': 1})
0876 return self.__field_unknown1.getvalue()
0877
0878 def __setfield_unknown1(self, value):
0879 if isinstance(value,UINT):
0880 self.__field_unknown1=value
0881 else:
0882 self.__field_unknown1=UINT(value,**{'sizeinbytes': 1, 'constant': 1})
0883
0884 def __delfield_unknown1(self): del self.__field_unknown1
0885
0886 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, None)
0887
0888 def __getfield_filesize(self):
0889 return self.__field_filesize.getvalue()
0890
0891 def __setfield_filesize(self, value):
0892 if isinstance(value,UINT):
0893 self.__field_filesize=value
0894 else:
0895 self.__field_filesize=UINT(value,**{'sizeinbytes': 4})
0896
0897 def __delfield_filesize(self): del self.__field_filesize
0898
0899 filesize=property(__getfield_filesize, __setfield_filesize, __delfield_filesize, None)
0900
0901 def __getfield_unknown2(self):
0902 try: self.__field_unknown2
0903 except:
0904 self.__field_unknown2=UINT(**{'sizeinbytes': 4, 'constant': 0x000100ff})
0905 return self.__field_unknown2.getvalue()
0906
0907 def __setfield_unknown2(self, value):
0908 if isinstance(value,UINT):
0909 self.__field_unknown2=value
0910 else:
0911 self.__field_unknown2=UINT(value,**{'sizeinbytes': 4, 'constant': 0x000100ff})
0912
0913 def __delfield_unknown2(self): del self.__field_unknown2
0914
0915 unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, "probably file attributes")
0916
0917 def __getfield_filename(self):
0918 return self.__field_filename.getvalue()
0919
0920 def __setfield_filename(self, value):
0921 if isinstance(value,USTRING):
0922 self.__field_filename=value
0923 else:
0924 self.__field_filename=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
0925
0926 def __delfield_filename(self): del self.__field_filename
0927
0928 filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
0929
0930 def __getfield_datalen(self):
0931 try: self.__field_datalen
0932 except:
0933 self.__field_datalen=UINT(**{'sizeinbytes': 2})
0934 return self.__field_datalen.getvalue()
0935
0936 def __setfield_datalen(self, value):
0937 if isinstance(value,UINT):
0938 self.__field_datalen=value
0939 else:
0940 self.__field_datalen=UINT(value,**{'sizeinbytes': 2, 'value': len(self.data)})
0941
0942 def __delfield_datalen(self): del self.__field_datalen
0943
0944 datalen=property(__getfield_datalen, __setfield_datalen, __delfield_datalen, None)
0945
0946 def __getfield_data(self):
0947 return self.__field_data.getvalue()
0948
0949 def __setfield_data(self, value):
0950 if isinstance(value,DATA):
0951 self.__field_data=value
0952 else:
0953 self.__field_data=DATA(value,)
0954
0955 def __delfield_data(self): del self.__field_data
0956
0957 data=property(__getfield_data, __setfield_data, __delfield_data, None)
0958
0959 def iscontainer(self):
0960 return True
0961
0962 def containerelements(self):
0963 yield ('header', self.__field_header, None)
0964 yield ('blockcounter', self.__field_blockcounter, None)
0965 yield ('thereismore', self.__field_thereismore, None)
0966 yield ('unknown1', self.__field_unknown1, None)
0967 yield ('filesize', self.__field_filesize, None)
0968 yield ('unknown2', self.__field_unknown2, "probably file attributes")
0969 yield ('filename', self.__field_filename, None)
0970 yield ('datalen', self.__field_datalen, None)
0971 yield ('data', self.__field_data, None)
0972
0973
0974
0975
0976 class writefileblockrequest(BaseProtogenClass):
0977 __fields=['header', 'blockcounter', 'thereismore', 'datalen', 'data']
0978
0979 def __init__(self, *args, **kwargs):
0980 dict={}
0981 dict.update(kwargs)
0983 super(writefileblockrequest,self).__init__(**dict)
0985 if self.__class__ is writefileblockrequest:
0986 self._update(args,dict)
0987
0988
0989 def getfields(self):
0990 return self.__fields
0991
0992
0993 def _update(self, args, kwargs):
0994 super(writefileblockrequest,self)._update(args,kwargs)
0995 keys=kwargs.keys()
0996 for key in keys:
0997 if key in self.__fields:
0998 setattr(self, key, kwargs[key])
0999 del kwargs[key]
1000 if __debug__:
1002 self._complainaboutunusedargs(writefileblockrequest,kwargs)
1003 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1004
1006
1007 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1008 'Writes this packet to the supplied buffer'
1009 self._bufferstartoffset=buf.getcurrentoffset()
1010 try: self.__field_header
1011 except:
1012 self.__field_header=requestheader(**{'command': 0x05})
1013 self.__field_header.writetobuffer(buf)
1014 self.__field_blockcounter.writetobuffer(buf)
1015 self.__field_thereismore.writetobuffer(buf)
1016 try: self.__field_datalen
1017 except:
1018 self.__field_datalen=UINT(**{'sizeinbytes': 2, 'value': len(self.data)})
1019 self.__field_datalen.writetobuffer(buf)
1020 self.__field_data.writetobuffer(buf)
1021 self._bufferendoffset=buf.getcurrentoffset()
1022 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1023
1024
1025 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1026 'Reads this packet from the supplied buffer'
1027 self._bufferstartoffset=buf.getcurrentoffset()
1028 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1029 self.__field_header=requestheader(**{'command': 0x05})
1030 self.__field_header.readfrombuffer(buf)
1031 self.__field_blockcounter=UINT(**{'sizeinbytes': 1})
1032 self.__field_blockcounter.readfrombuffer(buf)
1033 self.__field_thereismore=BOOL(**{'sizeinbytes': 1})
1034 self.__field_thereismore.readfrombuffer(buf)
1035 self.__field_datalen=UINT(**{'sizeinbytes': 2})
1036 self.__field_datalen.readfrombuffer(buf)
1037 self.__field_data=DATA()
1038 self.__field_data.readfrombuffer(buf)
1039 self._bufferendoffset=buf.getcurrentoffset()
1040
1041
1042 def __getfield_header(self):
1043 try: self.__field_header
1044 except:
1045 self.__field_header=requestheader(**{'command': 0x05})
1046 return self.__field_header.getvalue()
1047
1048 def __setfield_header(self, value):
1049 if isinstance(value,requestheader):
1050 self.__field_header=value
1051 else:
1052 self.__field_header=requestheader(value,**{'command': 0x05})
1053
1054 def __delfield_header(self): del self.__field_header
1055
1056 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1057
1058 def __getfield_blockcounter(self):
1059 return self.__field_blockcounter.getvalue()
1060
1061 def __setfield_blockcounter(self, value):
1062 if isinstance(value,UINT):
1063 self.__field_blockcounter=value
1064 else:
1065 self.__field_blockcounter=UINT(value,**{'sizeinbytes': 1})
1066
1067 def __delfield_blockcounter(self): del self.__field_blockcounter
1068
1069 blockcounter=property(__getfield_blockcounter, __setfield_blockcounter, __delfield_blockcounter, None)
1070
1071 def __getfield_thereismore(self):
1072 return self.__field_thereismore.getvalue()
1073
1074 def __setfield_thereismore(self, value):
1075 if isinstance(value,BOOL):
1076 self.__field_thereismore=value
1077 else:
1078 self.__field_thereismore=BOOL(value,**{'sizeinbytes': 1})
1079
1080 def __delfield_thereismore(self): del self.__field_thereismore
1081
1082 thereismore=property(__getfield_thereismore, __setfield_thereismore, __delfield_thereismore, None)
1083
1084 def __getfield_datalen(self):
1085 try: self.__field_datalen
1086 except:
1087 self.__field_datalen=UINT(**{'sizeinbytes': 2})
1088 return self.__field_datalen.getvalue()
1089
1090 def __setfield_datalen(self, value):
1091 if isinstance(value,UINT):
1092 self.__field_datalen=value
1093 else:
1094 self.__field_datalen=UINT(value,**{'sizeinbytes': 2, 'value': len(self.data)})
1095
1096 def __delfield_datalen(self): del self.__field_datalen
1097
1098 datalen=property(__getfield_datalen, __setfield_datalen, __delfield_datalen, None)
1099
1100 def __getfield_data(self):
1101 return self.__field_data.getvalue()
1102
1103 def __setfield_data(self, value):
1104 if isinstance(value,DATA):
1105 self.__field_data=value
1106 else:
1107 self.__field_data=DATA(value,)
1108
1109 def __delfield_data(self): del self.__field_data
1110
1111 data=property(__getfield_data, __setfield_data, __delfield_data, None)
1112
1113 def iscontainer(self):
1114 return True
1115
1116 def containerelements(self):
1117 yield ('header', self.__field_header, None)
1118 yield ('blockcounter', self.__field_blockcounter, None)
1119 yield ('thereismore', self.__field_thereismore, None)
1120 yield ('datalen', self.__field_datalen, None)
1121 yield ('data', self.__field_data, None)
1122
1123
1124
1125
1126 class listdirectoriesrequest(BaseProtogenClass):
1127 "Lists the subdirectories of dirname"
1128 __fields=['header', 'dirname']
1129
1130 def __init__(self, *args, **kwargs):
1131 dict={}
1132 dict.update(kwargs)
1134 super(listdirectoriesrequest,self).__init__(**dict)
1136 if self.__class__ is listdirectoriesrequest:
1137 self._update(args,dict)
1138
1139
1140 def getfields(self):
1141 return self.__fields
1142
1143
1144 def _update(self, args, kwargs):
1145 super(listdirectoriesrequest,self)._update(args,kwargs)
1146 keys=kwargs.keys()
1147 for key in keys:
1148 if key in self.__fields:
1149 setattr(self, key, kwargs[key])
1150 del kwargs[key]
1151 if __debug__:
1153 self._complainaboutunusedargs(listdirectoriesrequest,kwargs)
1154 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1155
1157
1158 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1159 'Writes this packet to the supplied buffer'
1160 self._bufferstartoffset=buf.getcurrentoffset()
1161 try: self.__field_header
1162 except:
1163 self.__field_header=requestheader(**{'command': 0x02})
1164 self.__field_header.writetobuffer(buf)
1165 self.__field_dirname.writetobuffer(buf)
1166 self._bufferendoffset=buf.getcurrentoffset()
1167 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1168
1169
1170 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1171 'Reads this packet from the supplied buffer'
1172 self._bufferstartoffset=buf.getcurrentoffset()
1173 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1174 self.__field_header=requestheader(**{'command': 0x02})
1175 self.__field_header.readfrombuffer(buf)
1176 self.__field_dirname=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1177 self.__field_dirname.readfrombuffer(buf)
1178 self._bufferendoffset=buf.getcurrentoffset()
1179
1180
1181 def __getfield_header(self):
1182 try: self.__field_header
1183 except:
1184 self.__field_header=requestheader(**{'command': 0x02})
1185 return self.__field_header.getvalue()
1186
1187 def __setfield_header(self, value):
1188 if isinstance(value,requestheader):
1189 self.__field_header=value
1190 else:
1191 self.__field_header=requestheader(value,**{'command': 0x02})
1192
1193 def __delfield_header(self): del self.__field_header
1194
1195 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1196
1197 def __getfield_dirname(self):
1198 return self.__field_dirname.getvalue()
1199
1200 def __setfield_dirname(self, value):
1201 if isinstance(value,USTRING):
1202 self.__field_dirname=value
1203 else:
1204 self.__field_dirname=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1205
1206 def __delfield_dirname(self): del self.__field_dirname
1207
1208 dirname=property(__getfield_dirname, __setfield_dirname, __delfield_dirname, None)
1209
1210 def iscontainer(self):
1211 return True
1212
1213 def containerelements(self):
1214 yield ('header', self.__field_header, None)
1215 yield ('dirname', self.__field_dirname, None)
1216
1217
1218
1219
1220 class listdirectoriesresponse(BaseProtogenClass):
1221 __fields=['header', 'numentries', 'datalen', 'items']
1222
1223 def __init__(self, *args, **kwargs):
1224 dict={}
1225 dict.update(kwargs)
1227 super(listdirectoriesresponse,self).__init__(**dict)
1229 if self.__class__ is listdirectoriesresponse:
1230 self._update(args,dict)
1231
1232
1233 def getfields(self):
1234 return self.__fields
1235
1236
1237 def _update(self, args, kwargs):
1238 super(listdirectoriesresponse,self)._update(args,kwargs)
1239 keys=kwargs.keys()
1240 for key in keys:
1241 if key in self.__fields:
1242 setattr(self, key, kwargs[key])
1243 del kwargs[key]
1244 if __debug__:
1246 self._complainaboutunusedargs(listdirectoriesresponse,kwargs)
1247 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1248
1250
1251 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1252 'Writes this packet to the supplied buffer'
1253 self._bufferstartoffset=buf.getcurrentoffset()
1254 self.__field_header.writetobuffer(buf)
1255 self.__field_numentries.writetobuffer(buf)
1256 if self.numentries>0:
1257 self.__field_datalen.writetobuffer(buf)
1258 self.__field_items.writetobuffer(buf)
1259 self._bufferendoffset=buf.getcurrentoffset()
1260 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1261
1262
1263 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1264 'Reads this packet from the supplied buffer'
1265 self._bufferstartoffset=buf.getcurrentoffset()
1266 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1267 self.__field_header=responseheader()
1268 self.__field_header.readfrombuffer(buf)
1269 self.__field_numentries=UINT(**{'sizeinbytes': 2})
1270 self.__field_numentries.readfrombuffer(buf)
1271 if self.numentries>0:
1272 self.__field_datalen=UINT(**{'sizeinbytes': 2})
1273 self.__field_datalen.readfrombuffer(buf)
1274 self.__field_items=LIST(**{'elementclass': _gen_p_brew_114, 'length': self.numentries})
1275 self.__field_items.readfrombuffer(buf)
1276 self._bufferendoffset=buf.getcurrentoffset()
1277
1278
1279 def __getfield_header(self):
1280 return self.__field_header.getvalue()
1281
1282 def __setfield_header(self, value):
1283 if isinstance(value,responseheader):
1284 self.__field_header=value
1285 else:
1286 self.__field_header=responseheader(value,)
1287
1288 def __delfield_header(self): del self.__field_header
1289
1290 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1291
1292 def __getfield_numentries(self):
1293 return self.__field_numentries.getvalue()
1294
1295 def __setfield_numentries(self, value):
1296 if isinstance(value,UINT):
1297 self.__field_numentries=value
1298 else:
1299 self.__field_numentries=UINT(value,**{'sizeinbytes': 2})
1300
1301 def __delfield_numentries(self): del self.__field_numentries
1302
1303 numentries=property(__getfield_numentries, __setfield_numentries, __delfield_numentries, None)
1304
1305 def __getfield_datalen(self):
1306 return self.__field_datalen.getvalue()
1307
1308 def __setfield_datalen(self, value):
1309 if isinstance(value,UINT):
1310 self.__field_datalen=value
1311 else:
1312 self.__field_datalen=UINT(value,**{'sizeinbytes': 2})
1313
1314 def __delfield_datalen(self): del self.__field_datalen
1315
1316 datalen=property(__getfield_datalen, __setfield_datalen, __delfield_datalen, None)
1317
1318 def __getfield_items(self):
1319 return self.__field_items.getvalue()
1320
1321 def __setfield_items(self, value):
1322 if isinstance(value,LIST):
1323 self.__field_items=value
1324 else:
1325 self.__field_items=LIST(value,**{'elementclass': _gen_p_brew_114, 'length': self.numentries})
1326
1327 def __delfield_items(self): del self.__field_items
1328
1329 items=property(__getfield_items, __setfield_items, __delfield_items, None)
1330
1331 def iscontainer(self):
1332 return True
1333
1334 def containerelements(self):
1335 yield ('header', self.__field_header, None)
1336 yield ('numentries', self.__field_numentries, None)
1337 if self.numentries>0:
1338 yield ('datalen', self.__field_datalen, None)
1339 yield ('items', self.__field_items, None)
1340
1341
1342
1343
1344 class _gen_p_brew_114(BaseProtogenClass):
1345 'Anonymous inner class'
1346 __fields=['subdir']
1347
1348 def __init__(self, *args, **kwargs):
1349 dict={}
1350 dict.update(kwargs)
1352 super(_gen_p_brew_114,self).__init__(**dict)
1354 if self.__class__ is _gen_p_brew_114:
1355 self._update(args,dict)
1356
1357
1358 def getfields(self):
1359 return self.__fields
1360
1361
1362 def _update(self, args, kwargs):
1363 super(_gen_p_brew_114,self)._update(args,kwargs)
1364 keys=kwargs.keys()
1365 for key in keys:
1366 if key in self.__fields:
1367 setattr(self, key, kwargs[key])
1368 del kwargs[key]
1369 if __debug__:
1371 self._complainaboutunusedargs(_gen_p_brew_114,kwargs)
1372 if len(args):
1373 dict2={ 'encoding': PHONE_ENCODING }
1374 dict2.update(kwargs)
1375 kwargs=dict2
1376 self.__field_subdir=USTRING(*args,**dict2)
1377
1379
1380 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1381 'Writes this packet to the supplied buffer'
1382 self._bufferstartoffset=buf.getcurrentoffset()
1383 self.__field_subdir.writetobuffer(buf)
1384 self._bufferendoffset=buf.getcurrentoffset()
1385 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1386
1387
1388 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1389 'Reads this packet from the supplied buffer'
1390 self._bufferstartoffset=buf.getcurrentoffset()
1391 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1392 self.__field_subdir=USTRING(**{ 'encoding': PHONE_ENCODING })
1393 self.__field_subdir.readfrombuffer(buf)
1394 self._bufferendoffset=buf.getcurrentoffset()
1395
1396
1397 def __getfield_subdir(self):
1398 return self.__field_subdir.getvalue()
1399
1400 def __setfield_subdir(self, value):
1401 if isinstance(value,USTRING):
1402 self.__field_subdir=value
1403 else:
1404 self.__field_subdir=USTRING(value,**{ 'encoding': PHONE_ENCODING })
1405
1406 def __delfield_subdir(self): del self.__field_subdir
1407
1408 subdir=property(__getfield_subdir, __setfield_subdir, __delfield_subdir, None)
1409
1410 def iscontainer(self):
1411 return True
1412
1413 def containerelements(self):
1414 yield ('subdir', self.__field_subdir, None)
1415
1416
1417
1418
1419 class listfilerequest(BaseProtogenClass):
1420 "This gets one directory entry (files only) at a time"
1421 __fields=['header', 'entrynumber', 'dirname']
1422
1423 def __init__(self, *args, **kwargs):
1424 dict={}
1425 dict.update(kwargs)
1427 super(listfilerequest,self).__init__(**dict)
1429 if self.__class__ is listfilerequest:
1430 self._update(args,dict)
1431
1432
1433 def getfields(self):
1434 return self.__fields
1435
1436
1437 def _update(self, args, kwargs):
1438 super(listfilerequest,self)._update(args,kwargs)
1439 keys=kwargs.keys()
1440 for key in keys:
1441 if key in self.__fields:
1442 setattr(self, key, kwargs[key])
1443 del kwargs[key]
1444 if __debug__:
1446 self._complainaboutunusedargs(listfilerequest,kwargs)
1447 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1448
1450
1451 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1452 'Writes this packet to the supplied buffer'
1453 self._bufferstartoffset=buf.getcurrentoffset()
1454 try: self.__field_header
1455 except:
1456 self.__field_header=requestheader(**{'command': 0x0b})
1457 self.__field_header.writetobuffer(buf)
1458 self.__field_entrynumber.writetobuffer(buf)
1459 self.__field_dirname.writetobuffer(buf)
1460 self._bufferendoffset=buf.getcurrentoffset()
1461 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1462
1463
1464 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1465 'Reads this packet from the supplied buffer'
1466 self._bufferstartoffset=buf.getcurrentoffset()
1467 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1468 self.__field_header=requestheader(**{'command': 0x0b})
1469 self.__field_header.readfrombuffer(buf)
1470 self.__field_entrynumber=UINT(**{'sizeinbytes': 4})
1471 self.__field_entrynumber.readfrombuffer(buf)
1472 self.__field_dirname=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1473 self.__field_dirname.readfrombuffer(buf)
1474 self._bufferendoffset=buf.getcurrentoffset()
1475
1476
1477 def __getfield_header(self):
1478 try: self.__field_header
1479 except:
1480 self.__field_header=requestheader(**{'command': 0x0b})
1481 return self.__field_header.getvalue()
1482
1483 def __setfield_header(self, value):
1484 if isinstance(value,requestheader):
1485 self.__field_header=value
1486 else:
1487 self.__field_header=requestheader(value,**{'command': 0x0b})
1488
1489 def __delfield_header(self): del self.__field_header
1490
1491 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1492
1493 def __getfield_entrynumber(self):
1494 return self.__field_entrynumber.getvalue()
1495
1496 def __setfield_entrynumber(self, value):
1497 if isinstance(value,UINT):
1498 self.__field_entrynumber=value
1499 else:
1500 self.__field_entrynumber=UINT(value,**{'sizeinbytes': 4})
1501
1502 def __delfield_entrynumber(self): del self.__field_entrynumber
1503
1504 entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
1505
1506 def __getfield_dirname(self):
1507 return self.__field_dirname.getvalue()
1508
1509 def __setfield_dirname(self, value):
1510 if isinstance(value,USTRING):
1511 self.__field_dirname=value
1512 else:
1513 self.__field_dirname=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1514
1515 def __delfield_dirname(self): del self.__field_dirname
1516
1517 dirname=property(__getfield_dirname, __setfield_dirname, __delfield_dirname, None)
1518
1519 def iscontainer(self):
1520 return True
1521
1522 def containerelements(self):
1523 yield ('header', self.__field_header, None)
1524 yield ('entrynumber', self.__field_entrynumber, None)
1525 yield ('dirname', self.__field_dirname, None)
1526
1527
1528
1529
1530 class listfileresponse(BaseProtogenClass):
1531 __fields=['header', 'entrynumber', 'unknown1', 'date', 'size', 'unknown2', 'spuriouszero', 'dirnamelen', 'extrazero', 'filename']
1532
1533 def __init__(self, *args, **kwargs):
1534 dict={}
1535 dict.update(kwargs)
1537 super(listfileresponse,self).__init__(**dict)
1539 if self.__class__ is listfileresponse:
1540 self._update(args,dict)
1541
1542
1543 def getfields(self):
1544 return self.__fields
1545
1546
1547 def _update(self, args, kwargs):
1548 super(listfileresponse,self)._update(args,kwargs)
1549 keys=kwargs.keys()
1550 for key in keys:
1551 if key in self.__fields:
1552 setattr(self, key, kwargs[key])
1553 del kwargs[key]
1554 if __debug__:
1556 self._complainaboutunusedargs(listfileresponse,kwargs)
1557 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1558
1560
1561 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1562 'Writes this packet to the supplied buffer'
1563 self._bufferstartoffset=buf.getcurrentoffset()
1564 self.__field_header.writetobuffer(buf)
1565 self.__field_entrynumber.writetobuffer(buf)
1566 self.__field_unknown1.writetobuffer(buf)
1567 self.__field_date.writetobuffer(buf)
1568 self.__field_size.writetobuffer(buf)
1569 self.__field_unknown2.writetobuffer(buf)
1570 self.__field_spuriouszero.writetobuffer(buf)
1571 self.__field_dirnamelen.writetobuffer(buf)
1572 self.__field_extrazero.writetobuffer(buf)
1573 self.__field_filename.writetobuffer(buf)
1574 self._bufferendoffset=buf.getcurrentoffset()
1575 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1576
1577
1578 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1579 'Reads this packet from the supplied buffer'
1580 self._bufferstartoffset=buf.getcurrentoffset()
1581 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1582 self.__field_header=responseheader()
1583 self.__field_header.readfrombuffer(buf)
1584 self.__field_entrynumber=UINT(**{'sizeinbytes': 4})
1585 self.__field_entrynumber.readfrombuffer(buf)
1586 self.__field_unknown1=UNKNOWN(**{'sizeinbytes': 4})
1587 self.__field_unknown1.readfrombuffer(buf)
1588 self.__field_date=UINT(**{'sizeinbytes': 4})
1589 self.__field_date.readfrombuffer(buf)
1590 self.__field_size=UINT(**{'sizeinbytes': 4})
1591 self.__field_size.readfrombuffer(buf)
1592 self.__field_unknown2=UNKNOWN(**{'sizeinbytes': 4})
1593 self.__field_unknown2.readfrombuffer(buf)
1594 self.__field_spuriouszero=com_brew.SPURIOUSZERO()
1595 self.__field_spuriouszero.readfrombuffer(buf)
1596 self.__field_dirnamelen=UINT(**{'sizeinbytes': 1})
1597 self.__field_dirnamelen.readfrombuffer(buf)
1598 self.__field_extrazero=com_brew.EXTRAZERO()
1599 self.__field_extrazero.readfrombuffer(buf)
1600 self.__field_filename=USTRING(**{'terminator': None, 'pascal': True, 'encoding': PHONE_ENCODING })
1601 self.__field_filename.readfrombuffer(buf)
1602 self._bufferendoffset=buf.getcurrentoffset()
1603
1604
1605 def __getfield_header(self):
1606 return self.__field_header.getvalue()
1607
1608 def __setfield_header(self, value):
1609 if isinstance(value,responseheader):
1610 self.__field_header=value
1611 else:
1612 self.__field_header=responseheader(value,)
1613
1614 def __delfield_header(self): del self.__field_header
1615
1616 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1617
1618 def __getfield_entrynumber(self):
1619 return self.__field_entrynumber.getvalue()
1620
1621 def __setfield_entrynumber(self, value):
1622 if isinstance(value,UINT):
1623 self.__field_entrynumber=value
1624 else:
1625 self.__field_entrynumber=UINT(value,**{'sizeinbytes': 4})
1626
1627 def __delfield_entrynumber(self): del self.__field_entrynumber
1628
1629 entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
1630
1631 def __getfield_unknown1(self):
1632 return self.__field_unknown1.getvalue()
1633
1634 def __setfield_unknown1(self, value):
1635 if isinstance(value,UNKNOWN):
1636 self.__field_unknown1=value
1637 else:
1638 self.__field_unknown1=UNKNOWN(value,**{'sizeinbytes': 4})
1639
1640 def __delfield_unknown1(self): del self.__field_unknown1
1641
1642 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, "probably the file attributes")
1643
1644 def __getfield_date(self):
1645 return self.__field_date.getvalue()
1646
1647 def __setfield_date(self, value):
1648 if isinstance(value,UINT):
1649 self.__field_date=value
1650 else:
1651 self.__field_date=UINT(value,**{'sizeinbytes': 4})
1652
1653 def __delfield_date(self): del self.__field_date
1654
1655 date=property(__getfield_date, __setfield_date, __delfield_date, None)
1656
1657 def __getfield_size(self):
1658 return self.__field_size.getvalue()
1659
1660 def __setfield_size(self, value):
1661 if isinstance(value,UINT):
1662 self.__field_size=value
1663 else:
1664 self.__field_size=UINT(value,**{'sizeinbytes': 4})
1665
1666 def __delfield_size(self): del self.__field_size
1667
1668 size=property(__getfield_size, __setfield_size, __delfield_size, None)
1669
1670 def __getfield_unknown2(self):
1671 return self.__field_unknown2.getvalue()
1672
1673 def __setfield_unknown2(self, value):
1674 if isinstance(value,UNKNOWN):
1675 self.__field_unknown2=value
1676 else:
1677 self.__field_unknown2=UNKNOWN(value,**{'sizeinbytes': 4})
1678
1679 def __delfield_unknown2(self): del self.__field_unknown2
1680
1681 unknown2=property(__getfield_unknown2, __setfield_unknown2, __delfield_unknown2, None)
1682
1683 def __getfield_spuriouszero(self):
1684 return self.__field_spuriouszero.getvalue()
1685
1686 def __setfield_spuriouszero(self, value):
1687 if isinstance(value,com_brew.SPURIOUSZERO):
1688 self.__field_spuriouszero=value
1689 else:
1690 self.__field_spuriouszero=com_brew.SPURIOUSZERO(value,)
1691
1692 def __delfield_spuriouszero(self): del self.__field_spuriouszero
1693
1694 spuriouszero=property(__getfield_spuriouszero, __setfield_spuriouszero, __delfield_spuriouszero, "on some models there is a zero here")
1695
1696 def __getfield_dirnamelen(self):
1697 return self.__field_dirnamelen.getvalue()
1698
1699 def __setfield_dirnamelen(self, value):
1700 if isinstance(value,UINT):
1701 self.__field_dirnamelen=value
1702 else:
1703 self.__field_dirnamelen=UINT(value,**{'sizeinbytes': 1})
1704
1705 def __delfield_dirnamelen(self): del self.__field_dirnamelen
1706
1707 dirnamelen=property(__getfield_dirnamelen, __setfield_dirnamelen, __delfield_dirnamelen, "which portion of the filename is the directory, including the last /")
1708
1709 def __getfield_extrazero(self):
1710 return self.__field_extrazero.getvalue()
1711
1712 def __setfield_extrazero(self, value):
1713 if isinstance(value,com_brew.EXTRAZERO):
1714 self.__field_extrazero=value
1715 else:
1716 self.__field_extrazero=com_brew.EXTRAZERO(value,)
1717
1718 def __delfield_extrazero(self): del self.__field_extrazero
1719
1720 extrazero=property(__getfield_extrazero, __setfield_extrazero, __delfield_extrazero, "on some models there is a zero here")
1721
1722 def __getfield_filename(self):
1723 return self.__field_filename.getvalue()
1724
1725 def __setfield_filename(self, value):
1726 if isinstance(value,USTRING):
1727 self.__field_filename=value
1728 else:
1729 self.__field_filename=USTRING(value,**{'terminator': None, 'pascal': True, 'encoding': PHONE_ENCODING })
1730
1731 def __delfield_filename(self): del self.__field_filename
1732
1733 filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
1734
1735 def iscontainer(self):
1736 return True
1737
1738 def containerelements(self):
1739 yield ('header', self.__field_header, None)
1740 yield ('entrynumber', self.__field_entrynumber, None)
1741 yield ('unknown1', self.__field_unknown1, "probably the file attributes")
1742 yield ('date', self.__field_date, None)
1743 yield ('size', self.__field_size, None)
1744 yield ('unknown2', self.__field_unknown2, None)
1745 yield ('spuriouszero', self.__field_spuriouszero, "on some models there is a zero here")
1746 yield ('dirnamelen', self.__field_dirnamelen, "which portion of the filename is the directory, including the last /")
1747 yield ('extrazero', self.__field_extrazero, "on some models there is a zero here")
1748 yield ('filename', self.__field_filename, None)
1749
1750
1751
1752
1753 class listdirectoryrequest(BaseProtogenClass):
1754 "This gets one directory entry (directory only) at a time"
1755 __fields=['header', 'entrynumber', 'dirname']
1756
1757 def __init__(self, *args, **kwargs):
1758 dict={}
1759 dict.update(kwargs)
1761 super(listdirectoryrequest,self).__init__(**dict)
1763 if self.__class__ is listdirectoryrequest:
1764 self._update(args,dict)
1765
1766
1767 def getfields(self):
1768 return self.__fields
1769
1770
1771 def _update(self, args, kwargs):
1772 super(listdirectoryrequest,self)._update(args,kwargs)
1773 keys=kwargs.keys()
1774 for key in keys:
1775 if key in self.__fields:
1776 setattr(self, key, kwargs[key])
1777 del kwargs[key]
1778 if __debug__:
1780 self._complainaboutunusedargs(listdirectoryrequest,kwargs)
1781 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1782
1784
1785 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1786 'Writes this packet to the supplied buffer'
1787 self._bufferstartoffset=buf.getcurrentoffset()
1788 try: self.__field_header
1789 except:
1790 self.__field_header=requestheader(**{'command': 0x0a})
1791 self.__field_header.writetobuffer(buf)
1792 self.__field_entrynumber.writetobuffer(buf)
1793 self.__field_dirname.writetobuffer(buf)
1794 self._bufferendoffset=buf.getcurrentoffset()
1795 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1796
1797
1798 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1799 'Reads this packet from the supplied buffer'
1800 self._bufferstartoffset=buf.getcurrentoffset()
1801 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1802 self.__field_header=requestheader(**{'command': 0x0a})
1803 self.__field_header.readfrombuffer(buf)
1804 self.__field_entrynumber=UINT(**{'sizeinbytes': 4})
1805 self.__field_entrynumber.readfrombuffer(buf)
1806 self.__field_dirname=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1807 self.__field_dirname.readfrombuffer(buf)
1808 self._bufferendoffset=buf.getcurrentoffset()
1809
1810
1811 def __getfield_header(self):
1812 try: self.__field_header
1813 except:
1814 self.__field_header=requestheader(**{'command': 0x0a})
1815 return self.__field_header.getvalue()
1816
1817 def __setfield_header(self, value):
1818 if isinstance(value,requestheader):
1819 self.__field_header=value
1820 else:
1821 self.__field_header=requestheader(value,**{'command': 0x0a})
1822
1823 def __delfield_header(self): del self.__field_header
1824
1825 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1826
1827 def __getfield_entrynumber(self):
1828 return self.__field_entrynumber.getvalue()
1829
1830 def __setfield_entrynumber(self, value):
1831 if isinstance(value,UINT):
1832 self.__field_entrynumber=value
1833 else:
1834 self.__field_entrynumber=UINT(value,**{'sizeinbytes': 4})
1835
1836 def __delfield_entrynumber(self): del self.__field_entrynumber
1837
1838 entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
1839
1840 def __getfield_dirname(self):
1841 return self.__field_dirname.getvalue()
1842
1843 def __setfield_dirname(self, value):
1844 if isinstance(value,USTRING):
1845 self.__field_dirname=value
1846 else:
1847 self.__field_dirname=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
1848
1849 def __delfield_dirname(self): del self.__field_dirname
1850
1851 dirname=property(__getfield_dirname, __setfield_dirname, __delfield_dirname, None)
1852
1853 def iscontainer(self):
1854 return True
1855
1856 def containerelements(self):
1857 yield ('header', self.__field_header, None)
1858 yield ('entrynumber', self.__field_entrynumber, None)
1859 yield ('dirname', self.__field_dirname, None)
1860
1861
1862
1863
1864 class listdirectoryresponse(BaseProtogenClass):
1865 __fields=['header', 'entrynumber', 'unknown1', 'extrazero', 'subdir']
1866
1867 def __init__(self, *args, **kwargs):
1868 dict={}
1869 dict.update(kwargs)
1871 super(listdirectoryresponse,self).__init__(**dict)
1873 if self.__class__ is listdirectoryresponse:
1874 self._update(args,dict)
1875
1876
1877 def getfields(self):
1878 return self.__fields
1879
1880
1881 def _update(self, args, kwargs):
1882 super(listdirectoryresponse,self)._update(args,kwargs)
1883 keys=kwargs.keys()
1884 for key in keys:
1885 if key in self.__fields:
1886 setattr(self, key, kwargs[key])
1887 del kwargs[key]
1888 if __debug__:
1890 self._complainaboutunusedargs(listdirectoryresponse,kwargs)
1891 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
1892
1894
1895 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
1896 'Writes this packet to the supplied buffer'
1897 self._bufferstartoffset=buf.getcurrentoffset()
1898 self.__field_header.writetobuffer(buf)
1899 self.__field_entrynumber.writetobuffer(buf)
1900 self.__field_unknown1.writetobuffer(buf)
1901 self.__field_extrazero.writetobuffer(buf)
1902 self.__field_subdir.writetobuffer(buf)
1903 self._bufferendoffset=buf.getcurrentoffset()
1904 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
1905
1906
1907 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
1908 'Reads this packet from the supplied buffer'
1909 self._bufferstartoffset=buf.getcurrentoffset()
1910 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
1911 self.__field_header=responseheader()
1912 self.__field_header.readfrombuffer(buf)
1913 self.__field_entrynumber=UINT(**{'sizeinbytes': 4})
1914 self.__field_entrynumber.readfrombuffer(buf)
1915 self.__field_unknown1=UNKNOWN(**{'sizeinbytes': 17})
1916 self.__field_unknown1.readfrombuffer(buf)
1917 self.__field_extrazero=com_brew.EXTRAZERO()
1918 self.__field_extrazero.readfrombuffer(buf)
1919 self.__field_subdir=USTRING(**{'terminator': None, 'pascal': True, 'encoding': PHONE_ENCODING })
1920 self.__field_subdir.readfrombuffer(buf)
1921 self._bufferendoffset=buf.getcurrentoffset()
1922
1923
1924 def __getfield_header(self):
1925 return self.__field_header.getvalue()
1926
1927 def __setfield_header(self, value):
1928 if isinstance(value,responseheader):
1929 self.__field_header=value
1930 else:
1931 self.__field_header=responseheader(value,)
1932
1933 def __delfield_header(self): del self.__field_header
1934
1935 header=property(__getfield_header, __setfield_header, __delfield_header, None)
1936
1937 def __getfield_entrynumber(self):
1938 return self.__field_entrynumber.getvalue()
1939
1940 def __setfield_entrynumber(self, value):
1941 if isinstance(value,UINT):
1942 self.__field_entrynumber=value
1943 else:
1944 self.__field_entrynumber=UINT(value,**{'sizeinbytes': 4})
1945
1946 def __delfield_entrynumber(self): del self.__field_entrynumber
1947
1948 entrynumber=property(__getfield_entrynumber, __setfield_entrynumber, __delfield_entrynumber, None)
1949
1950 def __getfield_unknown1(self):
1951 return self.__field_unknown1.getvalue()
1952
1953 def __setfield_unknown1(self, value):
1954 if isinstance(value,UNKNOWN):
1955 self.__field_unknown1=value
1956 else:
1957 self.__field_unknown1=UNKNOWN(value,**{'sizeinbytes': 17})
1958
1959 def __delfield_unknown1(self): del self.__field_unknown1
1960
1961 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, "probably the directory attributes")
1962
1963 def __getfield_extrazero(self):
1964 return self.__field_extrazero.getvalue()
1965
1966 def __setfield_extrazero(self, value):
1967 if isinstance(value,com_brew.EXTRAZERO):
1968 self.__field_extrazero=value
1969 else:
1970 self.__field_extrazero=com_brew.EXTRAZERO(value,)
1971
1972 def __delfield_extrazero(self): del self.__field_extrazero
1973
1974 extrazero=property(__getfield_extrazero, __setfield_extrazero, __delfield_extrazero, "on some models there is a zero here")
1975
1976 def __getfield_subdir(self):
1977 return self.__field_subdir.getvalue()
1978
1979 def __setfield_subdir(self, value):
1980 if isinstance(value,USTRING):
1981 self.__field_subdir=value
1982 else:
1983 self.__field_subdir=USTRING(value,**{'terminator': None, 'pascal': True, 'encoding': PHONE_ENCODING })
1984
1985 def __delfield_subdir(self): del self.__field_subdir
1986
1987 subdir=property(__getfield_subdir, __setfield_subdir, __delfield_subdir, None)
1988
1989 def iscontainer(self):
1990 return True
1991
1992 def containerelements(self):
1993 yield ('header', self.__field_header, None)
1994 yield ('entrynumber', self.__field_entrynumber, None)
1995 yield ('unknown1', self.__field_unknown1, "probably the directory attributes")
1996 yield ('extrazero', self.__field_extrazero, "on some models there is a zero here")
1997 yield ('subdir', self.__field_subdir, None)
1998
1999
2000
2001
2002 class statfilerequest(BaseProtogenClass):
2003 "Get the status of the file"
2004 __fields=['header', 'filename']
2005
2006 def __init__(self, *args, **kwargs):
2007 dict={}
2008 dict.update(kwargs)
2010 super(statfilerequest,self).__init__(**dict)
2012 if self.__class__ is statfilerequest:
2013 self._update(args,dict)
2014
2015
2016 def getfields(self):
2017 return self.__fields
2018
2019
2020 def _update(self, args, kwargs):
2021 super(statfilerequest,self)._update(args,kwargs)
2022 keys=kwargs.keys()
2023 for key in keys:
2024 if key in self.__fields:
2025 setattr(self, key, kwargs[key])
2026 del kwargs[key]
2027 if __debug__:
2029 self._complainaboutunusedargs(statfilerequest,kwargs)
2030 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2031
2033
2034 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2035 'Writes this packet to the supplied buffer'
2036 self._bufferstartoffset=buf.getcurrentoffset()
2037 try: self.__field_header
2038 except:
2039 self.__field_header=requestheader(**{ 'command': 7 })
2040 self.__field_header.writetobuffer(buf)
2041 self.__field_filename.writetobuffer(buf)
2042 self._bufferendoffset=buf.getcurrentoffset()
2043 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2044
2045
2046 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2047 'Reads this packet from the supplied buffer'
2048 self._bufferstartoffset=buf.getcurrentoffset()
2049 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2050 self.__field_header=requestheader(**{ 'command': 7 })
2051 self.__field_header.readfrombuffer(buf)
2052 self.__field_filename=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2053 self.__field_filename.readfrombuffer(buf)
2054 self._bufferendoffset=buf.getcurrentoffset()
2055
2056
2057 def __getfield_header(self):
2058 try: self.__field_header
2059 except:
2060 self.__field_header=requestheader(**{ 'command': 7 })
2061 return self.__field_header.getvalue()
2062
2063 def __setfield_header(self, value):
2064 if isinstance(value,requestheader):
2065 self.__field_header=value
2066 else:
2067 self.__field_header=requestheader(value,**{ 'command': 7 })
2068
2069 def __delfield_header(self): del self.__field_header
2070
2071 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2072
2073 def __getfield_filename(self):
2074 return self.__field_filename.getvalue()
2075
2076 def __setfield_filename(self, value):
2077 if isinstance(value,USTRING):
2078 self.__field_filename=value
2079 else:
2080 self.__field_filename=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2081
2082 def __delfield_filename(self): del self.__field_filename
2083
2084 filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
2085
2086 def iscontainer(self):
2087 return True
2088
2089 def containerelements(self):
2090 yield ('header', self.__field_header, None)
2091 yield ('filename', self.__field_filename, None)
2092
2093
2094
2095
2096 class statfileresponse(BaseProtogenClass):
2097 __fields=['header', 'unknown1', 'date', 'size']
2098
2099 def __init__(self, *args, **kwargs):
2100 dict={}
2101 dict.update(kwargs)
2103 super(statfileresponse,self).__init__(**dict)
2105 if self.__class__ is statfileresponse:
2106 self._update(args,dict)
2107
2108
2109 def getfields(self):
2110 return self.__fields
2111
2112
2113 def _update(self, args, kwargs):
2114 super(statfileresponse,self)._update(args,kwargs)
2115 keys=kwargs.keys()
2116 for key in keys:
2117 if key in self.__fields:
2118 setattr(self, key, kwargs[key])
2119 del kwargs[key]
2120 if __debug__:
2122 self._complainaboutunusedargs(statfileresponse,kwargs)
2123 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2124
2126
2127 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2128 'Writes this packet to the supplied buffer'
2129 self._bufferstartoffset=buf.getcurrentoffset()
2130 self.__field_header.writetobuffer(buf)
2131 self.__field_unknown1.writetobuffer(buf)
2132 self.__field_date.writetobuffer(buf)
2133 self.__field_size.writetobuffer(buf)
2134 self._bufferendoffset=buf.getcurrentoffset()
2135 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2136
2137
2138 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2139 'Reads this packet from the supplied buffer'
2140 self._bufferstartoffset=buf.getcurrentoffset()
2141 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2142 self.__field_header=responseheader()
2143 self.__field_header.readfrombuffer(buf)
2144 self.__field_unknown1=UNKNOWN(**{'sizeinbytes': 4})
2145 self.__field_unknown1.readfrombuffer(buf)
2146 self.__field_date=UINT(**{'sizeinbytes': 4})
2147 self.__field_date.readfrombuffer(buf)
2148 self.__field_size=UINT(**{'sizeinbytes': 4})
2149 self.__field_size.readfrombuffer(buf)
2150 self._bufferendoffset=buf.getcurrentoffset()
2151
2152
2153 def __getfield_header(self):
2154 return self.__field_header.getvalue()
2155
2156 def __setfield_header(self, value):
2157 if isinstance(value,responseheader):
2158 self.__field_header=value
2159 else:
2160 self.__field_header=responseheader(value,)
2161
2162 def __delfield_header(self): del self.__field_header
2163
2164 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2165
2166 def __getfield_unknown1(self):
2167 return self.__field_unknown1.getvalue()
2168
2169 def __setfield_unknown1(self, value):
2170 if isinstance(value,UNKNOWN):
2171 self.__field_unknown1=value
2172 else:
2173 self.__field_unknown1=UNKNOWN(value,**{'sizeinbytes': 4})
2174
2175 def __delfield_unknown1(self): del self.__field_unknown1
2176
2177 unknown1=property(__getfield_unknown1, __setfield_unknown1, __delfield_unknown1, "probably the file attributes")
2178
2179 def __getfield_date(self):
2180 return self.__field_date.getvalue()
2181
2182 def __setfield_date(self, value):
2183 if isinstance(value,UINT):
2184 self.__field_date=value
2185 else:
2186 self.__field_date=UINT(value,**{'sizeinbytes': 4})
2187
2188 def __delfield_date(self): del self.__field_date
2189
2190 date=property(__getfield_date, __setfield_date, __delfield_date, None)
2191
2192 def __getfield_size(self):
2193 return self.__field_size.getvalue()
2194
2195 def __setfield_size(self, value):
2196 if isinstance(value,UINT):
2197 self.__field_size=value
2198 else:
2199 self.__field_size=UINT(value,**{'sizeinbytes': 4})
2200
2201 def __delfield_size(self): del self.__field_size
2202
2203 size=property(__getfield_size, __setfield_size, __delfield_size, None)
2204
2205 def iscontainer(self):
2206 return True
2207
2208 def containerelements(self):
2209 yield ('header', self.__field_header, None)
2210 yield ('unknown1', self.__field_unknown1, "probably the file attributes")
2211 yield ('date', self.__field_date, None)
2212 yield ('size', self.__field_size, None)
2213
2214
2215
2216
2217 class mkdirrequest(BaseProtogenClass):
2218 __fields=['header', 'dirname']
2219
2220 def __init__(self, *args, **kwargs):
2221 dict={}
2222 dict.update(kwargs)
2224 super(mkdirrequest,self).__init__(**dict)
2226 if self.__class__ is mkdirrequest:
2227 self._update(args,dict)
2228
2229
2230 def getfields(self):
2231 return self.__fields
2232
2233
2234 def _update(self, args, kwargs):
2235 super(mkdirrequest,self)._update(args,kwargs)
2236 keys=kwargs.keys()
2237 for key in keys:
2238 if key in self.__fields:
2239 setattr(self, key, kwargs[key])
2240 del kwargs[key]
2241 if __debug__:
2243 self._complainaboutunusedargs(mkdirrequest,kwargs)
2244 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2245
2247
2248 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2249 'Writes this packet to the supplied buffer'
2250 self._bufferstartoffset=buf.getcurrentoffset()
2251 try: self.__field_header
2252 except:
2253 self.__field_header=requestheader(**{'command': 0x00})
2254 self.__field_header.writetobuffer(buf)
2255 self.__field_dirname.writetobuffer(buf)
2256 self._bufferendoffset=buf.getcurrentoffset()
2257 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2258
2259
2260 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2261 'Reads this packet from the supplied buffer'
2262 self._bufferstartoffset=buf.getcurrentoffset()
2263 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2264 self.__field_header=requestheader(**{'command': 0x00})
2265 self.__field_header.readfrombuffer(buf)
2266 self.__field_dirname=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2267 self.__field_dirname.readfrombuffer(buf)
2268 self._bufferendoffset=buf.getcurrentoffset()
2269
2270
2271 def __getfield_header(self):
2272 try: self.__field_header
2273 except:
2274 self.__field_header=requestheader(**{'command': 0x00})
2275 return self.__field_header.getvalue()
2276
2277 def __setfield_header(self, value):
2278 if isinstance(value,requestheader):
2279 self.__field_header=value
2280 else:
2281 self.__field_header=requestheader(value,**{'command': 0x00})
2282
2283 def __delfield_header(self): del self.__field_header
2284
2285 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2286
2287 def __getfield_dirname(self):
2288 return self.__field_dirname.getvalue()
2289
2290 def __setfield_dirname(self, value):
2291 if isinstance(value,USTRING):
2292 self.__field_dirname=value
2293 else:
2294 self.__field_dirname=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2295
2296 def __delfield_dirname(self): del self.__field_dirname
2297
2298 dirname=property(__getfield_dirname, __setfield_dirname, __delfield_dirname, None)
2299
2300 def iscontainer(self):
2301 return True
2302
2303 def containerelements(self):
2304 yield ('header', self.__field_header, None)
2305 yield ('dirname', self.__field_dirname, None)
2306
2307
2308
2309
2310 class rmdirrequest(BaseProtogenClass):
2311 __fields=['header', 'dirname']
2312
2313 def __init__(self, *args, **kwargs):
2314 dict={}
2315 dict.update(kwargs)
2317 super(rmdirrequest,self).__init__(**dict)
2319 if self.__class__ is rmdirrequest:
2320 self._update(args,dict)
2321
2322
2323 def getfields(self):
2324 return self.__fields
2325
2326
2327 def _update(self, args, kwargs):
2328 super(rmdirrequest,self)._update(args,kwargs)
2329 keys=kwargs.keys()
2330 for key in keys:
2331 if key in self.__fields:
2332 setattr(self, key, kwargs[key])
2333 del kwargs[key]
2334 if __debug__:
2336 self._complainaboutunusedargs(rmdirrequest,kwargs)
2337 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2338
2340
2341 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2342 'Writes this packet to the supplied buffer'
2343 self._bufferstartoffset=buf.getcurrentoffset()
2344 try: self.__field_header
2345 except:
2346 self.__field_header=requestheader(**{'command': 0x01})
2347 self.__field_header.writetobuffer(buf)
2348 self.__field_dirname.writetobuffer(buf)
2349 self._bufferendoffset=buf.getcurrentoffset()
2350 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2351
2352
2353 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2354 'Reads this packet from the supplied buffer'
2355 self._bufferstartoffset=buf.getcurrentoffset()
2356 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2357 self.__field_header=requestheader(**{'command': 0x01})
2358 self.__field_header.readfrombuffer(buf)
2359 self.__field_dirname=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2360 self.__field_dirname.readfrombuffer(buf)
2361 self._bufferendoffset=buf.getcurrentoffset()
2362
2363
2364 def __getfield_header(self):
2365 try: self.__field_header
2366 except:
2367 self.__field_header=requestheader(**{'command': 0x01})
2368 return self.__field_header.getvalue()
2369
2370 def __setfield_header(self, value):
2371 if isinstance(value,requestheader):
2372 self.__field_header=value
2373 else:
2374 self.__field_header=requestheader(value,**{'command': 0x01})
2375
2376 def __delfield_header(self): del self.__field_header
2377
2378 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2379
2380 def __getfield_dirname(self):
2381 return self.__field_dirname.getvalue()
2382
2383 def __setfield_dirname(self, value):
2384 if isinstance(value,USTRING):
2385 self.__field_dirname=value
2386 else:
2387 self.__field_dirname=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2388
2389 def __delfield_dirname(self): del self.__field_dirname
2390
2391 dirname=property(__getfield_dirname, __setfield_dirname, __delfield_dirname, None)
2392
2393 def iscontainer(self):
2394 return True
2395
2396 def containerelements(self):
2397 yield ('header', self.__field_header, None)
2398 yield ('dirname', self.__field_dirname, None)
2399
2400
2401
2402
2403 class rmfilerequest(BaseProtogenClass):
2404 __fields=['header', 'filename']
2405
2406 def __init__(self, *args, **kwargs):
2407 dict={}
2408 dict.update(kwargs)
2410 super(rmfilerequest,self).__init__(**dict)
2412 if self.__class__ is rmfilerequest:
2413 self._update(args,dict)
2414
2415
2416 def getfields(self):
2417 return self.__fields
2418
2419
2420 def _update(self, args, kwargs):
2421 super(rmfilerequest,self)._update(args,kwargs)
2422 keys=kwargs.keys()
2423 for key in keys:
2424 if key in self.__fields:
2425 setattr(self, key, kwargs[key])
2426 del kwargs[key]
2427 if __debug__:
2429 self._complainaboutunusedargs(rmfilerequest,kwargs)
2430 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2431
2433
2434 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2435 'Writes this packet to the supplied buffer'
2436 self._bufferstartoffset=buf.getcurrentoffset()
2437 try: self.__field_header
2438 except:
2439 self.__field_header=requestheader(**{'command': 0x06})
2440 self.__field_header.writetobuffer(buf)
2441 self.__field_filename.writetobuffer(buf)
2442 self._bufferendoffset=buf.getcurrentoffset()
2443 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2444
2445
2446 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2447 'Reads this packet from the supplied buffer'
2448 self._bufferstartoffset=buf.getcurrentoffset()
2449 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2450 self.__field_header=requestheader(**{'command': 0x06})
2451 self.__field_header.readfrombuffer(buf)
2452 self.__field_filename=USTRING(**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2453 self.__field_filename.readfrombuffer(buf)
2454 self._bufferendoffset=buf.getcurrentoffset()
2455
2456
2457 def __getfield_header(self):
2458 try: self.__field_header
2459 except:
2460 self.__field_header=requestheader(**{'command': 0x06})
2461 return self.__field_header.getvalue()
2462
2463 def __setfield_header(self, value):
2464 if isinstance(value,requestheader):
2465 self.__field_header=value
2466 else:
2467 self.__field_header=requestheader(value,**{'command': 0x06})
2468
2469 def __delfield_header(self): del self.__field_header
2470
2471 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2472
2473 def __getfield_filename(self):
2474 return self.__field_filename.getvalue()
2475
2476 def __setfield_filename(self, value):
2477 if isinstance(value,USTRING):
2478 self.__field_filename=value
2479 else:
2480 self.__field_filename=USTRING(value,**{'terminator': 0, 'pascal': True, 'encoding': PHONE_ENCODING })
2481
2482 def __delfield_filename(self): del self.__field_filename
2483
2484 filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
2485
2486 def iscontainer(self):
2487 return True
2488
2489 def containerelements(self):
2490 yield ('header', self.__field_header, None)
2491 yield ('filename', self.__field_filename, None)
2492
2493
2494
2495
2496 class memoryconfigrequest(BaseProtogenClass):
2497 __fields=['header']
2498
2499 def __init__(self, *args, **kwargs):
2500 dict={}
2501 dict.update(kwargs)
2503 super(memoryconfigrequest,self).__init__(**dict)
2505 if self.__class__ is memoryconfigrequest:
2506 self._update(args,dict)
2507
2508
2509 def getfields(self):
2510 return self.__fields
2511
2512
2513 def _update(self, args, kwargs):
2514 super(memoryconfigrequest,self)._update(args,kwargs)
2515 keys=kwargs.keys()
2516 for key in keys:
2517 if key in self.__fields:
2518 setattr(self, key, kwargs[key])
2519 del kwargs[key]
2520 if __debug__:
2522 self._complainaboutunusedargs(memoryconfigrequest,kwargs)
2523 if len(args):
2524 dict2={'command': 0x0c}
2525 dict2.update(kwargs)
2526 kwargs=dict2
2527 self.__field_header=requestheader(*args,**dict2)
2528
2530
2531 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2532 'Writes this packet to the supplied buffer'
2533 self._bufferstartoffset=buf.getcurrentoffset()
2534 try: self.__field_header
2535 except:
2536 self.__field_header=requestheader(**{'command': 0x0c})
2537 self.__field_header.writetobuffer(buf)
2538 self._bufferendoffset=buf.getcurrentoffset()
2539 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2540
2541
2542 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2543 'Reads this packet from the supplied buffer'
2544 self._bufferstartoffset=buf.getcurrentoffset()
2545 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2546 self.__field_header=requestheader(**{'command': 0x0c})
2547 self.__field_header.readfrombuffer(buf)
2548 self._bufferendoffset=buf.getcurrentoffset()
2549
2550
2551 def __getfield_header(self):
2552 try: self.__field_header
2553 except:
2554 self.__field_header=requestheader(**{'command': 0x0c})
2555 return self.__field_header.getvalue()
2556
2557 def __setfield_header(self, value):
2558 if isinstance(value,requestheader):
2559 self.__field_header=value
2560 else:
2561 self.__field_header=requestheader(value,**{'command': 0x0c})
2562
2563 def __delfield_header(self): del self.__field_header
2564
2565 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2566
2567 def iscontainer(self):
2568 return True
2569
2570 def containerelements(self):
2571 yield ('header', self.__field_header, None)
2572
2573
2574
2575
2576 class memoryconfigresponse(BaseProtogenClass):
2577 __fields=['header', 'amountofmemory']
2578
2579 def __init__(self, *args, **kwargs):
2580 dict={}
2581 dict.update(kwargs)
2583 super(memoryconfigresponse,self).__init__(**dict)
2585 if self.__class__ is memoryconfigresponse:
2586 self._update(args,dict)
2587
2588
2589 def getfields(self):
2590 return self.__fields
2591
2592
2593 def _update(self, args, kwargs):
2594 super(memoryconfigresponse,self)._update(args,kwargs)
2595 keys=kwargs.keys()
2596 for key in keys:
2597 if key in self.__fields:
2598 setattr(self, key, kwargs[key])
2599 del kwargs[key]
2600 if __debug__:
2602 self._complainaboutunusedargs(memoryconfigresponse,kwargs)
2603 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2604
2606
2607 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2608 'Writes this packet to the supplied buffer'
2609 self._bufferstartoffset=buf.getcurrentoffset()
2610 self.__field_header.writetobuffer(buf)
2611 self.__field_amountofmemory.writetobuffer(buf)
2612 self._bufferendoffset=buf.getcurrentoffset()
2613 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2614
2615
2616 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2617 'Reads this packet from the supplied buffer'
2618 self._bufferstartoffset=buf.getcurrentoffset()
2619 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2620 self.__field_header=responseheader()
2621 self.__field_header.readfrombuffer(buf)
2622 self.__field_amountofmemory=UINT(**{'sizeinbytes': 4})
2623 self.__field_amountofmemory.readfrombuffer(buf)
2624 self._bufferendoffset=buf.getcurrentoffset()
2625
2626
2627 def __getfield_header(self):
2628 return self.__field_header.getvalue()
2629
2630 def __setfield_header(self, value):
2631 if isinstance(value,responseheader):
2632 self.__field_header=value
2633 else:
2634 self.__field_header=responseheader(value,)
2635
2636 def __delfield_header(self): del self.__field_header
2637
2638 header=property(__getfield_header, __setfield_header, __delfield_header, None)
2639
2640 def __getfield_amountofmemory(self):
2641 return self.__field_amountofmemory.getvalue()
2642
2643 def __setfield_amountofmemory(self, value):
2644 if isinstance(value,UINT):
2645 self.__field_amountofmemory=value
2646 else:
2647 self.__field_amountofmemory=UINT(value,**{'sizeinbytes': 4})
2648
2649 def __delfield_amountofmemory(self): del self.__field_amountofmemory
2650
2651 amountofmemory=property(__getfield_amountofmemory, __setfield_amountofmemory, __delfield_amountofmemory, "how much memory the EFS has in bytes")
2652
2653 def iscontainer(self):
2654 return True
2655
2656 def containerelements(self):
2657 yield ('header', self.__field_header, None)
2658 yield ('amountofmemory', self.__field_amountofmemory, "how much memory the EFS has in bytes")
2659
2660
2661
2662
2663 class firmwarerequest(BaseProtogenClass):
2664 __fields=['command']
2665
2666 def __init__(self, *args, **kwargs):
2667 dict={}
2668 dict.update(kwargs)
2670 super(firmwarerequest,self).__init__(**dict)
2672 if self.__class__ is firmwarerequest:
2673 self._update(args,dict)
2674
2675
2676 def getfields(self):
2677 return self.__fields
2678
2679
2680 def _update(self, args, kwargs):
2681 super(firmwarerequest,self)._update(args,kwargs)
2682 keys=kwargs.keys()
2683 for key in keys:
2684 if key in self.__fields:
2685 setattr(self, key, kwargs[key])
2686 del kwargs[key]
2687 if __debug__:
2689 self._complainaboutunusedargs(firmwarerequest,kwargs)
2690 if len(args):
2691 dict2={'sizeinbytes': 1, 'constant': 0x00}
2692 dict2.update(kwargs)
2693 kwargs=dict2
2694 self.__field_command=UINT(*args,**dict2)
2695
2697
2698 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2699 'Writes this packet to the supplied buffer'
2700 self._bufferstartoffset=buf.getcurrentoffset()
2701 try: self.__field_command
2702 except:
2703 self.__field_command=UINT(**{'sizeinbytes': 1, 'constant': 0x00})
2704 self.__field_command.writetobuffer(buf)
2705 self._bufferendoffset=buf.getcurrentoffset()
2706 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2707
2708
2709 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2710 'Reads this packet from the supplied buffer'
2711 self._bufferstartoffset=buf.getcurrentoffset()
2712 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2713 self.__field_command=UINT(**{'sizeinbytes': 1, 'constant': 0x00})
2714 self.__field_command.readfrombuffer(buf)
2715 self._bufferendoffset=buf.getcurrentoffset()
2716
2717
2718 def __getfield_command(self):
2719 try: self.__field_command
2720 except:
2721 self.__field_command=UINT(**{'sizeinbytes': 1, 'constant': 0x00})
2722 return self.__field_command.getvalue()
2723
2724 def __setfield_command(self, value):
2725 if isinstance(value,UINT):
2726 self.__field_command=value
2727 else:
2728 self.__field_command=UINT(value,**{'sizeinbytes': 1, 'constant': 0x00})
2729
2730 def __delfield_command(self): del self.__field_command
2731
2732 command=property(__getfield_command, __setfield_command, __delfield_command, None)
2733
2734 def iscontainer(self):
2735 return True
2736
2737 def containerelements(self):
2738 yield ('command', self.__field_command, None)
2739
2740
2741
2742
2743 class firmwareresponse(BaseProtogenClass):
2744 __fields=['command', 'date1', 'time1', 'date2', 'time2', 'string1', 'dunno1', 'date3', 'dunno2', 'time3', 'dunno3', 'firmware']
2745
2746 def __init__(self, *args, **kwargs):
2747 dict={}
2748 dict.update(kwargs)
2750 super(firmwareresponse,self).__init__(**dict)
2752 if self.__class__ is firmwareresponse:
2753 self._update(args,dict)
2754
2755
2756 def getfields(self):
2757 return self.__fields
2758
2759
2760 def _update(self, args, kwargs):
2761 super(firmwareresponse,self)._update(args,kwargs)
2762 keys=kwargs.keys()
2763 for key in keys:
2764 if key in self.__fields:
2765 setattr(self, key, kwargs[key])
2766 del kwargs[key]
2767 if __debug__:
2769 self._complainaboutunusedargs(firmwareresponse,kwargs)
2770 if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
2771
2773
2774 def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
2775 'Writes this packet to the supplied buffer'
2776 self._bufferstartoffset=buf.getcurrentoffset()
2777 self.__field_command.writetobuffer(buf)
2778 self.__field_date1.writetobuffer(buf)
2779 self.__field_time1.writetobuffer(buf)
2780 self.__field_date2.writetobuffer(buf)
2781 self.__field_time2.writetobuffer(buf)
2782 self.__field_string1.writetobuffer(buf)
2783 self.__field_dunno1.writetobuffer(buf)
2784 self.__field_date3.writetobuffer(buf)
2785 self.__field_dunno2.writetobuffer(buf)
2786 self.__field_time3.writetobuffer(buf)
2787 self.__field_dunno3.writetobuffer(buf)
2788 self.__field_firmware.writetobuffer(buf)
2789 self._bufferendoffset=buf.getcurrentoffset()
2790 if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
2791
2792
2793 def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
2794 'Reads this packet from the supplied buffer'
2795 self._bufferstartoffset=buf.getcurrentoffset()
2796 if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
2797 self.__field_command=UINT(**{'sizeinbytes': 1})
2798 self.__field_command.readfrombuffer(buf)
2799 self.__field_date1=USTRING(**{'sizeinbytes': 11, 'terminator': None})
2800 self.__field_date1.readfrombuffer(buf)
2801 self.__field_time1=USTRING(**{'sizeinbytes': 8, 'terminator': None})
2802 self.__field_time1.readfrombuffer(buf)
2803 self.__field_date2=USTRING(**{'sizeinbytes': 11, 'terminator': None})
2804 self.__field_date2.readfrombuffer(buf)
2805 self.__field_time2=USTRING(**{'sizeinbytes': 8, 'terminator': None})
2806 self.__field_time2.readfrombuffer(buf)
2807 self.__field_string1=USTRING(**{'sizeinbytes': 8, 'terminator': None})
2808 self.__field_string1.readfrombuffer(buf)
2809 self.__field_dunno1=UNKNOWN(**{'sizeinbytes': 1})
2810 self.__field_dunno1.readfrombuffer(buf)
2811 self.__field_date3=USTRING(**{'sizeinbytes': 11, 'terminator': None})
2812 self.__field_date3.readfrombuffer(buf)
2813 self.__field_dunno2=UNKNOWN(**{'sizeinbytes': 1})
2814 self.__field_dunno2.readfrombuffer(buf)
2815 self.__field_time3=USTRING(**{'sizeinbytes': 8, 'terminator': None})
2816 self.__field_time3.readfrombuffer(buf)
2817 self.__field_dunno3=UNKNOWN(**{'sizeinbytes': 11})
2818 self.__field_dunno3.readfrombuffer(buf)
2819 self.__field_firmware=USTRING(**{'sizeinbytes': 10, 'terminator': None})
2820 self.__field_firmware.readfrombuffer(buf)
2821 self._bufferendoffset=buf.getcurrentoffset()
2822
2823
2824 def __getfield_command(self):
2825 return self.__field_command.getvalue()
2826
2827 def __setfield_command(self, value):
2828 if isinstance(value,UINT):
2829 self.__field_command=value
2830 else:
2831 self.__field_command=UINT(value,**{'sizeinbytes': 1})
2832
2833 def __delfield_command(self): del self.__field_command
2834
2835 command=property(__getfield_command, __setfield_command, __delfield_command, None)
2836
2837 def __getfield_date1(self):
2838 return self.__field_date1.getvalue()
2839
2840 def __setfield_date1(self, value):
2841 if isinstance(value,USTRING):
2842 self.__field_date1=value
2843 else:
2844 self.__field_date1=USTRING(value,**{'sizeinbytes': 11, 'terminator': None})
2845
2846 def __delfield_date1(self): del self.__field_date1
2847
2848 date1=property(__getfield_date1, __setfield_date1, __delfield_date1, None)
2849
2850 def __getfield_time1(self):
2851 return self.__field_time1.getvalue()
2852
2853 def __setfield_time1(self, value):
2854 if isinstance(value,USTRING):
2855 self.__field_time1=value
2856 else:
2857 self.__field_time1=USTRING(value,**{'sizeinbytes': 8, 'terminator': None})
2858
2859 def __delfield_time1(self): del self.__field_time1
2860
2861 time1=property(__getfield_time1, __setfield_time1, __delfield_time1, None)
2862
2863 def __getfield_date2(self):
2864 return self.__field_date2.getvalue()
2865
2866 def __setfield_date2(self, value):
2867 if isinstance(value,USTRING):
2868 self.__field_date2=value
2869 else:
2870 self.__field_date2=USTRING(value,**{'sizeinbytes': 11, 'terminator': None})
2871
2872 def __delfield_date2(self): del self.__field_date2
2873
2874 date2=property(__getfield_date2, __setfield_date2, __delfield_date2, None)
2875
2876 def __getfield_time2(self):
2877 return self.__field_time2.getvalue()
2878
2879 def __setfield_time2(self, value):
2880 if isinstance(value,USTRING):
2881 self.__field_time2=value
2882 else:
2883 self.__field_time2=USTRING(value,**{'sizeinbytes': 8, 'terminator': None})
2884
2885 def __delfield_time2(self): del self.__field_time2
2886
2887 time2=property(__getfield_time2, __setfield_time2, __delfield_time2, None)
2888
2889 def __getfield_string1(self):
2890 return self.__field_string1.getvalue()
2891
2892 def __setfield_string1(self, value):
2893 if isinstance(value,USTRING):
2894 self.__field_string1=value
2895 else:
2896 self.__field_string1=USTRING(value,**{'sizeinbytes': 8, 'terminator': None})
2897
2898 def __delfield_string1(self): del self.__field_string1
2899
2900 string1=property(__getfield_string1, __setfield_string1, __delfield_string1, None)
2901
2902 def __getfield_dunno1(self):
2903 return self.__field_dunno1.getvalue()
2904
2905 def __setfield_dunno1(self, value):
2906 if isinstance(value,UNKNOWN):
2907 self.__field_dunno1=value
2908 else:
2909 self.__field_dunno1=UNKNOWN(value,**{'sizeinbytes': 1})
2910
2911 def __delfield_dunno1(self): del self.__field_dunno1
2912
2913 dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None)
2914
2915 def __getfield_date3(self):
2916 return self.__field_date3.getvalue()
2917
2918 def __setfield_date3(self, value):
2919 if isinstance(value,USTRING):
2920 self.__field_date3=value
2921 else:
2922 self.__field_date3=USTRING(value,**{'sizeinbytes': 11, 'terminator': None})
2923
2924 def __delfield_date3(self): del self.__field_date3
2925
2926 date3=property(__getfield_date3, __setfield_date3, __delfield_date3, None)
2927
2928 def __getfield_dunno2(self):
2929 return self.__field_dunno2.getvalue()
2930
2931 def __setfield_dunno2(self, value):
2932 if isinstance(value,UNKNOWN):
2933 self.__field_dunno2=value
2934 else:
2935 self.__field_dunno2=UNKNOWN(value,**{'sizeinbytes': 1})
2936
2937 def __delfield_dunno2(self): del self.__field_dunno2
2938
2939 dunno2=property(__getfield_dunno2, __setfield_dunno2, __delfield_dunno2, None)
2940
2941 def __getfield_time3(self):
2942 return self.__field_time3.getvalue()
2943
2944 def __setfield_time3(self, value):
2945 if isinstance(value,USTRING):
2946 self.__field_time3=value
2947 else:
2948 self.__field_time3=USTRING(value,**{'sizeinbytes': 8, 'terminator': None})
2949