VOL-1493 VOL-1454:

Process omci messages. Properly set device state
using new core_proxy api.

Implement and process inter adapter messages.
Start and use openomci state machine.  Update
handler and omci_cc for new core/adapter proxy

Can now successfully mib upload and mib_sync is success

Change-Id: Id2b3e3b700601dad035886544f5b1f5606b146ad
diff --git a/python/adapters/brcm_openomci_onu/brcm_openomci_onu.py b/python/adapters/brcm_openomci_onu/brcm_openomci_onu.py
index ca90ac4..77a1920 100644
--- a/python/adapters/brcm_openomci_onu/brcm_openomci_onu.py
+++ b/python/adapters/brcm_openomci_onu/brcm_openomci_onu.py
@@ -59,8 +59,8 @@
 
     def __init__(self, core_proxy, adapter_proxy, config):
         log.debug('function-entry', config=config)
+        self.core_proxy = core_proxy
         self.adapter_proxy = adapter_proxy
-        self.adapter_agent = core_proxy
         self.config = config
         self.descriptor = Adapter(
             id=self.name,
@@ -86,7 +86,8 @@
     def omci_agent(self):
         if not hasattr(self, '_omci_agent') or self._omci_agent is None:
             log.debug('creating-omci-agent')
-            self._omci_agent = OpenOMCIAgent(self.adapter_agent,
+            self._omci_agent = OpenOMCIAgent(self.core_proxy,
+                                             self.adapter_proxy,
                                              support_classes=self.broadcom_omci)
         return self._omci_agent
 
@@ -238,6 +239,13 @@
         else:
             log.error("device-not-found")
 
+    def process_inter_adapter_message(self, msg):
+        log.debug('process-inter-adapter-message', msg=msg)
+        # Unpack the header to know which device needs to handle this message
+        if msg.header:
+            handler = self.devices_handlers[msg.header.to_device_id]
+            handler.process_inter_adapter_message(msg)
+
     def create_interface(self, device, data):
         log.debug('create-interface', device_id=device.id)
         if device.id in self.devices_handlers: