2 * Copyright (c) 2010-2020 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.zoneminder.internal.handler;
15 import java.io.IOException;
16 import java.security.GeneralSecurityException;
18 import org.openhab.core.thing.ChannelUID;
20 import name.eskildsen.zoneminder.IZoneMinderConnectionInfo;
21 import name.eskildsen.zoneminder.exception.ZoneMinderUrlNotFoundException;
24 * Interface for ZoneMinder handlers.
26 * @author Martin S. Eskildsen - Initial contribution
28 public interface ZoneMinderHandler {
30 String getZoneMinderId();
33 * Method used to relate a log entry to a thing
35 String getLogIdentifier();
37 void updateAvaliabilityStatus(IZoneMinderConnectionInfo connection);
39 void updateChannel(ChannelUID channel);
41 void onBridgeConnected(ZoneMinderServerBridgeHandler bridge, IZoneMinderConnectionInfo connection)
42 throws IllegalArgumentException, GeneralSecurityException, IOException, ZoneMinderUrlNotFoundException;
44 void onBridgeDisconnected(ZoneMinderServerBridgeHandler bridge);