|
- """LCM type definitions
- This file automatically generated by lcm.
- DO NOT MODIFY BY HAND!!!!
- """
-
- try:
- import cStringIO.StringIO as BytesIO
- except ImportError:
- from io import BytesIO
- import struct
-
- class ErrorInjection(object):
- __slots__ = ["enableTopLevel", "useScene", "enableLowLevel"]
-
- __typenames__ = ["int8_t", "int8_t", "int8_t"]
-
- __dimensions__ = [None, None, None]
-
- def __init__(self):
- self.enableTopLevel = 0
- self.useScene = 0
- self.enableLowLevel = 0
-
- def encode(self):
- buf = BytesIO()
- buf.write(ErrorInjection._get_packed_fingerprint())
- self._encode_one(buf)
- return buf.getvalue()
-
- def _encode_one(self, buf):
- buf.write(struct.pack(">bbb", self.enableTopLevel, self.useScene, self.enableLowLevel))
-
- def decode(data):
- if hasattr(data, 'read'):
- buf = data
- else:
- buf = BytesIO(data)
- if buf.read(8) != ErrorInjection._get_packed_fingerprint():
- raise ValueError("Decode error")
- return ErrorInjection._decode_one(buf)
- decode = staticmethod(decode)
-
- def _decode_one(buf):
- self = ErrorInjection()
- self.enableTopLevel, self.useScene, self.enableLowLevel = struct.unpack(">bbb", buf.read(3))
- return self
- _decode_one = staticmethod(_decode_one)
-
- _hash = None
- def _get_hash_recursive(parents):
- if ErrorInjection in parents: return 0
- tmphash = (0x5b4feb61a8679a5) & 0xffffffffffffffff
- tmphash = (((tmphash<<1)&0xffffffffffffffff) + (tmphash>>63)) & 0xffffffffffffffff
- return tmphash
- _get_hash_recursive = staticmethod(_get_hash_recursive)
- _packed_fingerprint = None
-
- def _get_packed_fingerprint():
- if ErrorInjection._packed_fingerprint is None:
- ErrorInjection._packed_fingerprint = struct.pack(">Q", ErrorInjection._get_hash_recursive([]))
- return ErrorInjection._packed_fingerprint
- _get_packed_fingerprint = staticmethod(_get_packed_fingerprint)
|