| Package phones ::
        Module p_samsungspha640 |  | 
  1   
  2   
  3  """Proposed descriptions of data usign AT commands""" 
  4   
  5  from prototypes import * 
  6  from p_samsung_packet import * 
  7  from p_samsungspha620 import * 
  8   
  9   
 10  UINT=UINTlsb 
 11  BOOL=BOOLlsb 
 12   
 13   
 14  NUMPHONEBOOKENTRIES=300 
 15  NUMEMAILS=3 
 16  NUMPHONENUMBERS=6 
 17  MAXNUMBERLEN=72 
 18  NUMTODOENTRIES=9 
 19  NUMSMSENTRIES=94 
 20  NUMCALENDAREVENTS=70  
 21   
 22  NUMGROUPS=4 
 23   
 24  AMSREGISTRY="ams/AmsRegistry" 
 25  ENDTRANSACTION="ams/EndTransaction" 
 26  RINGERPREFIX="ams/Ringers/cnts" 
 27  WALLPAPERPREFIX="ams/Screen Savers/cnts" 
 28   
 29 -class pbentry(BaseProtogenClass): 
  30      __fields=['url', 'birthday', 'slot', 'uslot', 'group', 'ringtone', 'name', 'speeddial', 'dunno1', 'numbers', 'dunno3', 'dunno4', 'email', 'timestamp'] 
 31   
 32 -    def __init__(self, *args, **kwargs): 
  33          dict={} 
 34           
 35          dict.update(kwargs) 
 36           
 37          super(pbentry,self).__init__(**dict) 
 38          if self.__class__ is pbentry: 
 39              self._update(args,dict) 
  40   
 41   
 42 -    def getfields(self): 
  44   
 45   
 46 -    def _update(self, args, kwargs): 
  47          super(pbentry,self)._update(args,kwargs) 
 48          keys=kwargs.keys() 
 49          for key in keys: 
 50              if key in self.__fields: 
 51                  setattr(self, key, kwargs[key]) 
 52                  del kwargs[key] 
 53           
 54          if __debug__: 
 55              self._complainaboutunusedargs(pbentry,kwargs) 
 56          if len(args): raise TypeError('Unexpected arguments supplied: '+`args`) 
 57           
 58          try: self.__field_url 
 59          except: 
 60              self.__field_url=USTRING(**{'default': ""}) 
 61          try: self.__field_birthday 
 62          except: 
 63              self.__field_birthday=CSVDATE(**{'default': ""}) 
  64   
 65   
 66 -    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 
  67          'Writes this packet to the supplied buffer' 
 68          self._bufferstartoffset=buf.getcurrentoffset() 
 69          self.__field_slot.writetobuffer(buf) 
 70          self.__field_uslot.writetobuffer(buf) 
 71          self.__field_group.writetobuffer(buf) 
 72          try: self.__field_ringtone 
 73          except: 
 74              self.__field_ringtone=CSVINT(**{'default': 20}) 
 75          self.__field_ringtone.writetobuffer(buf) 
 76          self.__field_name.writetobuffer(buf) 
 77          self.__field_speeddial.writetobuffer(buf) 
 78          try: self.__field_dunno1 
 79          except: 
 80              self.__field_dunno1=CSVINT(**{'default': 0}) 
 81          self.__field_dunno1.writetobuffer(buf) 
 82          try: self.__field_numbers 
 83          except: 
 84              self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 
 85          self.__field_numbers.writetobuffer(buf) 
 86          try: self.__field_dunno3 
 87          except: 
 88              self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 
 89          self.__field_dunno3.writetobuffer(buf) 
 90          try: self.__field_dunno4 
 91          except: 
 92              self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 
 93          self.__field_dunno4.writetobuffer(buf) 
 94          self.__field_email.writetobuffer(buf) 
 95          try: self.__field_timestamp 
 96          except: 
 97              self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': (1980,1,1,12,0,0)}) 
 98          self.__field_timestamp.writetobuffer(buf) 
 99          self._bufferendoffset=buf.getcurrentoffset() 
100          if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 
 101   
102   
103 -    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"): 
 104          'Reads this packet from the supplied buffer' 
