// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezInvalidArgumentsException.java
// @SuppressWarnings("serial")
// public class BluezInvalidArgumentsException extends DBusException {
// 
//     public BluezInvalidArgumentsException(String _message) {
//         super(_message);
//     }
// 
// }
// 
// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezNotFoundException.java
// @SuppressWarnings("serial")
// public class BluezNotFoundException extends DBusException {
// 
//     public BluezNotFoundException(String _message) {
//         super(_message);
//     }
// 
// }


import org.bluez.exceptions.BluezInvalidArgumentsException;
import org.bluez.exceptions.BluezNotFoundException;
import org.freedesktop.dbus.DBusPath;
import org.freedesktop.dbus.interfaces.DBusInterface;
package org.bluez;


/**
 * File generated - 2020-06-18.<br>
 * Based on bluez Documentation: thermometer-api.txt.<br>
 * <br>
 * <b>Service:</b> org.bluez<br>
 * <b>Interface:</b> org.bluez.ThermometerManager1<br>
 * <br>
 * <b>Object path:</b><br>
 *             [variable prefix]/{hci0,hci1,...}<br>
 * <br>
 */
public interface ThermometerManager1 extends DBusInterface {

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Registers a watcher to monitor scanned measurements.<br>
     * This agent will be notified about final temperature<br>
     * measurements.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     */
    void RegisterWatcher(DBusPath _agent) throws BluezInvalidArgumentsException;

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Unregisters a watcher.<br>
     * <br>
     * 
     * @param _agent agent
     */
    void UnregisterWatcher(DBusPath _agent);

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Enables intermediate measurement notifications<br>
     * for this agent. Intermediate measurements will<br>
     * be enabled only for thermometers which support it.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     */
    void EnableIntermediateMeasurement(DBusPath _agent) throws BluezInvalidArgumentsException;

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Disables intermediate measurement notifications<br>
     * for this agent. It will disable notifications in<br>
     * thermometers when the last agent removes the<br>
     * watcher for intermediate measurements.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     * @throws BluezNotFoundException when item not found
     */
// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezInvalidArgumentsException.java
// @SuppressWarnings("serial")
// public class BluezInvalidArgumentsException extends DBusException {
// 
//     public BluezInvalidArgumentsException(String _message) {
//         super(_message);
//     }
// 
// }
// 
// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezNotFoundException.java
// @SuppressWarnings("serial")
// public class BluezNotFoundException extends DBusException {
// 
//     public BluezNotFoundException(String _message) {
//         super(_message);
//     }
// 
// }


// Path: bluez-dbus/src/main/java/org/bluez/ThermometerManager1.java
import org.bluez.exceptions.BluezInvalidArgumentsException;
import org.bluez.exceptions.BluezNotFoundException;
import org.freedesktop.dbus.DBusPath;
import org.freedesktop.dbus.interfaces.DBusInterface;

package org.bluez;


/**
 * File generated - 2020-06-18.<br>
 * Based on bluez Documentation: thermometer-api.txt.<br>
 * <br>
 * <b>Service:</b> org.bluez<br>
 * <b>Interface:</b> org.bluez.ThermometerManager1<br>
 * <br>
 * <b>Object path:</b><br>
 *             [variable prefix]/{hci0,hci1,...}<br>
 * <br>
 */
public interface ThermometerManager1 extends DBusInterface {

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Registers a watcher to monitor scanned measurements.<br>
     * This agent will be notified about final temperature<br>
     * measurements.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     */
    void RegisterWatcher(DBusPath _agent) throws BluezInvalidArgumentsException;

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Unregisters a watcher.<br>
     * <br>
     * 
     * @param _agent agent
     */
    void UnregisterWatcher(DBusPath _agent);

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Enables intermediate measurement notifications<br>
     * for this agent. Intermediate measurements will<br>
     * be enabled only for thermometers which support it.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     */
    void EnableIntermediateMeasurement(DBusPath _agent) throws BluezInvalidArgumentsException;

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * Disables intermediate measurement notifications<br>
     * for this agent. It will disable notifications in<br>
     * thermometers when the last agent removes the<br>
     * watcher for intermediate measurements.<br>
     * <br>
     * 
     * @param _agent agent
     * 
     * @throws BluezInvalidArgumentsException when argument is invalid
     * @throws BluezNotFoundException when item not found
     */
    void DisableIntermediateMeasurement(DBusPath _agent) throws BluezInvalidArgumentsException, BluezNotFoundException;