Merge "Use ClusteredDataTreeListener in hwvtepsb"
[netvirt.git] / openstack / net-virt-providers / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / providers / openflow13 / PipelineOrchestrator.java
index b2d97dd7dd2c336141076e8bd0307c39142cddf9..327f45ecb85c97f5c69f507596d05e1ac9cbec9c 100644 (file)
@@ -1,20 +1,33 @@
 /*
- * Copyright (C) 2014 Red Hat, Inc.
+ * Copyright (c) 2014, 2015 Red Hat, Inc. and others. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Authors : Dave Tucker, Madhu Venugopal
  */
 
 package org.opendaylight.ovsdb.openstack.netvirt.providers.openflow13;
 
+import java.util.List;
+import java.util.Map;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.osgi.framework.ServiceReference;
+
 /**
  * A PipelineOrchestrator provides the necessary orchestration logic to allow multiple network services
  * to share a common OpenFlow 1.3 based multi-table pipeline.
+ *
+ * @author Dave Tucker
+ * @author Madhu Venugopal
  */
 public interface PipelineOrchestrator {
-    public Service getNextServiceInPipeline(Service service);
+    Service getNextServiceInPipeline(Service service);
     AbstractServiceInstance getServiceInstance(Service service);
+    Map<Service, AbstractServiceInstance> getServiceRegistry();
+    short getTableOffset();
+    short getTable(Service service);
+    List<Service> getStaticPipeline();
+    void enqueue(Node node);
+    void registerService(final ServiceReference ref, AbstractServiceInstance serviceInstance);
+    void unregisterService(final ServiceReference ref);
 }