def __init__(self, address=None, crypto=None): """ Instantiate Smartglass Protocol handler. Args: address (str): Optional IP address to send all packets to crypto (:class:`.Crypto`): Instance of crypto context """ self.addr = address self.crypto = crypto self._discovered = {} self.target_participant_id = None self.source_participant_id = None self._pending = {} self._chl_mgr = ChannelManager() self._seq_mgr = SequenceManager() self._frg_mgr = FragmentManager() self.on_timeout = Event() self.on_discover = Event() self.on_message = Event() self.on_json = Event() super(DatagramServer, self).__init__(('*:0'))
def __init__(self, address: Optional[str] = None, crypto_instance: Optional[crypto.Crypto] = None): """ Instantiate Smartglass Protocol handler. Args: address: Address crypto_instance: Crypto instance """ self.address = address self._transport: Optional[asyncio.DatagramTransport] = None self.crypto = crypto_instance self._discovered = {} self.target_participant_id = None self.source_participant_id = None self._pending: Dict[str, asyncio.Future] = {} self._chl_mgr = ChannelManager() self._seq_mgr = SequenceManager() self._frg_mgr = FragmentManager() self.on_timeout = Event() self.on_discover = Event() self.on_message = Event() self.on_json = Event() self.started = False
def __init__(self, console): """ Title Manager (ServiceChannel.SystemInputTVRemote) Args: console: Console object """ super(StumpManager, self).__init__(console, ServiceChannel.SystemInputTVRemote) self._msg_id_idx = 0 self._msg_id_prefix = random.randint(0, 0x7FFFFFFF) self._appchannel_lineups = None self._appchannel_data = None self._appchannel_program_data = None self._stump_config = None self._stump_headend_info = None self._stump_livetv_info = None self._stump_program_info = None self._stump_recent_channels = None self._stump_tuner_lineups = None self.on_response = Event() self.on_notification = Event() self.on_error = Event()
def __init__(self, console): """ Media Manager (ServiceChannel.SystemMedia) Args: Console object, internally passed by `Console.add_manager """ super(MediaManager, self).__init__(console, ServiceChannel.SystemMedia) self._media_state = None self.on_media_state = Event() self.on_media_command_result = Event() self.on_media_controller_removed = Event()
def __init__(self, console): """ Title Manager (ServiceChannel.Title) Args: console (:class:`.Console`): Console object, internally passed by `Console.add_manager` """ super(TitleManager, self).__init__(console, ServiceChannel.Title) self._active_surface = None self._connection_info = None self.on_surface_change = Event() self.on_connection_info = Event()
class LocalConnection(asyncio.Protocol): data_received_event = Event() connection_made_event = Event() def connection_made(self, transport: asyncio.BaseTransport) -> None: self.transport = transport self.connection_made(transport) def data_received(self, data: bytes) -> None: self.data_received(data) def close_connection(self) -> None: print('Close the client socket') self.transport.close()
def __init__(self, nano: NanoProtocol): self._nano: NanoProtocol = nano # Do we want this? Circular reference.. self.connected = asyncio.Future() self.transport: Optional[DatagramTransport] = None self.on_message = Event()
def __init__(self, address, port, nano): self.host = (address, port) self.connected = gevent.event.Event() self._nano = nano # Do we want this? Circular reference.. self.on_message = Event() super(DatagramServer, self).__init__(('*:0'))
def __init__(self, address, port, nano): self.host = (address, port) self._nano = nano # Do we want this? Circular reference.. self._q = [] self._socket = None self._recv_thread = None self.on_message = Event()
def __init__(self, address, port, crypto): self.host = (address, port) self.crypto = crypto self._socket = None self._recv_thread = None self.on_message = Event()
def __init__(self, address: str, port: int, nano: NanoProtocol): self.host: Tuple[str, int] = (address, port) self._nano = nano # Do we want this? Circular reference.. self._q = [] self._reader: Optional[StreamReader] = None self._writer: Optional[StreamWriter] = None self._recv_task: Optional[asyncio.Task] = None self.on_message = Event()
def __init__(self, console): """ Text Manager (ServiceChannel.SystemText) Args: console: Console object, internally passed by `Console.add_manager """ super(TextManager, self).__init__(console, ServiceChannel.SystemText) self.session_config = None self.current_session_input = None self.last_session_ack = None self._current_text_version = 0 self.on_systemtext_configuration = Event() self.on_systemtext_input = Event() self.on_systemtext_done = Event()
def __init__(self, address: str, name: str, uuid: UUID, liveid: str, flags: PrimaryDeviceFlag = PrimaryDeviceFlag.Null, last_error: int = 0, public_key: EllipticCurvePublicKey = None): """ Initialize an instance of Console Args: address: IP address of console. flags: Primary device flags name: Name of console. uuid: UUID of console. liveid: Live ID of console. public_key: Console's Public Key. """ self.address = address self.name = name self.uuid = uuid self.liveid = liveid self.flags = flags self.last_error = last_error self._public_key = None self._crypto = None if public_key: # This sets up the crypto context self.public_key = public_key self._device_status = DeviceStatus.Unavailable self._connection_state = ConnectionState.Disconnected self._pairing_state = PairedIdentityState.NotPaired self._console_status = None self._active_surface = None self.on_device_status = Event() self.on_connection_state = Event() self.on_pairing_state = Event() self.on_console_status = Event() self.on_active_surface = Event() self.on_timeout = Event() self.managers: Dict[str, Manager] = {} self._functions = {} self.on_message = Event() self.on_json = Event() self.power_on = self._power_on # Dirty hack self.protocol: Optional[SmartglassProtocol] = None
def __init__(self, address, port, crypto): self.address = address self.port = port self.crypto = crypto self._reader: Optional[asyncio.StreamReader] = None self._writer: Optional[asyncio.StreamWriter] = None self._recv_task: Optional[asyncio.Task] = None self.on_message = Event()
def __init__(self, console): super(NanoManager, self).__init__(console, ServiceChannel.SystemBroadcast) self.client = None self._protocol = None self._connected = False self._current_state = GameStreamState.Unknown self.on_gamestream_error = Event() self._stream_states = {} self._stream_enabled = None self._stream_error = None self._stream_telemetry = None self._stream_previewstatus = None
def __init__(self, address, name, uuid, liveid, flags=PrimaryDeviceFlag.Null, public_key=None): """ Initialize an instance of Console Args: address (str): IP address of console. flags (:class:`PrimaryDeviceFlag`): Primary device flags name (str): Name of console. uuid (:obj:`UUID`): UUID of console. liveid (str): Live ID of console. public_key (:obj:`ec.EllipticCurvePrivateKey`): Console's Public Key. """ self.address = address self.name = name self.uuid = uuid self.liveid = liveid self.flags = flags self._public_key = None self._crypto = None if public_key: # This sets up the crypto context self.public_key = public_key self._device_status = DeviceStatus.Unavailable self._connection_state = ConnectionState.Disconnected self._pairing_state = PairedIdentityState.NotPaired self._console_status = None self._active_surface = None self.on_device_status = Event() self.on_connection_state = Event() self.on_pairing_state = Event() self.on_console_status = Event() self.on_active_surface = Event() self.on_timeout = Event() self.managers = {} self._functions = {} self.power_on = self._power_on # Dirty hack self._init_protocol()