/**
* Copyright (c) 2010-2016 by the respective copyright holders.
*
* 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.openhab.binding.hdanywhere;
import java.util.HashMap;
import java.util.List;
import org.openhab.core.autoupdate.AutoUpdateBindingProvider;
/**
* Interface of the HDanywhere Binding Provider
*
* @author Karel Goderis
* @since 1.4.0
*/
public interface HDanywhereBindingProvider extends AutoUpdateBindingProvider {
/**
* Returns a <code>List</code> of host names/IP addresses associated to <code>itemName</code>.
*
* @param itemName the item for which to find a host names for
* @return a List of matching host names or <code>null</code> if no host name
* could be found.
*/
List<String> getHosts(String itemName);
/**
* Returns a <code>List</code> of HDanywhere matrix output port numbers associated to <code>host</code> and
* <code>itemName</code>.
*
* @param host the HDanywhere matrix to find matrix output ports for
* @param itemName the item for which to find matrix output ports for
* @return a List of matching output port numbers or <code>null</code> if no port numbers
* could be found.
*/
List<Integer> getPorts(String host, String itemName);
/**
* Returns a <code>HashMap</code> of {<code>host<code>,<code>interval<code>} tuples with interval being the smallest
* polling
* interval for the given <code>host<code>
*
* @return a HashMap
*/
HashMap<String, Integer> getIntervalList();
}