class VehicleCallbackServer(threading.Thread): """ RPC server thread responding to vehicle callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.VH_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function( statusReport, settings.VH_SERVER_SERVICE_ID + "/statusreport") def register_services(self): # register services with RVI framework result = service_edge.register_service( service=settings.VH_SERVER_SERVICE_ID + '/statusreport', network_address=settings.VH_SERVER_CALLBACK_URL) logger.info('Vehicle Server Service Registration: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class MQSinkServer(threading.Thread): """ Publish data report to message queue """ def __init__(self, service_edge, callback_url, service_id): threading.Thread.__init__(self) self.service_edge = service_edge self.service_id = service_id self.callback_url = callback_url url = urlparse(self.callback_url) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.register_services() def register_services(self): # register callback functions with RPC server self.localServer.register_function(report, self.service_id + "/report") # register services with RVI framework result = self.service_edge.register_service(service = self.service_id+'/report', network_address = self.callback_url) logger.info('Tracking Service Registration: Report service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown()
class VehicleCallbackServer(threading.Thread): """ RPC server thread responding to vehicle callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.VH_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function(statusReport, settings.VH_SERVER_SERVICE_ID + "/statusreport") def register_services(self): # register services with RVI framework result = service_edge.register_service(service = settings.VH_SERVER_SERVICE_ID + '/statusreport', network_address = settings.VH_SERVER_CALLBACK_URL) logger.info('Vehicle Server Service Registration: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class CoreCallbackServer(threading.Thread): """ RPC server thread responding to core callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.CORE_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function(ping, settings.CORE_SERVER_SERVICE_ID + "/ping") def register_services(self): # register services with RVI framework result = service_edge.register_service(service = settings.CORE_SERVER_SERVICE_ID + '/ping', network_address = settings.CORE_SERVER_CALLBACK_URL) logger.info('Core Server: Service Registration: ping service name: %s', result) return result def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class TrackingCallbackServer(threading.Thread): """ RPC server thread responding to Tracking callbacks from the RVI framework """ def __init__(self, service_edge, callback_url, service_id): self.service_edge = service_edge self.service_id = service_id self.callback_url = callback_url threading.Thread.__init__(self) url = urlparse(self.callback_url) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=True) self.register_services() def register_services(self): # register callback functions with RPC server self.localServer.register_function(report, self.service_id + "/report") # register services with RVI framework result = self.service_edge.register_service( service=self.service_id + '/report', network_address=self.callback_url) logger.info('Tracking Service Registration: Report service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown()
class ThingcontrolCallbackServer(threading.Thread): """ RPC server thread responding to Thingcontrol callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.TC_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function(getDeviceStatus, settings.TC_SERVER_SERVICE_ID + "/getdevicestatus") self.localServer.register_function(setHueLighting, settings.TC_SERVER_SERVICE_ID + "/sethuelighting") self.localServer.register_function(setOutlet, settings.TC_SERVER_SERVICE_ID + "/setoutlet") self.localServer.register_function(setSwitch, settings.TC_SERVER_SERVICE_ID + "/setswitch") self.localServer.register_function(setLock, settings.TC_SERVER_SERVICE_ID + "/setlock") self.localServer.register_function(setDimmer, settings.TC_SERVER_SERVICE_ID + "/setdimmer") self.localServer.register_function(setThermostat, settings.TC_SERVER_SERVICE_ID + "/setthermostat") self.localServer.register_function(secureHome, settings.TC_SERVER_SERVICE_ID + "/securehome") def register_services(self): # register services with RVI framework result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/getdevicestatus', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: getdevicestatus service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/sethuelighting', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: sethuelighting service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/setoutlet', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setoutlet service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/setswitch', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setswitch service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/setlock', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setlock service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/setdimmer', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setdimmer service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/setthermostat', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setthermostat service name: %s', result['service']) result = service_edge.register_service(service = settings.TC_SERVER_SERVICE_ID + '/securehome', network_address = settings.TC_SERVER_CALLBACK_URL) logger.info('Thingcontrol Service Registration: setthermostat service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class SOTACallbackServer(threading.Thread): """ RPC server thread responding to SOTA callbacks from the RVI framework """ def __init__(self, service_edge, callback_url, service_id): self.service_edge = service_edge self.service_id = service_id self.callback_url = callback_url threading.Thread.__init__(self) url = urlparse(self.callback_url) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.register_services() def register_services(self): # register callback functions with RPC server self.localServer.register_function( initiate_download, self.service_id + "/initiate_download") self.localServer.register_function( cancel_download, self.service_id + "/cancel_download") self.localServer.register_function( download_complete, self.service_id + "/download_complete") # register services with RVI framework result = self.service_edge.register_service( service=self.service_id + '/initiate_download', network_address=self.callback_url) rvi_logger.info( 'SOTA Service Registration: Initiate download service name: %s', result['service']) result = self.service_edge.register_service( service=self.service_id + '/cancel_download', network_address=self.callback_url) rvi_logger.info( 'SOTA Service Registration: Cancel download service name: %s', result['service']) result = self.service_edge.register_service( service=self.service_id + '/download_complete', network_address=self.callback_url) rvi_logger.info( 'SOTA Service Registration: Download complete service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown()
class UsermessageCallbackServer(threading.Thread): """ RPC server thread responding to user message callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.UM_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function( showUserMessage, settings.UM_SERVER_SERVICE_ID + "/showusermessage") self.localServer.register_function( cancelUserMessage, settings.UM_SERVER_SERVICE_ID + "/canelusermessage") def register_services(self): # register services with RVI framework result = service_edge.register_service( service=settings.UM_SERVER_SERVICE_ID + '/showusermessage', network_address=settings.UM_SERVER_CALLBACK_URL) logger.info( 'Usermessage Service Registration: showusermessage service name: %s', result['service']) result = service_edge.register_service( service=settings.UM_SERVER_SERVICE_ID + '/cancelusermessage', network_address=settings.UM_SERVER_CALLBACK_URL) logger.info( 'Usermessage Service Registration: cancelusermessage service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class PixieCallbackServer(threading.Thread): """ RPC server thread responding to Pixie callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.PIXIE_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function( getRawItemLocations, settings.PIXIE_SERVER_SERVICE_ID + "/getrawitemlocations") self.localServer.register_function( getItemLocations, settings.PIXIE_SERVER_SERVICE_ID + "/getitemlocations") def register_services(self): # register services with RVI framework result = service_edge.register_service( service=settings.PIXIE_SERVER_SERVICE_ID + '/getrawitemlocations', network_address=settings.PIXIE_SERVER_CALLBACK_URL) logger.info( 'PIXIE Service Registration: Get Raw Item Locations service name: %s', result['service']) result = service_edge.register_service( service=settings.PIXIE_SERVER_SERVICE_ID + '/getitemlocations', network_address=settings.PIXIE_SERVER_CALLBACK_URL) logger.info( 'PIXIE Service Registration: Get Item Locations service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class SOTACallbackServer(threading.Thread): """ RPC server thread responding to SOTA callbacks from the RVI framework """ def __init__(self, service_edge, callback_url, service_id): self.service_edge = service_edge self.service_id = service_id self.callback_url = callback_url threading.Thread.__init__(self) url = urlparse(self.callback_url) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.register_services() def register_services(self): # register callback functions with RPC server self.localServer.register_function(initiate_download, self.service_id + "/initiate_download") self.localServer.register_function(cancel_download, self.service_id + "/cancel_download") self.localServer.register_function(download_complete, self.service_id + "/download_complete") # register services with RVI framework result = self.service_edge.register_service( service=self.service_id + "/initiate_download", network_address=self.callback_url ) rvi_logger.info("SOTA Service Registration: Initiate download service name: %s", result["service"]) result = self.service_edge.register_service( service=self.service_id + "/cancel_download", network_address=self.callback_url ) rvi_logger.info("SOTA Service Registration: Cancel download service name: %s", result["service"]) result = self.service_edge.register_service( service=self.service_id + "/download_complete", network_address=self.callback_url ) rvi_logger.info("SOTA Service Registration: Download complete service name: %s", result["service"]) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown()
class UsermessageCallbackServer(threading.Thread): """ RPC server thread responding to user message callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.UM_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function(showUserMessage, settings.UM_SERVER_SERVICE_ID + "/showusermessage") self.localServer.register_function(cancelUserMessage, settings.UM_SERVER_SERVICE_ID + "/canelusermessage") def register_services(self): # register services with RVI framework result = service_edge.register_service(service = settings.UM_SERVER_SERVICE_ID + '/showusermessage', network_address = settings.UM_SERVER_CALLBACK_URL) logger.info('Usermessage Service Registration: showusermessage service name: %s', result['service']) result = service_edge.register_service(service = settings.UM_SERVER_SERVICE_ID + '/cancelusermessage', network_address = settings.UM_SERVER_CALLBACK_URL) logger.info('Usermessage Service Registration: cancelusermessage service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class PixieCallbackServer(threading.Thread): """ RPC server thread responding to Pixie callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.PIXIE_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function(getRawItemLocations, settings.PIXIE_SERVER_SERVICE_ID + "/getrawitemlocations") self.localServer.register_function(getItemLocations, settings.PIXIE_SERVER_SERVICE_ID + "/getitemlocations") def register_services(self): # register services with RVI framework result = service_edge.register_service(service = settings.PIXIE_SERVER_SERVICE_ID + '/getrawitemlocations', network_address = settings.PIXIE_SERVER_CALLBACK_URL) logger.info('PIXIE Service Registration: Get Raw Item Locations service name: %s', result['service']) result = service_edge.register_service(service = settings.PIXIE_SERVER_SERVICE_ID + '/getitemlocations', network_address = settings.PIXIE_SERVER_CALLBACK_URL) logger.info('PIXIE Service Registration: Get Item Locations service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()
class ThingcontrolCallbackServer(threading.Thread): """ RPC server thread responding to Thingcontrol callbacks from the RVI framework """ def __init__(self, _logger, _service_edge): global logger global service_edge logger = _logger service_edge = _service_edge threading.Thread.__init__(self) self.init_callback_server() self.register_services() def init_callback_server(self): # initialize RPC server and register callback functions url = urlparse(settings.TC_SERVER_CALLBACK_URL) self.localServer = RVIJSONRPCServer(addr=((url.hostname, url.port)), logRequests=False) self.localServer.register_function( getDeviceStatus, settings.TC_SERVER_SERVICE_ID + "/getdevicestatus") self.localServer.register_function( setHueLighting, settings.TC_SERVER_SERVICE_ID + "/sethuelighting") self.localServer.register_function( setOutlet, settings.TC_SERVER_SERVICE_ID + "/setoutlet") self.localServer.register_function( setSwitch, settings.TC_SERVER_SERVICE_ID + "/setswitch") self.localServer.register_function( setLock, settings.TC_SERVER_SERVICE_ID + "/setlock") self.localServer.register_function( setDimmer, settings.TC_SERVER_SERVICE_ID + "/setdimmer") self.localServer.register_function( setThermostat, settings.TC_SERVER_SERVICE_ID + "/setthermostat") self.localServer.register_function( secureHome, settings.TC_SERVER_SERVICE_ID + "/securehome") def register_services(self): # register services with RVI framework result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/getdevicestatus', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: getdevicestatus service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/sethuelighting', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: sethuelighting service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/setoutlet', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setoutlet service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/setswitch', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setswitch service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/setlock', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setlock service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/setdimmer', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setdimmer service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/setthermostat', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setthermostat service name: %s', result['service']) result = service_edge.register_service( service=settings.TC_SERVER_SERVICE_ID + '/securehome', network_address=settings.TC_SERVER_CALLBACK_URL) logger.info( 'Thingcontrol Service Registration: setthermostat service name: %s', result['service']) def run(self): self.localServer.serve_forever() def shutdown(self): self.localServer.shutdown() self.localServer.server_close()