NNXSW-3858: Get non-const IConnectableLayer from I/O slots

* Added non-const variants of existing const member functions in
IInputSlot and IOutputSlot to retrieve non-const IConnectableLayer

Signed-off-by: Nabeel Ahmad <nabeel.ahmad@arm.com>
Change-Id: Ic3388b578324edb4d2cca36acce6560ad1ce83c5
diff --git a/include/armnn/INetwork.hpp b/include/armnn/INetwork.hpp
index 475367e..1ed5600 100644
--- a/include/armnn/INetwork.hpp
+++ b/include/armnn/INetwork.hpp
@@ -29,6 +29,7 @@
     virtual const IOutputSlot* GetConnection() const = 0;
     virtual IOutputSlot* GetConnection() = 0;
     virtual const IConnectableLayer& GetOwningIConnectableLayer() const = 0;
+    virtual IConnectableLayer& GetOwningIConnectableLayer() = 0;
 
 protected:
    /// Not user deletable.
@@ -56,6 +57,7 @@
     virtual LayerGuid GetOwningLayerGuid() const = 0;
 
     virtual const IConnectableLayer& GetOwningIConnectableLayer() const = 0;
+    virtual IConnectableLayer& GetOwningIConnectableLayer() = 0;
 
 protected:
     /// Not user deletable.
diff --git a/src/armnn/Layer.cpp b/src/armnn/Layer.cpp
index b1d4952..19337dc 100644
--- a/src/armnn/Layer.cpp
+++ b/src/armnn/Layer.cpp
@@ -543,9 +543,19 @@
     return m_OwningLayer;
 }
 
+IConnectableLayer& OutputSlot::GetOwningIConnectableLayer()
+{
+    return m_OwningLayer;
+}
+
 const IConnectableLayer& InputSlot::GetOwningIConnectableLayer() const
 {
     return m_OwningLayer;
 }
 
+IConnectableLayer& InputSlot::GetOwningIConnectableLayer()
+{
+    return m_OwningLayer;
+}
+
 } // namespace armnn
diff --git a/src/armnn/Layer.hpp b/src/armnn/Layer.hpp
index 767cf97..5edf66c 100644
--- a/src/armnn/Layer.hpp
+++ b/src/armnn/Layer.hpp
@@ -57,6 +57,7 @@
     OutputSlot* GetConnectedOutputSlot() { return m_Connection; }
 
     const IConnectableLayer& GetOwningIConnectableLayer() const override;
+    IConnectableLayer& GetOwningIConnectableLayer() override;
 
     /// Links the slot to an output slot or breaks an existing link if passing nullptr.
     void SetConnection(OutputSlot* source)
@@ -118,6 +119,7 @@
     Layer& GetOwningLayer() const { return m_OwningLayer; }
 
     const IConnectableLayer& GetOwningIConnectableLayer() const override;
+    IConnectableLayer& GetOwningIConnectableLayer() override;
 
     LayerGuid GetOwningLayerGuid() const override;