#!/bin/sh

po_domain="alterator-bacula"
alterator_api_version=1

. bacula-alterator-sh-functions
. alterator-sh-functions

. shell-quote


on_message()
{
  case "$in_action" in
    type)
	write_type_item director_name system-computer-name
	write_type_item storage_address system-computer-address
	;;
    read)
	local address="$(bacula_storage_get_address)"
	local name="$(bacula_director_get_name)"
	if [ $address = "127.0.0.1" ]; then address=""; fi
	write_string_param storage_address "$address"
	write_string_param director_name "$name"
	;;
    write)
	daemon_ready || return

	if [ -n "$in_director_name" ] && [ -n "$in_storage_address" ]; then
	    bacula_director_set_name "$in_director_name"    #bacula-dir
	    bacula_storage_set_director "$in_director_name" #bacula-sd
	    bacula_file_set_director	"$in_director_name" #bacula-fd
	    bacula_console_set_director	"$in_director_name" #bacula-console
	    bacula_storage_set_address	"$in_storage_address"
	fi
	
	if [ -z "$in_storage_address" ] || [ $in_storage_address = "127.0.0.1" ]; then
	write_error "`_ "You should define valid storage address!"`"
	fi

	daemon_restart_all
	;;
  esac
}

message_loop
