-/**
- * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
+/*
+ * Copyright (c) 2013 Pantheon Technologies s.r.o. 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
*/
-package org.opendaylight.openflowjava.protocol.spi.connection;
-import java.util.concurrent.Future;
+package org.opendaylight.openflowjava.protocol.spi.connection;
+import org.opendaylight.openflowjava.protocol.api.connection.ConnectionConfiguration;
import org.opendaylight.openflowjava.protocol.api.connection.SwitchConnectionHandler;
+import org.opendaylight.openflowjava.protocol.api.extensibility.DeserializerExtensionProvider;
+import org.opendaylight.openflowjava.protocol.api.extensibility.SerializerExtensionProvider;
+
+import com.google.common.util.concurrent.ListenableFuture;
/**
* @author mirehak
+ * @author michal.polkorab
*
*/
-public interface SwitchConnectionProvider {
+public interface SwitchConnectionProvider extends AutoCloseable,
+ SerializerExtensionProvider, DeserializerExtensionProvider {
/**
- * @param configuration contains protocols, ports, addresses and similar connection parameters
- * TODO - create configuration interface proposal
+ * @param configuration [protocol, port, address and supported features]
*/
- public void configure(Object configuration);
-
+ void setConfiguration(ConnectionConfiguration configuration);
+
/**
* start listening to switches, but please don't forget to do
- * {@link #setSwitchConnectionListener(SwitchConnectionHandler)} first
- * @return future, triggered to true, when all listening channels are up and running
+ * {@link #setSwitchConnectionHandler(SwitchConnectionHandler)} first
+ * @return future, triggered to true, when listening channel is up and running
*/
- public Future<Boolean> startup();
-
+ ListenableFuture<Boolean> startup();
+
/**
* stop listening to switches
* @return future, triggered to true, when all listening channels are down
*/
- public Future<Boolean> shutdown();
-
-
+ ListenableFuture<Boolean> shutdown();
+
/**
- * @param switchConListener instance being informed when new switch connects
+ * @param switchConHandler instance being informed when new switch connects
*/
- public void setSwitchConnectionListener(SwitchConnectionHandler switchConListener);
-
-}
+ void setSwitchConnectionHandler(SwitchConnectionHandler switchConHandler);
+
+}
\ No newline at end of file