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


import java.util.Map;
import org.bluez.exceptions.BluezCanceledException;
import org.bluez.exceptions.BluezRejectedException;
import org.freedesktop.dbus.DBusPath;
import org.freedesktop.dbus.FileDescriptor;
import org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.types.Variant;
package org.bluez;



/**
 * File generated - 2020-06-18.<br>
 * Based on bluez Documentation: profile-api.txt.<br>
 * <br>
 * <b>Service:</b> unique name<br>
 * <b>Interface:</b> org.bluez.Profile1<br>
 * <br>
 * <b>Object path:</b><br>
 *             freely definable<br>
 * <br>
 */
public interface Profile1 extends DBusInterface {

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when the service daemon<br>
     * unregisters the profile. A profile can use it to do<br>
     * cleanup tasks. There is no need to unregister the<br>
     * profile, because when this method gets called it has<br>
     * already been unregistered.<br>
     * <br>
     */
    void Release();

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when a new service level<br>
     * connection has been made and authorized.<br>
     * <br>
     * Common fd_properties:<br>
     * <br>
     * uint16 Version		Profile version (optional)<br>
     * uint16 Features		Profile features (optional)<br>
     * <br>
     * 
     * @param _device device
     * @param fd fd
     * @param _fd_properties fd_properties
     * 
     * @throws BluezRejectedException when operation rejected
     * @throws BluezCanceledException when operation canceled
     */
// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezCanceledException.java
// @SuppressWarnings("serial")
// public class BluezCanceledException extends DBusException {
// 
//     public BluezCanceledException(String _message) {
//         super(_message);
//     }
// 
// }
// 
// Path: bluez-dbus/src/main/java/org/bluez/exceptions/BluezRejectedException.java
// @SuppressWarnings("serial")
// public class BluezRejectedException extends DBusException {
// 
//     public BluezRejectedException(String _message) {
//         super(_message);
//     }
// 
// }


// Path: bluez-dbus/src/main/java/org/bluez/Profile1.java
import java.util.Map;
import org.bluez.exceptions.BluezCanceledException;
import org.bluez.exceptions.BluezRejectedException;
import org.freedesktop.dbus.DBusPath;
import org.freedesktop.dbus.FileDescriptor;
import org.freedesktop.dbus.interfaces.DBusInterface;
import org.freedesktop.dbus.types.Variant;

package org.bluez;



/**
 * File generated - 2020-06-18.<br>
 * Based on bluez Documentation: profile-api.txt.<br>
 * <br>
 * <b>Service:</b> unique name<br>
 * <b>Interface:</b> org.bluez.Profile1<br>
 * <br>
 * <b>Object path:</b><br>
 *             freely definable<br>
 * <br>
 */
public interface Profile1 extends DBusInterface {

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when the service daemon<br>
     * unregisters the profile. A profile can use it to do<br>
     * cleanup tasks. There is no need to unregister the<br>
     * profile, because when this method gets called it has<br>
     * already been unregistered.<br>
     * <br>
     */
    void Release();

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when a new service level<br>
     * connection has been made and authorized.<br>
     * <br>
     * Common fd_properties:<br>
     * <br>
     * uint16 Version		Profile version (optional)<br>
     * uint16 Features		Profile features (optional)<br>
     * <br>
     * 
     * @param _device device
     * @param fd fd
     * @param _fd_properties fd_properties
     * 
     * @throws BluezRejectedException when operation rejected
     * @throws BluezCanceledException when operation canceled
     */
    void NewConnection(DBusPath _device, FileDescriptor fd, Map<String, Variant<?>> _fd_properties) throws BluezRejectedException, BluezCanceledException;