diff --git a/network.py b/network.py new file mode 100644 --- /dev/null +++ b/network.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python + +import network_interface +import module + +class Network(): + + def __init__(self, logger): + self.interfaces = [] + self.module_list = module.ModuleList() + self.logger = logger + + def add_interface(self, interface): + self.interfaces.append(interface) + + def load_interfaces(self): + #TODO: Load interfaces from config file + pass + + def get_interface(self, interface_name): + for interface in self.interfaces: + if interface.interface_name == interface_name: + return interface + + def start_interface(self, interface_name): + print("Network: start interface " + interface_name) + #TODO: Start interface + for interface in self.interfaces: + if interface.interface_name == interface_name: + interface.start() + + def start_all_interfaces(self): + print("Network: start all interfaces") + for interface in self.interfaces: + interface.start() + + def send_message(self, message): + module = self.module_list.lookup_module(message.module_uuid) + if not module == None: + module.interface.send_message(message) + else: + print("Could not find module " + str(message.module_uuid)) + + def process_message(self, message): + print("Network: process message") + self.module_list.lookup_module(message.module_uuid).receive_message() +