[ONOS-3119] FlowClassifier installer impl.
Change-Id: I48b2378ad185528f5775f547bc965ebbbd009116
diff --git a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java
new file mode 100644
index 0000000..fddcf4d
--- /dev/null
+++ b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/installer/FlowClassifierInstallerService.java
@@ -0,0 +1,40 @@
+package org.onosproject.sfc.installer;
+
+import org.onosproject.net.NshServicePathId;
+import org.onosproject.net.flowobjective.Objective.Operation;
+import org.onosproject.vtnrsc.FlowClassifier;
+import org.onosproject.vtnrsc.PortChain;
+import org.onosproject.vtnrsc.PortPair;
+
+/**
+ * Abstraction of an entity which installs flow classification rules in ovs.
+ */
+public interface FlowClassifierInstallerService {
+
+ /**
+ * Install Flow-Classifier.
+ *
+ * @param portChain port-chain
+ * @param nshSpiId nsh spi-id
+ */
+ void installFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
+
+ /**
+ * Uninstall Flow-Classifier.
+ *
+ * @param portChain port-chain
+ * @param nshSpiId nsh spi-id
+ */
+ void unInstallFlowClassifier(PortChain portChain, NshServicePathId nshSpiId);
+
+ /**
+ * Prepare forwarding object for flow classifier.
+ *
+ * @param flowClassifier flow classifier
+ * @param portPair port pair
+ * @param nshSpiId nsh spi id
+ * @param type forwarding objective operation type
+ */
+ void prepareFlowClassification(FlowClassifier flowClassifier, PortPair portPair, NshServicePathId nshSpiId,
+ Operation type);
+}