Example #1
0
 def data(self, obj, total=None):
     """Write the objects data. """
     if total is not None:
         tmp = '%s ' % CHAR_MAP.get(xc_type(obj[0]), None)
         if type(obj[0]) in XC_TYPES:
             for i in xrange(total):
                 self._file.write(tmp % obj[i].value)
         elif type(obj[0]) in CTYPES:
             for i in xrange(total):
                 self._file.write(tmp % obj[i])
         else:
             for i in xrange(total):
                 data(self, obj[i], "")
         return
     tmp = '%s ' % CHAR_MAP[xc_type(obj)]
     if type(obj) not in XC_TYPES:
         self._file.write(tmp % obj)
     else:
         self._file.write(tmp % obj.value)
Example #2
0
 def info(self, obj):
     """Write the object info"""
     kind = xc_type(obj)
     self._file.write("%c " % kind)
     if kind in ['C', 'I', 'N', 'R']:
         self._file.write('%d ' % ctypes.sizeof(c_type(obj)))
     elif type(obj) is XCStruct:
         self._file.write('%s ' % obj.name())
     else:
         self._file.write('%s ' % type(obj).__name__)