// 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 org.freedesktop.dbus.interfaces.DBusInterface;
import org.bluez.exceptions.BluezCanceledException;
import org.bluez.exceptions.BluezRejectedException;
import org.freedesktop.dbus.DBusPath;
package org.bluez.obex;


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

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when the service daemon<br>
     * unregisters the agent. An agent can use it to do<br>
     * cleanup tasks. There is no need to unregister the<br>
     * agent, 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 the service daemon<br>
     * needs to accept/reject a Bluetooth object push request.<br>
     * <br>
     * Returns the full path (including the filename) where<br>
     * the object shall be stored. The tranfer object will<br>
     * contain a Filename property that contains the default<br>
     * location and name that can be returned.<br>
     * <br>
     * 
     * @param _transfer transfer
     * 
     * @return String - maybe null
     * 
     * @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/obex/Agent1.java
import org.freedesktop.dbus.interfaces.DBusInterface;
import org.bluez.exceptions.BluezCanceledException;
import org.bluez.exceptions.BluezRejectedException;
import org.freedesktop.dbus.DBusPath;

package org.bluez.obex;


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

    /**
     * <b>From bluez documentation:</b><br>
     * <br>
     * This method gets called when the service daemon<br>
     * unregisters the agent. An agent can use it to do<br>
     * cleanup tasks. There is no need to unregister the<br>
     * agent, 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 the service daemon<br>
     * needs to accept/reject a Bluetooth object push request.<br>
     * <br>
     * Returns the full path (including the filename) where<br>
     * the object shall be stored. The tranfer object will<br>
     * contain a Filename property that contains the default<br>
     * location and name that can be returned.<br>
     * <br>
     * 
     * @param _transfer transfer
     * 
     * @return String - maybe null
     * 
     * @throws BluezRejectedException when operation rejected
     * @throws BluezCanceledException when operation canceled
     */
    String AuthorizePush(DBusPath _transfer) throws BluezRejectedException, BluezCanceledException;