/* * PPP.delete method */ static dbus_bool_t ni_objectmodel_ppp_device_delete(ni_dbus_object_t *object, const ni_dbus_method_t *method, unsigned int argc, const ni_dbus_variant_t *argv, ni_dbus_message_t *reply, DBusError *error) { ni_netconfig_t *nc = ni_global_state_handle(0); ni_netdev_t *dev; if (!(dev = ni_objectmodel_unwrap_netif(object, error))) return FALSE; NI_TRACE_ENTER_ARGS("dev=%s", dev->name); if (ni_system_ppp_delete(nc, dev) < 0) { dbus_set_error(error, DBUS_ERROR_FAILED, "Error deleting ppp interface %s", dev->name); return FALSE; } ni_client_state_drop(dev->link.ifindex); return TRUE; }
/* * Delete a PPP interface */ dbus_bool_t ni_objectmodel_ppp_delete(ni_dbus_object_t *object, const ni_dbus_method_t *method, unsigned int argc, const ni_dbus_variant_t *argv, ni_dbus_message_t *reply, DBusError *error) { ni_netdev_t *dev; int rv; if (!(dev = ni_objectmodel_unwrap_netif(object, error))) return FALSE; NI_TRACE_ENTER_ARGS("dev=%s", dev->name); if ((rv = ni_system_ppp_delete(dev)) < 0) { ni_dbus_set_error_from_code(error, rv, "Unable to delete PPP interface %s: %s", dev->name, ni_strerror(rv)); return FALSE; } ni_dbus_object_free(object); return TRUE; }