Source code for nanome.api.control.messages

from nanome._internal import serializer_fields


[docs]class AdvancedSettings(serializer_fields.TypeSerializer):
[docs] def version(self): return 0
[docs] def name(self): return "AdvancedSettings"
[docs] def serialize(self, version, value, data): pass
[docs] def deserialize(self, version, data): return None
[docs]class Connect(serializer_fields.TypeSerializer): def __init__(self): self.__dictionary = serializer_fields.DictionaryField() self.__dictionary.set_types(serializer_fields.StringField(), serializer_fields.ByteField())
[docs] def version(self): return 0
[docs] def name(self): return "Connect"
[docs] def serialize(self, version, value, data): data.write_byte(value[0]) data.write_using_serializer(self.__dictionary, value[1])
[docs] def deserialize(self, version, data): version_table = data.read_using_serializer(self.__dictionary) return version_table
[docs]class Run(serializer_fields.TypeSerializer):
[docs] def version(self): return 0
[docs] def name(self): return "Run"
[docs] def serialize(self, version, value, data): pass
[docs] def deserialize(self, version, data): return None
[docs]class SetPluginListButton(serializer_fields.TypeSerializer): def __init__(self): self.__string = serializer_fields.StringField()
[docs] def version(self): return 0
[docs] def name(self): return "SetPluginListButton"
[docs] def serialize(self, version, value, data): data.write_uint(value[0]) data.write_using_serializer(self.__string, value[1]) data.write_bool(value[2])
[docs] def deserialize(self, version, data): return None
[docs]class OpenURL(serializer_fields.TypeSerializer): def __init__(self): self.string = serializer_fields.StringField()
[docs] def version(self): return 1
[docs] def name(self): return "OpenURL"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self.string, value[0]) # URL if version >= 1: context.write_bool(value[1]) # Desktop Browser
[docs] def deserialize(self, version, context): raise NotImplementedError
[docs]class GetControllerTransforms(serializer_fields.TypeSerializer):
[docs] def version(self): return 0
[docs] def name(self): return "GetControllerTransforms"
[docs] def serialize(self, version, value, data): pass
[docs] def deserialize(self, version, data): return None
[docs]class GetControllerTransformsResponse(serializer_fields.TypeSerializer): def __init__(self): self.pos = serializer_fields.UnityPositionField() self.rot = serializer_fields.UnityRotationField()
[docs] def version(self): return 0
[docs] def name(self): return "GetControllerTransformsResponse"
[docs] def serialize(self, version, value, context): pass
[docs] def deserialize(self, version, context): headset_position = context.read_using_serializer(self.pos) headset_rotation = context.read_using_serializer(self.rot) left_controller_position = context.read_using_serializer(self.pos) left_controller_rotation = context.read_using_serializer(self.rot) right_controller_position = context.read_using_serializer(self.pos) right_controller_rotation = context.read_using_serializer(self.rot) result = (headset_position, headset_rotation, left_controller_position, left_controller_rotation, right_controller_position, right_controller_rotation) return result