]> git.ipfire.org Git - people/stevee/network.git/blobdiff - src/functions/functions.ports
Convert HOOK_SETTINGS into an array
[people/stevee/network.git] / src / functions / functions.ports
index 2537f815a143327a833ebc0e0150d2a9ce041603..fb227150fc287d51f4ccea9c28708d1edbcbabf7 100644 (file)
 #                                                                             #
 ###############################################################################
 
-port_dir() {
-       local port="${1}"
-       echo "${NETWORK_CONFIG_DIR}/ports/${port}"
+ports_get_all() {
+       local port
+       for port in $(list_directory "${NETWORK_PORTS_DIR}"); do
+               if port_exists "${port}"; then
+                       print "${port}"
+               fi
+       done
 }
 
+# XXX TO BE REMOVED
 port_list() {
-       list_directory "$(port_dir)"
+       ports_get_all "$@"
 }
 
 port_list_in_use() {
@@ -80,7 +85,7 @@ port_settings_read() {
        # Save the HOOK variable.
        local hook="${HOOK}"
 
-       settings_read "$(port_file "${port}")" ${HOOK_SETTINGS}
+       settings_read "$(port_file "${port}")" ${HOOK_SETTINGS[*]}
 
        # Restore hook.
        HOOK="${hook}"
@@ -95,20 +100,16 @@ port_settings_write() {
        if function_exists "hook_check_settings"; then
                list_append args "--check=\"hook_check_settings\""
        fi
-       list_append args ${HOOK_SETTINGS}
+       list_append args HOOK ${HOOK_SETTINGS[*]}
 
        settings_write "$(port_file "${port}")" ${args}
 }
 
-ports_get_all() {
-       port_list
-}
-
 port_file() {
        local port="${1}"
        assert isset port
 
-       echo "$(port_dir ${port})/settings"
+       echo "${NETWORK_PORTS_DIR}/${port}/settings"
 }
 
 port_exists() {
@@ -193,7 +194,13 @@ port_destroy() {
                return ${EXIT_ERROR}
        fi
 
-       rm -rf $(port_dir ${port})
+       if ! rm -rf "${NETWORK_PORTS_DIR}/${port}"; then
+               log ERROR "Could not destroy port ${port}"
+               return ${EXIT_ERROR}
+       fi
+
+       log INFO "Destroyed port ${port}"
+       return ${EXIT_OK}
 }
 
 port_create() {
@@ -274,7 +281,7 @@ port_cmd() {
 
 ports_get() {
        local port
-       for port in $(list_directory "$(port_dir)"); do
+       for port in $(list_directory "${NETWORK_PORTS_DIR}"); do
                if port_exists ${port}; then
                        echo "${port}"
                fi