# THIS FILE IS AUTOMATICALLY GENERATED.  EDIT THE SOURCE FILE NOT THIS ONE

"""Various descriptions of data specific to SKTT IMT2000"""

from prototypes import *

# We use LSB for all integer like fields
UINT=UINTlsb
BOOL=BOOLlsb

NUM_PBENTRIES=1200
NUM_PBGROUPS=41
NUM_PHONES=2400

class wholebook(BaseProtogenClass):
    __fields=['filename', 'pbentries']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(wholebook,self).__init__(**dict)
        if self.__class__ is wholebook:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(wholebook,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(wholebook,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_filename.writetobuffer(buf)
        self.__field_pbentries.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_filename=USTRING(**{'sizeinbytes': 16})
        self.__field_filename.readfrombuffer(buf)
        self.__field_pbentries=LIST(**{'elementclass': pbentry, 'length': NUM_PBENTRIES})
        self.__field_pbentries.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_filename(self):
        return self.__field_filename.getvalue()

    def __setfield_filename(self, value):
        if isinstance(value,USTRING):
            self.__field_filename=value
        else:
            self.__field_filename=USTRING(value,**{'sizeinbytes': 16})

    def __delfield_filename(self): del self.__field_filename

    filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)

    def __getfield_pbentries(self):
        return self.__field_pbentries.getvalue()

    def __setfield_pbentries(self, value):
        if isinstance(value,LIST):
            self.__field_pbentries=value
        else:
            self.__field_pbentries=LIST(value,**{'elementclass': pbentry, 'length': NUM_PBENTRIES})

    def __delfield_pbentries(self): del self.__field_pbentries

    pbentries=property(__getfield_pbentries, __setfield_pbentries, __delfield_pbentries, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('filename', self.__field_filename, None)
        yield ('pbentries', self.__field_pbentries, None)




class pbentry(BaseProtogenClass):
    __fields=['slot', 'unk1', 'group_id', 'unk3', 'record', 'unk4', 'name', 'unk2']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(pbentry,self).__init__(**dict)
        if self.__class__ is pbentry:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(pbentry,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(pbentry,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_slot.writetobuffer(buf)
        self.__field_unk1.writetobuffer(buf)
        self.__field_group_id.writetobuffer(buf)
        self.__field_unk3.writetobuffer(buf)
        self.__field_record.writetobuffer(buf)
        self.__field_unk4.writetobuffer(buf)
        self.__field_name.writetobuffer(buf)
        self.__field_unk2.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_slot=UINT(**{'sizeinbytes': 1})
        self.__field_slot.readfrombuffer(buf)
        self.__field_unk1=UNKNOWN(**{'sizeinbytes': 3})
        self.__field_unk1.readfrombuffer(buf)
        self.__field_group_id=UINT(**{'sizeinbytes': 1})
        self.__field_group_id.readfrombuffer(buf)
        self.__field_unk3=UNKNOWN(**{'sizeinbytes': 1})
        self.__field_unk3.readfrombuffer(buf)
        self.__field_record=UINT(**{'sizeinbytes': 1})
        self.__field_record.readfrombuffer(buf)
        self.__field_unk4=UNKNOWN(**{'sizeinbytes': 5})
        self.__field_unk4.readfrombuffer(buf)
        self.__field_name=USTRING(**{'sizeinbytes': 20,  'encoding': 'iso-8859-8' })
        self.__field_name.readfrombuffer(buf)
        self.__field_unk2=UNKNOWN(**{'sizeinbytes': 96})
        self.__field_unk2.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_slot(self):
        return self.__field_slot.getvalue()

    def __setfield_slot(self, value):
        if isinstance(value,UINT):
            self.__field_slot=value
        else:
            self.__field_slot=UINT(value,**{'sizeinbytes': 1})

    def __delfield_slot(self): del self.__field_slot

    slot=property(__getfield_slot, __setfield_slot, __delfield_slot, "All of them are numbered")

    def __getfield_unk1(self):
        return self.__field_unk1.getvalue()

    def __setfield_unk1(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk1=value
        else:
            self.__field_unk1=UNKNOWN(value,**{'sizeinbytes': 3})

    def __delfield_unk1(self): del self.__field_unk1

    unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)

    def __getfield_group_id(self):
        return self.__field_group_id.getvalue()

    def __setfield_group_id(self, value):
        if isinstance(value,UINT):
            self.__field_group_id=value
        else:
            self.__field_group_id=UINT(value,**{'sizeinbytes': 1})

    def __delfield_group_id(self): del self.__field_group_id

    group_id=property(__getfield_group_id, __setfield_group_id, __delfield_group_id, None)

    def __getfield_unk3(self):
        return self.__field_unk3.getvalue()

    def __setfield_unk3(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk3=value
        else:
            self.__field_unk3=UNKNOWN(value,**{'sizeinbytes': 1})

    def __delfield_unk3(self): del self.__field_unk3

    unk3=property(__getfield_unk3, __setfield_unk3, __delfield_unk3, None)

    def __getfield_record(self):
        return self.__field_record.getvalue()

    def __setfield_record(self, value):
        if isinstance(value,UINT):
            self.__field_record=value
        else:
            self.__field_record=UINT(value,**{'sizeinbytes': 1})

    def __delfield_record(self): del self.__field_record

    record=property(__getfield_record, __setfield_record, __delfield_record, "Only nonzero if not deleted")

    def __getfield_unk4(self):
        return self.__field_unk4.getvalue()

    def __setfield_unk4(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk4=value
        else:
            self.__field_unk4=UNKNOWN(value,**{'sizeinbytes': 5})

    def __delfield_unk4(self): del self.__field_unk4

    unk4=property(__getfield_unk4, __setfield_unk4, __delfield_unk4, None)

    def __getfield_name(self):
        return self.__field_name.getvalue()

    def __setfield_name(self, value):
        if isinstance(value,USTRING):
            self.__field_name=value
        else:
            self.__field_name=USTRING(value,**{'sizeinbytes': 20,  'encoding': 'iso-8859-8' })

    def __delfield_name(self): del self.__field_name

    name=property(__getfield_name, __setfield_name, __delfield_name, "The place until the zeroes end")

    def __getfield_unk2(self):
        return self.__field_unk2.getvalue()

    def __setfield_unk2(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk2=value
        else:
            self.__field_unk2=UNKNOWN(value,**{'sizeinbytes': 96})

    def __delfield_unk2(self): del self.__field_unk2

    unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('slot', self.__field_slot, "All of them are numbered")
        yield ('unk1', self.__field_unk1, None)
        yield ('group_id', self.__field_group_id, None)
        yield ('unk3', self.__field_unk3, None)
        yield ('record', self.__field_record, "Only nonzero if not deleted")
        yield ('unk4', self.__field_unk4, None)
        yield ('name', self.__field_name, "The place until the zeroes end")
        yield ('unk2', self.__field_unk2, None)




class groups(BaseProtogenClass):
    __fields=['filename', 'pbgroups']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(groups,self).__init__(**dict)
        if self.__class__ is groups:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(groups,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(groups,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_filename.writetobuffer(buf)
        self.__field_pbgroups.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_filename=USTRING(**{'sizeinbytes': 16})
        self.__field_filename.readfrombuffer(buf)
        self.__field_pbgroups=LIST(**{'elementclass': pbgroup, 'length': NUM_PBGROUPS})
        self.__field_pbgroups.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_filename(self):
        return self.__field_filename.getvalue()

    def __setfield_filename(self, value):
        if isinstance(value,USTRING):
            self.__field_filename=value
        else:
            self.__field_filename=USTRING(value,**{'sizeinbytes': 16})

    def __delfield_filename(self): del self.__field_filename

    filename=property(__getfield_filename, __setfield_filename, __delfield_filename, "group file name")

    def __getfield_pbgroups(self):
        return self.__field_pbgroups.getvalue()

    def __setfield_pbgroups(self, value):
        if isinstance(value,LIST):
            self.__field_pbgroups=value
        else:
            self.__field_pbgroups=LIST(value,**{'elementclass': pbgroup, 'length': NUM_PBGROUPS})

    def __delfield_pbgroups(self): del self.__field_pbgroups

    pbgroups=property(__getfield_pbgroups, __setfield_pbgroups, __delfield_pbgroups, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('filename', self.__field_filename, "group file name")
        yield ('pbgroups', self.__field_pbgroups, None)




class pbgroup(BaseProtogenClass):
    __fields=['group_id', 'unk1', 'name', 'unk3', 'unk2']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(pbgroup,self).__init__(**dict)
        if self.__class__ is pbgroup:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(pbgroup,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(pbgroup,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_group_id.writetobuffer(buf)
        self.__field_unk1.writetobuffer(buf)
        self.__field_name.writetobuffer(buf)
        self.__field_unk3.writetobuffer(buf)
        self.__field_unk2.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_group_id=UINT(**{'sizeinbytes': 1})
        self.__field_group_id.readfrombuffer(buf)
        self.__field_unk1=UNKNOWN(**{'sizeinbytes': 3})
        self.__field_unk1.readfrombuffer(buf)
        self.__field_name=USTRING(**{'sizeinbytes': 21,  'encoding': 'iso-8859-8' })
        self.__field_name.readfrombuffer(buf)
        self.__field_unk3=UINT(**{'sizeinbytes': 1})
        self.__field_unk3.readfrombuffer(buf)
        self.__field_unk2=UNKNOWN(**{'sizeinbytes': 30})
        self.__field_unk2.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_group_id(self):
        return self.__field_group_id.getvalue()

    def __setfield_group_id(self, value):
        if isinstance(value,UINT):
            self.__field_group_id=value
        else:
            self.__field_group_id=UINT(value,**{'sizeinbytes': 1})

    def __delfield_group_id(self): del self.__field_group_id

    group_id=property(__getfield_group_id, __setfield_group_id, __delfield_group_id, None)

    def __getfield_unk1(self):
        return self.__field_unk1.getvalue()

    def __setfield_unk1(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk1=value
        else:
            self.__field_unk1=UNKNOWN(value,**{'sizeinbytes': 3})

    def __delfield_unk1(self): del self.__field_unk1

    unk1=property(__getfield_unk1, __setfield_unk1, __delfield_unk1, None)

    def __getfield_name(self):
        return self.__field_name.getvalue()

    def __setfield_name(self, value):
        if isinstance(value,USTRING):
            self.__field_name=value
        else:
            self.__field_name=USTRING(value,**{'sizeinbytes': 21,  'encoding': 'iso-8859-8' })

    def __delfield_name(self): del self.__field_name

    name=property(__getfield_name, __setfield_name, __delfield_name, None)

    def __getfield_unk3(self):
        return self.__field_unk3.getvalue()

    def __setfield_unk3(self, value):
        if isinstance(value,UINT):
            self.__field_unk3=value
        else:
            self.__field_unk3=UINT(value,**{'sizeinbytes': 1})

    def __delfield_unk3(self): del self.__field_unk3

    unk3=property(__getfield_unk3, __setfield_unk3, __delfield_unk3, None)

    def __getfield_unk2(self):
        return self.__field_unk2.getvalue()

    def __setfield_unk2(self, value):
        if isinstance(value,UNKNOWN):
            self.__field_unk2=value
        else:
            self.__field_unk2=UNKNOWN(value,**{'sizeinbytes': 30})

    def __delfield_unk2(self): del self.__field_unk2

    unk2=property(__getfield_unk2, __setfield_unk2, __delfield_unk2, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('group_id', self.__field_group_id, None)
        yield ('unk1', self.__field_unk1, None)
        yield ('name', self.__field_name, None)
        yield ('unk3', self.__field_unk3, None)
        yield ('unk2', self.__field_unk2, None)




class phones(BaseProtogenClass):
    __fields=['filename', 'records']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(phones,self).__init__(**dict)
        if self.__class__ is phones:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(phones,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(phones,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_filename.writetobuffer(buf)
        self.__field_records.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_filename=USTRING(**{'sizeinbytes': 16})
        self.__field_filename.readfrombuffer(buf)
        self.__field_records=LIST(**{'elementclass': phone, 'length': NUM_PHONES})
        self.__field_records.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_filename(self):
        return self.__field_filename.getvalue()

    def __setfield_filename(self, value):
        if isinstance(value,USTRING):
            self.__field_filename=value
        else:
            self.__field_filename=USTRING(value,**{'sizeinbytes': 16})

    def __delfield_filename(self): del self.__field_filename

    filename=property(__getfield_filename, __setfield_filename, __delfield_filename, None)

    def __getfield_records(self):
        return self.__field_records.getvalue()

    def __setfield_records(self, value):
        if isinstance(value,LIST):
            self.__field_records=value
        else:
            self.__field_records=LIST(value,**{'elementclass': phone, 'length': NUM_PHONES})

    def __delfield_records(self): del self.__field_records

    records=property(__getfield_records, __setfield_records, __delfield_records, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('filename', self.__field_filename, None)
        yield ('records', self.__field_records, None)




class phone(BaseProtogenClass):
    __fields=['slot', 'others', 'owner_id', 'type', 'number']

    def __init__(self, *args, **kwargs):
        dict={}
        # What was supplied to this function
        dict.update(kwargs)
        # Parent constructor
        super(phone,self).__init__(**dict)
        if self.__class__ is phone:
            self._update(args,dict)


    def getfields(self):
        return self.__fields


    def _update(self, args, kwargs):
        super(phone,self)._update(args,kwargs)
        keys=kwargs.keys()
        for key in keys:
            if key in self.__fields:
                setattr(self, key, kwargs[key])
                del kwargs[key]
        # Were any unrecognized kwargs passed in?
        if __debug__:
            self._complainaboutunusedargs(phone,kwargs)
        if len(args): raise TypeError('Unexpected arguments supplied: '+`args`)
        # Make all P fields that haven't already been constructed


    def writetobuffer(self,buf,autolog=True,logtitle="<written data>"):
        'Writes this packet to the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        self.__field_slot.writetobuffer(buf)
        self.__field_others.writetobuffer(buf)
        self.__field_owner_id.writetobuffer(buf)
        self.__field_type.writetobuffer(buf)
        self.__field_number.writetobuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologwrite(buf, logtitle=logtitle)


    def readfrombuffer(self,buf,autolog=True,logtitle="<read data>"):
        'Reads this packet from the supplied buffer'
        self._bufferstartoffset=buf.getcurrentoffset()
        if autolog and self._bufferstartoffset==0: self.autologread(buf, logtitle=logtitle)
        self.__field_slot=UINT(**{'sizeinbytes': 2})
        self.__field_slot.readfrombuffer(buf)
        self.__field_others=UINT(**{'sizeinbytes': 4})
        self.__field_others.readfrombuffer(buf)
        self.__field_owner_id=UINT(**{'sizeinbytes': 4})
        self.__field_owner_id.readfrombuffer(buf)
        self.__field_type=UINT(**{'sizeinbytes': 1})
        self.__field_type.readfrombuffer(buf)
        self.__field_number=USTRING(**{'sizeinbytes': 33})
        self.__field_number.readfrombuffer(buf)
        self._bufferendoffset=buf.getcurrentoffset()


    def __getfield_slot(self):
        return self.__field_slot.getvalue()

    def __setfield_slot(self, value):
        if isinstance(value,UINT):
            self.__field_slot=value
        else:
            self.__field_slot=UINT(value,**{'sizeinbytes': 2})

    def __delfield_slot(self): del self.__field_slot

    slot=property(__getfield_slot, __setfield_slot, __delfield_slot, None)

    def __getfield_others(self):
        return self.__field_others.getvalue()

    def __setfield_others(self, value):
        if isinstance(value,UINT):
            self.__field_others=value
        else:
            self.__field_others=UINT(value,**{'sizeinbytes': 4})

    def __delfield_others(self): del self.__field_others

    others=property(__getfield_others, __setfield_others, __delfield_others, None)

    def __getfield_owner_id(self):
        return self.__field_owner_id.getvalue()

    def __setfield_owner_id(self, value):
        if isinstance(value,UINT):
            self.__field_owner_id=value
        else:
            self.__field_owner_id=UINT(value,**{'sizeinbytes': 4})

    def __delfield_owner_id(self): del self.__field_owner_id

    owner_id=property(__getfield_owner_id, __setfield_owner_id, __delfield_owner_id, None)

    def __getfield_type(self):
        return self.__field_type.getvalue()

    def __setfield_type(self, value):
        if isinstance(value,UINT):
            self.__field_type=value
        else:
            self.__field_type=UINT(value,**{'sizeinbytes': 1})

    def __delfield_type(self): del self.__field_type

    type=property(__getfield_type, __setfield_type, __delfield_type, "Home / Work / Cell / Fax")

    def __getfield_number(self):
        return self.__field_number.getvalue()

    def __setfield_number(self, value):
        if isinstance(value,USTRING):
            self.__field_number=value
        else:
            self.__field_number=USTRING(value,**{'sizeinbytes': 33})

    def __delfield_number(self): del self.__field_number

    number=property(__getfield_number, __setfield_number, __delfield_number, None)

    def iscontainer(self):
        return True

    def containerelements(self):
        yield ('slot', self.__field_slot, None)
        yield ('others', self.__field_others, None)
        yield ('owner_id', self.__field_owner_id, None)
        yield ('type', self.__field_type, "Home / Work / Cell / Fax")
        yield ('number', self.__field_number, None)