105          self._bufferstartoffset=buf.getcurrentoffset() 
106          if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 
107          self.__field_slot=CSVINT() 
108          self.__field_slot.readfrombuffer(buf) 
109          self.__field_uslot=CSVINT() 
110          self.__field_uslot.readfrombuffer(buf) 
111          self.__field_group=CSVINT() 
112          self.__field_group.readfrombuffer(buf) 
113          self.__field_ringtone=CSVINT(**{'default': 20}) 
114          self.__field_ringtone.readfrombuffer(buf) 
115          self.__field_name=CSVSTRING() 
116          self.__field_name.readfrombuffer(buf) 
117          self.__field_speeddial=CSVINT() 
118          self.__field_speeddial.readfrombuffer(buf) 
119          self.__field_dunno1=CSVINT(**{'default': 0}) 
120          self.__field_dunno1.readfrombuffer(buf) 
121          self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 
122          self.__field_numbers.readfrombuffer(buf) 
123          self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 
124          self.__field_dunno3.readfrombuffer(buf) 
125          self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 
126          self.__field_dunno4.readfrombuffer(buf) 
127          self.__field_email=CSVSTRING() 
128          self.__field_email.readfrombuffer(buf) 
129          self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': (1980,1,1,12,0,0)}) 
130          self.__field_timestamp.readfrombuffer(buf) 
131          self._bufferendoffset=buf.getcurrentoffset() 
 132   
133   
134 -    def __getfield_url(self): 
 135          try: self.__field_url 
136          except: 
137              self.__field_url=USTRING(**{'default': ""}) 
138          return self.__field_url.getvalue() 
 139   
140 -    def __setfield_url(self, value): 
 141          if isinstance(value,USTRING): 
142              self.__field_url=value 
143          else: 
144              self.__field_url=USTRING(value,**{'default': ""}) 
 145   
146 -    def __delfield_url(self): del self.__field_url 
 147   
148      url=property(__getfield_url, __setfield_url, __delfield_url, None) 
149   
151          try: self.__field_birthday 
152          except: 
153              self.__field_birthday=CSVDATE(**{'default': ""}) 
154          return self.__field_birthday.getvalue() 
 155   
156 -    def __setfield_birthday(self, value): 
 157          if isinstance(value,CSVDATE): 
158              self.__field_birthday=value 
159          else: 
160              self.__field_birthday=CSVDATE(value,**{'default': ""}) 
 161   
162 -    def __delfield_birthday(self): del self.__field_birthday 
 163   
164      birthday=property(__getfield_birthday, __setfield_birthday, __delfield_birthday, None) 
165   
166 -    def __getfield_slot(self): 
 167          return self.__field_slot.getvalue() 
 168   
169 -    def __setfield_slot(self, value): 
 170          if isinstance(value,CSVINT): 
171              self.__field_slot=value 
172          else: 
173              self.__field_slot=CSVINT(value,) 
 174   
175 -    def __delfield_slot(self): del self.__field_slot 
 176   
177      slot=property(__getfield_slot, __setfield_slot, __delfield_slot, "Internal Slot") 
178   
180          return self.__field_uslot.getvalue() 
 181   
182 -    def __setfield_uslot(self, value): 
 183          if isinstance(value,CSVINT): 
184              self.__field_uslot=value 
185          else: 
186              self.__field_uslot=CSVINT(value,) 
 187   
188 -    def __delfield_uslot(self): del self.__field_uslot 
 189   
190      uslot=property(__getfield_uslot, __setfield_uslot, __delfield_uslot, "User Slot, Speed dial") 
191   
193          return self.__field_group.getvalue() 
 194   
195 -    def __setfield_group(self, value): 
 196          if isinstance(value,CSVINT): 
197              self.__field_group=value 
198          else: 
199              self.__field_group=CSVINT(value,) 
 200   
201 -    def __delfield_group(self): del self.__field_group 
 202   
203      group=property(__getfield_group, __setfield_group, __delfield_group, None) 
204   
206          try: self.__field_ringtone 
207          except: 
208              self.__field_ringtone=CSVINT(**{'default': 20}) 
209          return self.__field_ringtone.getvalue() 
 210   
211 -    def __setfield_ringtone(self, value): 
 212          if isinstance(value,CSVINT): 
213              self.__field_ringtone=value 
214          else: 
215              self.__field_ringtone=CSVINT(value,**{'default': 20}) 
 216   
217 -    def __delfield_ringtone(self): del self.__field_ringtone 
 218   
219      ringtone=property(__getfield_ringtone, __setfield_ringtone, __delfield_ringtone, None) 
220   
221 -    def __getfield_name(self): 
 222          return self.__field_name.getvalue() 
 223   
224 -    def __setfield_name(self, value): 
 225          if isinstance(value,CSVSTRING): 
