PyXR

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



0001 # THIS FILE IS AUTOMATICALLY GENERATED.  EDIT THE SOURCE FILE NOT THIS ONE
0002 
0003 """Various descriptions of data specific to SKTT IMT2000"""
0004 
0005 from prototypes import *
0006 
0007 # We use LSB for all integer like fields
0008 UINT=UINTlsb
0009 BOOL=BOOLlsb
0010 
0011 NUM_PBENTRIES=1200
0012 NUM_PBGROUPS=41
0013 NUM_PHONES=2400
0014 
0015 class wholebook(BaseProtogenClass):
0016     __fields=['filename', 'pbentries']
0017 
0018     def __init__(self, *args, **kwargs):
0019         dict={}
0020         # What was supplied to this function
0021         dict.update(kwargs)
0022         # Parent constructor
0023         super(wholebook,self).__init__(**dict)
0024         if self.__class__ is wholebook:
0025             self._update(args,dict)
0026 
0027 
0028     def getfields(self):
0029         return self.__fields
0030 
0031 
0032     def _update(self, args, kwargs):
0033         super(wholebook,self)._update(args,kwargs)
0034         keys=kwargs.keys()
0035         for key in keys:
0036             if key in self.__fields:
0037                 setattr(self, key, kwargs[key])
0038                 del kwargs[key]
0039         # Were any unrecognized kwargs passed in?
0040         if __debug__:
0041             self._complainaboutunusedargs(wholebook,kwargs)
0042         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0043         # Make all P fields that haven't already been constructed
0044 
0045 
0046     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0047         'Writes this packet to the supplied buffer'
0048         self._bufferstartoffset=buf.getcurrentoffset()
0049         self.__field_filename.writetobuffer(buf)
0050         self.__field_pbentries.writetobuffer(buf)
0051         self._bufferendoffset=buf.getcurrentoffset()
0052         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0053 
0054 
0055     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0056         'Reads this packet from the supplied buffer'
0057         self._bufferstartoffset=buf.getcurrentoffset()
0058         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0059         self.__field_filename=USTRING(**{'sizeinbytes': 16})
0060         self.__field_filename.readfrombuffer(buf)
0061         self.__field_pbentries=LIST(**{'elementclass': pbentry, 'length': NUM_PBENTRIES})
0062         self.__field_pbentries.readfrombuffer(buf)
0063         self._bufferendoffset=buf.getcurrentoffset()
0064 
0065 
0066     def __getfield_filename(self):
0067         return self.__field_filename.getvalue()
0068 
0069     def __setfield_filename(self, value):
0070         if isinstance(value,USTRING):
0071             self.__field_filename=value
0072         else:
0073             self.__field_filename=USTRING(value,**{'sizeinbytes': 16})
0074 
0075     def __delfield_filename(self): del self.__field_filename
0076 
0077     filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
0078 
0079     def __getfield_pbentries(self):
0080         return self.__field_pbentries.getvalue()
0081 
0082     def __setfield_pbentries(self, value):
0083         if isinstance(value,LIST):
0084             self.__field_pbentries=value
0085         else:
0086             self.__field_pbentries=LIST(value,**{'elementclass': pbentry, 'length': NUM_PBENTRIES})
0087 
0088     def __delfield_pbentries(self): del self.__field_pbentries
0089 
0090     pbentries=property(__getfield_pbentries, __setfield_pbentries, __delfield_pbentries, None)
0091 
0092     def iscontainer(self):
0093         return True
0094 
0095     def containerelements(self):
0096         yield ('filename', self.__field_filename, None)
0097         yield ('pbentries', self.__field_pbentries, None)
0098 
0099 
0100 
0101 
0102 class pbentry(BaseProtogenClass):
0103     __fields=['slot', 'unk1', 'group_id', 'unk3', 'record', 'unk4', 'name', 'unk2']
0104 
0105     def __init__(self, *args, **kwargs):
0106         dict={}
0107         # What was supplied to this function
0108         dict.update(kwargs)
0109         # Parent constructor
0110         super(pbentry,self).__init__(**dict)
0111         if self.__class__ is pbentry:
0112             self._update(args,dict)
0113 
0114 
0115     def getfields(self):
0116         return self.__fields
0117 
0118 
0119     def _update(self, args, kwargs):
0120         super(pbentry,self)._update(args,kwargs)
0121         keys=kwargs.keys()
0122         for key in keys:
0123             if key in self.__fields:
0124                 setattr(self, key, kwargs[key])
0125                 del kwargs[key]
0126         # Were any unrecognized kwargs passed in?
0127         if __debug__:
0128             self._complainaboutunusedargs(pbentry,kwargs)
0129         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0130         # Make all P fields that haven't already been constructed
0131 
0132 
0133     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0134         'Writes this packet to the supplied buffer'
0135         self._bufferstartoffset=buf.getcurrentoffset()
0136         self.__field_slot.writetobuffer(buf)
0137         self.__field_unk1.writetobuffer(buf)
0138         self.__field_group_id.writetobuffer(buf)
0139         self.__field_unk3.writetobuffer(buf)
0140         self.__field_record.writetobuffer(buf)
0141         self.__field_unk4.writetobuffer(buf)
0142         self.__field_name.writetobuffer(buf)
0143         self.__field_unk2.writetobuffer(buf)
0144         self._bufferendoffset=buf.getcurrentoffset()
0145         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0146 
0147 
0148     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0149         'Reads this packet from the supplied buffer'
0150         self._bufferstartoffset=buf.getcurrentoffset()
0151         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0152         self.__field_slot=UINT(**{'sizeinbytes': 1})
0153         self.__field_slot.readfrombuffer(buf)
0154         self.__field_unk1=UNKNOWN(**{'sizeinbytes': 3})
0155         self.__field_unk1.readfrombuffer(buf)
0156         self.__field_group_id=UINT(**{'sizeinbytes': 1})
0157         self.__field_group_id.readfrombuffer(buf)
0158         self.__field_unk3=UNKNOWN(**{'sizeinbytes': 1})
0159         self.__field_unk3.readfrombuffer(buf)
0160         self.__field_record=UINT(**{'sizeinbytes': 1})
0161         self.__field_record.readfrombuffer(buf)
0162         self.__field_unk4=UNKNOWN(**{'sizeinbytes': 5})
0163         self.__field_unk4.readfrombuffer(buf)
0164         self.__field_name=USTRING(**{'sizeinbytes': 20,  'encoding': 'iso-8859-8' })
0165         self.__field_name.readfrombuffer(buf)
0166         self.__field_unk2=UNKNOWN(**{'sizeinbytes': 96})
0167         self.__field_unk2.readfrombuffer(buf)
0168         self._bufferendoffset=buf.getcurrentoffset()
0169 
0170 
0171     def __getfield_slot(self):
0172         return self.__field_slot.getvalue()
0173 
0174     def __setfield_slot(self, value):
0175         if isinstance(value,UINT):
0176             self.__field_slot=value
0177         else:
0178             self.__field_slot=UINT(value,**{'sizeinbytes': 1})
0179 
0180     def __delfield_slot(self): del self.__field_slot
0181 
0182     slot=property(__getfield_slot, __setfield_slot, __delfield_slot, "All of them are numbered")
0183 
0184     def __getfield_unk1(self):
0185         return self.__field_unk1.getvalue()
0186 
0187     def __setfield_unk1(self, value):
0188         if isinstance(value,UNKNOWN):
0189             self.__field_unk1=value
0190         else:
0191             self.__field_unk1=UNKNOWN(value,**{'sizeinbytes': 3})
0192 
0193     def __delfield_unk1(self): del self.__field_unk1
0194 
0195     unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)
0196 
0197     def __getfield_group_id(self):
0198         return self.__field_group_id.getvalue()
0199 
0200     def __setfield_group_id(self, value):
0201         if isinstance(value,UINT):
0202             self.__field_group_id=value
0203         else:
0204             self.__field_group_id=UINT(value,**{'sizeinbytes': 1})
0205 
0206     def __delfield_group_id(self): del self.__field_group_id
0207 
0208     group_id=property(__getfield_group_id, __setfield_group_id, __delfield_group_id, None)
0209 
0210     def __getfield_unk3(self):
0211         return self.__field_unk3.getvalue()
0212 
0213     def __setfield_unk3(self, value):
0214         if isinstance(value,UNKNOWN):
0215             self.__field_unk3=value
0216         else:
0217             self.__field_unk3=UNKNOWN(value,**{'sizeinbytes': 1})
0218 
0219     def __delfield_unk3(self): del self.__field_unk3
0220 
0221     unk3=property(__getfield_unk3, __setfield_unk3, __delfield_unk3, None)
0222 
0223     def __getfield_record(self):
0224         return self.__field_record.getvalue()
0225 
0226     def __setfield_record(self, value):
0227         if isinstance(value,UINT):
0228             self.__field_record=value
0229         else:
0230             self.__field_record=UINT(value,**{'sizeinbytes': 1})
0231 
0232     def __delfield_record(self): del self.__field_record
0233 
0234     record=property(__getfield_record, __setfield_record, __delfield_record, "Only nonzero if not deleted")
0235 
0236     def __getfield_unk4(self):
0237         return self.__field_unk4.getvalue()
0238 
0239     def __setfield_unk4(self, value):
0240         if isinstance(value,UNKNOWN):
0241             self.__field_unk4=value
0242         else:
0243             self.__field_unk4=UNKNOWN(value,**{'sizeinbytes': 5})
0244 
0245     def __delfield_unk4(self): del self.__field_unk4
0246 
0247     unk4=property(__getfield_unk4, __setfield_unk4, __delfield_unk4, None)
0248 
0249     def __getfield_name(self):
0250         return self.__field_name.getvalue()
0251 
0252     def __setfield_name(self, value):
0253         if isinstance(value,USTRING):
0254             self.__field_name=value
0255         else:
0256             self.__field_name=USTRING(value,**{'sizeinbytes': 20,  'encoding': 'iso-8859-8' })
0257 
0258     def __delfield_name(self): del self.__field_name
0259 
0260     name=property(__getfield_name, __setfield_name, __delfield_name, "The place until the zeroes end")
0261 
0262     def __getfield_unk2(self):
0263         return self.__field_unk2.getvalue()
0264 
0265     def __setfield_unk2(self, value):
0266         if isinstance(value,UNKNOWN):
0267             self.__field_unk2=value
0268         else:
0269             self.__field_unk2=UNKNOWN(value,**{'sizeinbytes': 96})
0270 
0271     def __delfield_unk2(self): del self.__field_unk2
0272 
0273     unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)
0274 
0275     def iscontainer(self):
0276         return True
0277 
0278     def containerelements(self):
0279         yield ('slot', self.__field_slot, "All of them are numbered")
0280         yield ('unk1', self.__field_unk1, None)
0281         yield ('group_id', self.__field_group_id, None)
0282         yield ('unk3', self.__field_unk3, None)
0283         yield ('record', self.__field_record, "Only nonzero if not deleted")
0284         yield ('unk4', self.__field_unk4, None)
0285         yield ('name', self.__field_name, "The place until the zeroes end")
0286         yield ('unk2', self.__field_unk2, None)
0287 
0288 
0289 
0290 
0291 class groups(BaseProtogenClass):
0292     __fields=['filename', 'pbgroups']
0293 
0294     def __init__(self, *args, **kwargs):
0295         dict={}
0296         # What was supplied to this function
0297         dict.update(kwargs)
0298         # Parent constructor
0299         super(groups,self).__init__(**dict)
0300         if self.__class__ is groups:
0301             self._update(args,dict)
0302 
0303 
0304     def getfields(self):
0305         return self.__fields
0306 
0307 
0308     def _update(self, args, kwargs):
0309         super(groups,self)._update(args,kwargs)
0310         keys=kwargs.keys()
0311         for key in keys:
0312             if key in self.__fields:
0313                 setattr(self, key, kwargs[key])
0314                 del kwargs[key]
0315         # Were any unrecognized kwargs passed in?
0316         if __debug__:
0317             self._complainaboutunusedargs(groups,kwargs)
0318         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0319         # Make all P fields that haven't already been constructed
0320 
0321 
0322     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0323         'Writes this packet to the supplied buffer'
0324         self._bufferstartoffset=buf.getcurrentoffset()
0325         self.__field_filename.writetobuffer(buf)
0326         self.__field_pbgroups.writetobuffer(buf)
0327         self._bufferendoffset=buf.getcurrentoffset()
0328         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0329 
0330 
0331     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0332         'Reads this packet from the supplied buffer'
0333         self._bufferstartoffset=buf.getcurrentoffset()
0334         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0335         self.__field_filename=USTRING(**{'sizeinbytes': 16})
0336         self.__field_filename.readfrombuffer(buf)
0337         self.__field_pbgroups=LIST(**{'elementclass': pbgroup, 'length': NUM_PBGROUPS})
0338         self.__field_pbgroups.readfrombuffer(buf)
0339         self._bufferendoffset=buf.getcurrentoffset()
0340 
0341 
0342     def __getfield_filename(self):
0343         return self.__field_filename.getvalue()
0344 
0345     def __setfield_filename(self, value):
0346         if isinstance(value,USTRING):
0347             self.__field_filename=value
0348         else:
0349             self.__field_filename=USTRING(value,**{'sizeinbytes': 16})
0350 
0351     def __delfield_filename(self): del self.__field_filename
0352 
0353     filename=property(__getfield_filename, __setfield_filename, __delfield_filename, "group file name")
0354 
0355     def __getfield_pbgroups(self):
0356         return self.__field_pbgroups.getvalue()
0357 
0358     def __setfield_pbgroups(self, value):
0359         if isinstance(value,LIST):
0360             self.__field_pbgroups=value
0361         else:
0362             self.__field_pbgroups=LIST(value,**{'elementclass': pbgroup, 'length': NUM_PBGROUPS})
0363 
0364     def __delfield_pbgroups(self): del self.__field_pbgroups
0365 
0366     pbgroups=property(__getfield_pbgroups, __setfield_pbgroups, __delfield_pbgroups, None)
0367 
0368     def iscontainer(self):
0369         return True
0370 
0371     def containerelements(self):
0372         yield ('filename', self.__field_filename, "group file name")
0373         yield ('pbgroups', self.__field_pbgroups, None)
0374 
0375 
0376 
0377 
0378 class pbgroup(BaseProtogenClass):
0379     __fields=['group_id', 'unk1', 'name', 'unk3', 'unk2']
0380 
0381     def __init__(self, *args, **kwargs):
0382         dict={}
0383         # What was supplied to this function
0384         dict.update(kwargs)
0385         # Parent constructor
0386         super(pbgroup,self).__init__(**dict)
0387         if self.__class__ is pbgroup:
0388             self._update(args,dict)
0389 
0390 
0391     def getfields(self):
0392         return self.__fields
0393 
0394 
0395     def _update(self, args, kwargs):
0396         super(pbgroup,self)._update(args,kwargs)
0397         keys=kwargs.keys()
0398         for key in keys:
0399             if key in self.__fields:
0400                 setattr(self, key, kwargs[key])
0401                 del kwargs[key]
0402         # Were any unrecognized kwargs passed in?
0403         if __debug__:
0404             self._complainaboutunusedargs(pbgroup,kwargs)
0405         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0406         # Make all P fields that haven't already been constructed
0407 
0408 
0409     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0410         'Writes this packet to the supplied buffer'
0411         self._bufferstartoffset=buf.getcurrentoffset()
0412         self.__field_group_id.writetobuffer(buf)
0413         self.__field_unk1.writetobuffer(buf)
0414         self.__field_name.writetobuffer(buf)
0415         self.__field_unk3.writetobuffer(buf)
0416         self.__field_unk2.writetobuffer(buf)
0417         self._bufferendoffset=buf.getcurrentoffset()
0418         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0419 
0420 
0421     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0422         'Reads this packet from the supplied buffer'
0423         self._bufferstartoffset=buf.getcurrentoffset()
0424         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0425         self.__field_group_id=UINT(**{'sizeinbytes': 1})
0426         self.__field_group_id.readfrombuffer(buf)
0427         self.__field_unk1=UNKNOWN(**{'sizeinbytes': 3})
0428         self.__field_unk1.readfrombuffer(buf)
0429         self.__field_name=USTRING(**{'sizeinbytes': 21,  'encoding': 'iso-8859-8' })
0430         self.__field_name.readfrombuffer(buf)
0431         self.__field_unk3=UINT(**{'sizeinbytes': 1})
0432         self.__field_unk3.readfrombuffer(buf)
0433         self.__field_unk2=UNKNOWN(**{'sizeinbytes': 30})
0434         self.__field_unk2.readfrombuffer(buf)
0435         self._bufferendoffset=buf.getcurrentoffset()
0436 
0437 
0438     def __getfield_group_id(self):
0439         return self.__field_group_id.getvalue()
0440 
0441     def __setfield_group_id(self, value):
0442         if isinstance(value,UINT):
0443             self.__field_group_id=value
0444         else:
0445             self.__field_group_id=UINT(value,**{'sizeinbytes': 1})
0446 
0447     def __delfield_group_id(self): del self.__field_group_id
0448 
0449     group_id=property(__getfield_group_id, __setfield_group_id, __delfield_group_id, None)
0450 
0451     def __getfield_unk1(self):
0452         return self.__field_unk1.getvalue()
0453 
0454     def __setfield_unk1(self, value):
0455         if isinstance(value,UNKNOWN):
0456             self.__field_unk1=value
0457         else:
0458             self.__field_unk1=UNKNOWN(value,**{'sizeinbytes': 3})
0459 
0460     def __delfield_unk1(self): del self.__field_unk1
0461 
0462     unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)
0463 
0464     def __getfield_name(self):
0465         return self.__field_name.getvalue()
0466 
0467     def __setfield_name(self, value):
0468         if isinstance(value,USTRING):
0469             self.__field_name=value
0470         else:
0471             self.__field_name=USTRING(value,**{'sizeinbytes': 21,  'encoding': 'iso-8859-8' })
0472 
0473     def __delfield_name(self): del self.__field_name
0474 
0475     name=property(__getfield_name, __setfield_name, __delfield_name, None)
0476 
0477     def __getfield_unk3(self):
0478         return self.__field_unk3.getvalue()
0479 
0480     def __setfield_unk3(self, value):
0481         if isinstance(value,UINT):
0482             self.__field_unk3=value
0483         else:
0484             self.__field_unk3=UINT(value,**{'sizeinbytes': 1})
0485 
0486     def __delfield_unk3(self): del self.__field_unk3
0487 
0488     unk3=property(__getfield_unk3, __setfield_unk3, __delfield_unk3, None)
0489 
0490     def __getfield_unk2(self):
0491         return self.__field_unk2.getvalue()
0492 
0493     def __setfield_unk2(self, value):
0494         if isinstance(value,UNKNOWN):
0495             self.__field_unk2=value
0496         else:
0497             self.__field_unk2=UNKNOWN(value,**{'sizeinbytes': 30})
0498 
0499     def __delfield_unk2(self): del self.__field_unk2
0500 
0501     unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)
0502 
0503     def iscontainer(self):
0504         return True
0505 
0506     def containerelements(self):
0507         yield ('group_id', self.__field_group_id, None)
0508         yield ('unk1', self.__field_unk1, None)
0509         yield ('name', self.__field_name, None)
0510         yield ('unk3', self.__field_unk3, None)
0511         yield ('unk2', self.__field_unk2, None)
0512 
0513 
0514 
0515 
0516 class phones(BaseProtogenClass):
0517     __fields=['filename', 'records']
0518 
0519     def __init__(self, *args, **kwargs):
0520         dict={}
0521         # What was supplied to this function
0522         dict.update(kwargs)
0523         # Parent constructor
0524         super(phones,self).__init__(**dict)
0525         if self.__class__ is phones:
0526             self._update(args,dict)
0527 
0528 
0529     def getfields(self):
0530         return self.__fields
0531 
0532 
0533     def _update(self, args, kwargs):
0534         super(phones,self)._update(args,kwargs)
0535         keys=kwargs.keys()
0536         for key in keys:
0537             if key in self.__fields:
0538                 setattr(self, key, kwargs[key])
0539                 del kwargs[key]
0540         # Were any unrecognized kwargs passed in?
0541         if __debug__:
0542             self._complainaboutunusedargs(phones,kwargs)
0543         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0544         # Make all P fields that haven't already been constructed
0545 
0546 
0547     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0548         'Writes this packet to the supplied buffer'
0549         self._bufferstartoffset=buf.getcurrentoffset()
0550         self.__field_filename.writetobuffer(buf)
0551         self.__field_records.writetobuffer(buf)
0552         self._bufferendoffset=buf.getcurrentoffset()
0553         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0554 
0555 
0556     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0557         'Reads this packet from the supplied buffer'
0558         self._bufferstartoffset=buf.getcurrentoffset()
0559         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0560         self.__field_filename=USTRING(**{'sizeinbytes': 16})
0561         self.__field_filename.readfrombuffer(buf)
0562         self.__field_records=LIST(**{'elementclass': phone, 'length': NUM_PHONES})
0563         self.__field_records.readfrombuffer(buf)
0564         self._bufferendoffset=buf.getcurrentoffset()
0565 
0566 
0567     def __getfield_filename(self):
0568         return self.__field_filename.getvalue()
0569 
0570     def __setfield_filename(self, value):
0571         if isinstance(value,USTRING):
0572             self.__field_filename=value
0573         else:
0574             self.__field_filename=USTRING(value,**{'sizeinbytes': 16})
0575 
0576     def __delfield_filename(self): del self.__field_filename
0577 
0578     filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)
0579 
0580     def __getfield_records(self):
0581         return self.__field_records.getvalue()
0582 
0583     def __setfield_records(self, value):
0584         if isinstance(value,LIST):
0585             self.__field_records=value
0586         else:
0587             self.__field_records=LIST(value,**{'elementclass': phone, 'length': NUM_PHONES})
0588 
0589     def __delfield_records(self): del self.__field_records
0590 
0591     records=property(__getfield_records, __setfield_records, __delfield_records, None)
0592 
0593     def iscontainer(self):
0594         return True
0595 
0596     def containerelements(self):
0597         yield ('filename', self.__field_filename, None)
0598         yield ('records', self.__field_records, None)
0599 
0600 
0601 
0602 
0603 class phone(BaseProtogenClass):
0604     __fields=['slot', 'others', 'owner_id', 'type', 'number']
0605 
0606     def __init__(self, *args, **kwargs):
0607         dict={}
0608         # What was supplied to this function
0609         dict.update(kwargs)
0610         # Parent constructor
0611         super(phone,self).__init__(**dict)
0612         if self.__class__ is phone:
0613             self._update(args,dict)
0614 
0615 
0616     def getfields(self):
0617         return self.__fields
0618 
0619 
0620     def _update(self, args, kwargs):
0621         super(phone,self)._update(args,kwargs)
0622         keys=kwargs.keys()
0623         for key in keys:
0624             if key in self.__fields:
0625                 setattr(self, key, kwargs[key])
0626                 del kwargs[key]
0627         # Were any unrecognized kwargs passed in?
0628         if __debug__:
0629             self._complainaboutunusedargs(phone,kwargs)
0630         if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
0631         # Make all P fields that haven't already been constructed
0632 
0633 
0634     def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
0635         'Writes this packet to the supplied buffer'
0636         self._bufferstartoffset=buf.getcurrentoffset()
0637         self.__field_slot.writetobuffer(buf)
0638         self.__field_others.writetobuffer(buf)
0639         self.__field_owner_id.writetobuffer(buf)
0640         self.__field_type.writetobuffer(buf)
0641         self.__field_number.writetobuffer(buf)
0642         self._bufferendoffset=buf.getcurrentoffset()
0643         if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)
0644 
0645 
0646     def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
0647         'Reads this packet from the supplied buffer'
0648         self._bufferstartoffset=buf.getcurrentoffset()
0649         if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
0650         self.__field_slot=UINT(**{'sizeinbytes': 2})
0651         self.__field_slot.readfrombuffer(buf)
0652         self.__field_others=UINT(**{'sizeinbytes': 4})
0653         self.__field_others.readfrombuffer(buf)
0654         self.__field_owner_id=UINT(**{'sizeinbytes': 4})
0655         self.__field_owner_id.readfrombuffer(buf)
0656         self.__field_type=UINT(**{'sizeinbytes': 1})
0657         self.__field_type.readfrombuffer(buf)
0658         self.__field_number=USTRING(**{'sizeinbytes': 33})
0659         self.__field_number.readfrombuffer(buf)
0660         self._bufferendoffset=buf.getcurrentoffset()
0661 
0662 
0663     def __getfield_slot(self):
0664         return self.__field_slot.getvalue()
0665 
0666     def __setfield_slot(self, value):
0667         if isinstance(value,UINT):
0668             self.__field_slot=value
0669         else:
0670             self.__field_slot=UINT(value,**{'sizeinbytes': 2})
0671 
0672     def __delfield_slot(self): del self.__field_slot
0673 
0674     slot=property(__getfield_slot, __setfield_slot, __delfield_slot, None)
0675 
0676     def __getfield_others(self):
0677         return self.__field_others.getvalue()
0678 
0679     def __setfield_others(self, value):
0680         if isinstance(value,UINT):
0681             self.__field_others=value
0682         else:
0683             self.__field_others=UINT(value,**{'sizeinbytes': 4})
0684 
0685     def __delfield_others(self): del self.__field_others
0686 
0687     others=property(__getfield_others, __setfield_others, __delfield_others, None)
0688 
0689     def __getfield_owner_id(self):
0690         return self.__field_owner_id.getvalue()
0691 
0692     def __setfield_owner_id(self, value):
0693         if isinstance(value,UINT):
0694             self.__field_owner_id=value
0695         else:
0696             self.__field_owner_id=UINT(value,**{'sizeinbytes': 4})
0697 
0698     def __delfield_owner_id(self): del self.__field_owner_id
0699 
0700     owner_id=property(__getfield_owner_id, __setfield_owner_id, __delfield_owner_id, None)
0701 
0702     def __getfield_type(self):
0703         return self.__field_type.getvalue()
0704 
0705     def __setfield_type(self, value):
0706         if isinstance(value,UINT):
0707             self.__field_type=value
0708         else:
0709             self.__field_type=UINT(value,**{'sizeinbytes': 1})
0710 
0711     def __delfield_type(self): del self.__field_type
0712 
0713     type=property(__getfield_type, __setfield_type, __delfield_type, "Home / Work / Cell / Fax")
0714 
0715     def __getfield_number(self):
0716         return self.__field_number.getvalue()
0717 
0718     def __setfield_number(self, value):
0719         if isinstance(value,USTRING):
0720             self.__field_number=value
0721         else:
0722             self.__field_number=USTRING(value,**{'sizeinbytes': 33})
0723 
0724     def __delfield_number(self): del self.__field_number
0725 
0726     number=property(__getfield_number, __setfield_number, __delfield_number, None)
0727 
0728     def iscontainer(self):
0729         return True
0730 
0731     def containerelements(self):
0732         yield ('slot', self.__field_slot, None)
0733         yield ('others', self.__field_others, None)
0734         yield ('owner_id', self.__field_owner_id, None)
0735         yield ('type', self.__field_type, "Home / Work / Cell / Fax")
0736         yield ('number', self.__field_number, None)
0737 
0738 
0739 
0740 
0741 

Generated by PyXR 0.9.4