Ordered message execution ensured
[openflowjava.git] / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / connection / ConnectionAdapter.java
index 04a9ecc4d8b387249c1dd12970a9955cdad5ad02..74a9bdccf204393e185d68239da65fc97b7ba319 100644 (file)
@@ -1,10 +1,4 @@
-/**
- * Copyright (c) 2013 Cisco Systems, 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
- */
+/* Copyright (C)2013 Pantheon Technologies, s.r.o. All rights reserved. */
 
 package org.opendaylight.openflowjava.protocol.api.connection;
 
@@ -12,9 +6,11 @@ import java.util.concurrent.Future;
 
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OpenflowProtocolListener;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.protocol.rev130731.OpenflowProtocolService;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.system.rev130927.SystemNotificationsListener;
 
 /**
  * @author mirehak
+ * @author michal.polkorab
  */
 public interface ConnectionAdapter extends OpenflowProtocolService {
 
@@ -33,4 +29,26 @@ public interface ConnectionAdapter extends OpenflowProtocolService {
      * @param messageListener here will be pushed all messages from switch
      */
     public void setMessageListener(OpenflowProtocolListener messageListener);
+    
+    /**
+     * @param systemListener here will be pushed all system messages from library
+     */
+    public void setSystemListener(SystemNotificationsListener systemListener);
+
+    /**
+     * Throws exception if any of required listeners is missing
+     */
+    public void checkListeners();
+
+    /**
+     * notify listener about connection ready-to-use event
+     */
+    public void fireConnectionReadyNotification();
+
+    /**
+     * set listener for connection became ready-to-use event  
+     * @param connectionReadyListener
+     */
+    public void setConnectionReadyListener(ConnectionReadyListener connectionReadyListener);
+
 }