226              self.__field_name=value 
227          else: 
228              self.__field_name=CSVSTRING(value,) 
 229   
230 -    def __delfield_name(self): del self.__field_name 
 231   
232      name=property(__getfield_name, __setfield_name, __delfield_name, None) 
233   
235          return self.__field_speeddial.getvalue() 
 236   
237 -    def __setfield_speeddial(self, value): 
 238          if isinstance(value,CSVINT): 
239              self.__field_speeddial=value 
240          else: 
241              self.__field_speeddial=CSVINT(value,) 
 242   
243 -    def __delfield_speeddial(self): del self.__field_speeddial 
 244   
245      speeddial=property(__getfield_speeddial, __setfield_speeddial, __delfield_speeddial, "Which phone number assigned to speed dial uslot") 
246   
248          try: self.__field_dunno1 
249          except: 
250              self.__field_dunno1=CSVINT(**{'default': 0}) 
251          return self.__field_dunno1.getvalue() 
 252   
253 -    def __setfield_dunno1(self, value): 
 254          if isinstance(value,CSVINT): 
255              self.__field_dunno1=value 
256          else: 
257              self.__field_dunno1=CSVINT(value,**{'default': 0}) 
 258   
259 -    def __delfield_dunno1(self): del self.__field_dunno1 
 260   
261      dunno1=property(__getfield_dunno1, __setfield_dunno1, __delfield_dunno1, None) 
262   
264          try: self.__field_numbers 
265          except: 
266              self.__field_numbers=LIST(**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 
267          return self.__field_numbers.getvalue() 
 268   
269 -    def __setfield_numbers(self, value): 
 270          if isinstance(value,LIST): 
271              self.__field_numbers=value 
272          else: 
273              self.__field_numbers=LIST(value,**{'length': NUMPHONENUMBERS, 'createdefault': True, 'elementclass': phonenumber}) 
 274   
275 -    def __delfield_numbers(self): del self.__field_numbers 
 276   
277      numbers=property(__getfield_numbers, __setfield_numbers, __delfield_numbers, None) 
278   
280          try: self.__field_dunno3 
281          except: 
282              self.__field_dunno3=CSVSTRING(**{'quotechar': None, 'default': ""}) 
283          return self.__field_dunno3.getvalue() 
 284   
285 -    def __setfield_dunno3(self, value): 
 286          if isinstance(value,CSVSTRING): 
287              self.__field_dunno3=value 
288          else: 
289              self.__field_dunno3=CSVSTRING(value,**{'quotechar': None, 'default': ""}) 
 290   
291 -    def __delfield_dunno3(self): del self.__field_dunno3 
 292   
293      dunno3=property(__getfield_dunno3, __setfield_dunno3, __delfield_dunno3, None) 
294   
296          try: self.__field_dunno4 
297          except: 
298              self.__field_dunno4=CSVSTRING(**{'quotechar': None, 'default': ""}) 
299          return self.__field_dunno4.getvalue() 
 300   
301 -    def __setfield_dunno4(self, value): 
 302          if isinstance(value,CSVSTRING): 
303              self.__field_dunno4=value 
304          else: 
305              self.__field_dunno4=CSVSTRING(value,**{'quotechar': None, 'default': ""}) 
 306   
307 -    def __delfield_dunno4(self): del self.__field_dunno4 
 308   
309      dunno4=property(__getfield_dunno4, __setfield_dunno4, __delfield_dunno4, None) 
310   
312          return self.__field_email.getvalue() 
 313   
314 -    def __setfield_email(self, value): 
 315          if isinstance(value,CSVSTRING): 
316              self.__field_email=value 
317          else: 
318              self.__field_email=CSVSTRING(value,) 
 319   
320 -    def __delfield_email(self): del self.__field_email 
 321   
322      email=property(__getfield_email, __setfield_email, __delfield_email, None) 
323   
325          try: self.__field_timestamp 
326          except: 
327              self.__field_timestamp=CSVTIME(**{'terminator': None, 'default': (1980,1,1,12,0,0)}) 
328          return self.__field_timestamp.getvalue() 
 329   
330 -    def __setfield_timestamp(self, value): 
 331          if isinstance(value,CSVTIME): 
332              self.__field_timestamp=value 
333          else: 
334              self.__field_timestamp=CSVTIME(value,**{'terminator': None, 'default': (1980,1,1,12,0,0)}) 
 335   
336 -    def __delfield_timestamp(self): del self.__field_timestamp 
 337   
338      timestamp=property(__getfield_timestamp, __setfield_timestamp, __delfield_timestamp, "Use terminator None for last item") 
339   
340 -    def iscontainer(self): 
 342   
344          yield ('url', self.__field_url, None) 
345          yield ('birthday', self.__field_birthday, None) 
346          yield ('slot', self.__field_slot, "Internal Slot") 
347          yield ('uslot', self.__field_uslot, "User Slot, Speed dial") 
348          yield ('group', self.__field_group, None) 
349          yield ('ringtone', self.__field_ringtone, None) 
350          yield ('name', self.__field_name, None) 
351          yield ('speeddial', self.__field_speeddial, "Which phone number assigned to speed dial uslot") 
352          yield ('dunno1', self.__field_dunno1, None) 
353          yield ('numbers', self.__field_numbers, None) 
354          yield ('dunno3', self.__field_dunno3, None) 
355          yield ('dunno4', self.__field_dunno4, None) 
356          yield ('email', self.__field_email, None) 
357          yield ('timestamp', self.__field_timestamp, "Use terminator None for last item") 
  358   
359   
360   
361   
363      __fields=['command', 'entry'] 
364   
373   
374   
377   
378   
390           
391   
392   
393 -    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 
 400   
401   
403          'Reads this packet from the supplied buffer' 
404          self._bufferstartoffset=buf.getcurrentoffset() 
405          if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 
406          self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBOKR:'}) 
407          self.__field_command.readfrombuffer(buf) 
408          self.__field_entry=pbentry() 
409          self.__field_entry.readfrombuffer(buf) 
410          self._bufferendoffset=buf.getcurrentoffset() 
 411   
412   
414          return self.__field_command.getvalue() 
 415   
417          if isinstance(value,CSVSTRING): 
418              self.__field_command=value 
419          else: 
420              self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': ord(' '), 'constant': '#PBOKR:'}) 
 421   
423   
424      command=property(__getfield_command, __setfield_command, __delfield_command, None) 
425   
427          return self.__field_entry.getvalue() 
 428   
429 -    def __setfield_entry(self, value): 
 430          if isinstance(value,pbentry): 
431              self.__field_entry=value 
432          else: 
433              self.__field_entry=pbentry(value,) 
 434   
435 -    def __delfield_entry(self): del self.__field_entry 
 436   
437      entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 
438   
441   
443          yield ('command', self.__field_command, None) 
444          yield ('entry', self.__field_entry, None) 
  445   
446   
447   
448   
450      __fields=['command', 'entry'] 
451   
460   
461   
464   
465   
477           
478   
479   
480 -    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"): 
 481          'Writes this packet to the supplied buffer' 
482          self._bufferstartoffset=buf.getcurrentoffset() 
483          try: self.__field_command 
484          except: 
485              self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 
486          self.__field_command.writetobuffer(buf) 
487          self.__field_entry.writetobuffer(buf) 
488          self._bufferendoffset=buf.getcurrentoffset() 
489          if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle) 
 490   
