/** * 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.gc100ir.lib; import java.util.Set; import org.openhab.binding.gc100ir.internal.response.GC100IRCommand; /** * Manages connections, disconnections and action of the devices attached to the GC-100 devices. * * @author Parikshit Thakur & Team * @since 1.9.0 */ public interface IGC100IRControlPoint { public static final String FLOW_CONTROL_VALUE_FLOW_HARDWARE = "FLOW_HARDWARE"; /** * Call the action on specific GC-100 device using 'ipAddress' and get requested values. * * @param ipaddress a String value of ipaddress * @param module an integer value of module * @param connector an integer value of connector * @param code a String value of code * @return a String value of response */ public GC100IRCommand doAction(String ipaddress, int module, int connector, String code); /** * Method to connect to the specified target device connected to the specified 'module' and 'connector'. * * @param ipaddress a String value of ipaddress * @param module an integer value of module * @param connector an integer value of connector * @return a boolean whether device is connected to the specified module or not. * */ public boolean connectTarget(String ipaddress, int module, int connector); /** * Called when any target is disconnected. * * @param ipaddress a String value of ipAddress * @param module an integer value of module * @param connector an integer value of connector */ public void disconnectTarget(String ipaddress, int module, int connector); /** * Get available GC100 Devices. * * @return an Object of Set<GCDevices> specifies available devices */ public Set<GC100IRDevice> getAvailableDevices(); }