[ONOS-6774] Mechanism to unregister pipeconfs in PiPipeconfService

Change-Id: If6d7b4985d3a624c9be3b831f0a3d3d4a42b0b62
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java
index 34b5174..71b63a8 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiPipeconfService.java
@@ -41,6 +41,17 @@
     void register(PiPipeconf pipeconf) throws IllegalStateException;
 
     /**
+     * Unregisters the Pipeconf identified by the given PiPipeconfId.
+     * Unregistering a Pipeconf removes it from the ONOS controller, thus making it un-capable
+     * of controlling (e.g installing flow rules) the devices that have the pipeconf's p4 program deployed.
+     * For now this method DOES NOT remove the p4 program from the devices.
+     *
+     * @param pipeconfId a pipeconfId
+     * @throws IllegalStateException if the same pipeconf identifier is already registered.
+     */
+    void remove(PiPipeconfId pipeconfId) throws IllegalStateException;
+
+    /**
      * Returns all pipeconfs registered.
      *
      * @return a collection of pipeconfs
@@ -62,7 +73,7 @@
      * device's driver. Returns a completable future to provide async methods with a boolean if the merge
      * of the drivers succeeded.
      *
-     * @param deviceId a device identifier
+     * @param deviceId   a device identifier
      * @param pipeconfId a pipeconf identifier
      * @return a CompletableFuture with a boolean, true if operation succeeded
      */