Source code for coherence.upnp.services.clients.connection_manager_client

# -*- coding: utf-8 -*-

# Licensed under the MIT license
# http://opensource.org/licenses/mit-license.php

# Copyright 2006-2008, Frank Scholz <coherence@beebits.net>


[docs]class ConnectionManagerClient: def __init__(self, service): self.service = service self.namespace = service.get_type() self.url = service.get_control_url() self.service.client = self self.service.subscribe() # def __del__(self): # # print('ConnectionManagerClient deleted') # pass
[docs] def connection_manager_id(self): return f'{self.service.device.get_id()}/{self.service.get_id()}'
[docs] def remove(self): self.service.remove() self.service = None self.namespace = None self.url = None del self
[docs] def subscribe_for_variable(self, var_name, callback, signal=False): self.service.subscribe_for_variable(var_name, instance=0, callback=callback, signal=signal)
[docs] def get_protocol_info(self): action = self.service.get_action('GetProtocolInfo') return action.call()
[docs] def prepare_for_connection(self, remote_protocol_info, peer_connection_manager, peer_connection_id, direction): action = self.service.get_action('PrepareForConnection') if action: # optional return action.call(RemoteProtocolInfo=remote_protocol_info, PeerConnectionManager=peer_connection_manager, PeerConnectionID=peer_connection_id, Direction=direction) return None
[docs] def connection_complete(self, connection_id): action = self.service.get_action('ConnectionComplete') if action: # optional return action.call(ConnectionID=connection_id) return None
[docs] def get_current_connection_ids(self): action = self.service.get_action('GetCurrentConnectionIDs') return action.call()
[docs] def get_current_connection_info(self, connection_id): action = self.service.get_action('GetCurrentConnectionInfo') return action.call(ConnectionID=connection_id)