public void requestBusName()

in dbus-java/src/main/java/org/freedesktop/dbus/connections/impl/DBusConnection.java [470:498]


    public void requestBusName(String _busname) throws DBusException {
        if (!_busname.matches(BUSNAME_REGEX) || _busname.length() > MAX_NAME_LENGTH) {
            throw new DBusException("Invalid bus name");
        }

        UInt32 rv;
        try {
            rv = dbus.RequestName(_busname,
                    new UInt32(DBus.DBUS_NAME_FLAG_REPLACE_EXISTING | DBus.DBUS_NAME_FLAG_DO_NOT_QUEUE));
        } catch (DBusExecutionException dbee) {
            logger.debug("", dbee);
            throw new DBusException(dbee.getMessage());
        }
        switch (rv.intValue()) {
            case DBus.DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
                break;
            case DBus.DBUS_REQUEST_NAME_REPLY_IN_QUEUE:
                throw new DBusException("Failed to register bus name");
            case DBus.DBUS_REQUEST_NAME_REPLY_EXISTS:
                throw new DBusException("Failed to register bus name");
            case DBus.DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER:
                break;
            default:
                break;
        }
        synchronized (this.busnames) {
            this.busnames.add(_busname);
        }
    }