491   
493          'Reads this packet from the supplied buffer' 
494          self._bufferstartoffset=buf.getcurrentoffset() 
495          if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle) 
496          self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 
497          self.__field_command.readfrombuffer(buf) 
498          self.__field_entry=pbentry() 
499          self.__field_entry.readfrombuffer(buf) 
500          self._bufferendoffset=buf.getcurrentoffset() 
 501   
502   
504          try: self.__field_command 
505          except: 
506              self.__field_command=CSVSTRING(**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 
507          return self.__field_command.getvalue() 
 508   
510          if isinstance(value,CSVSTRING): 
511              self.__field_command=value 
512          else: 
513              self.__field_command=CSVSTRING(value,**{'quotechar': None, 'terminator': None, 'default': '#PBOKW=0,'}) 
 514   
516   
517      command=property(__getfield_command, __setfield_command, __delfield_command, None) 
518   
520          return self.__field_entry.getvalue() 
 521   
522 -    def __setfield_entry(self, value): 
 523          if isinstance(value,pbentry): 
524              self.__field_entry=value 
525          else: 
526              self.__field_entry=pbentry(value,) 
 527   
528 -    def __delfield_entry(self): del self.__field_entry 
 529   
530      entry=property(__getfield_entry, __setfield_entry, __delfield_entry, None) 
531   
534   
536          yield ('command', self.__field_command, None) 
537          yield ('entry', self.__field_entry, None) 
  538