#!/usr/bin/bash
set -x

# set up busctl flag for user session
if [ "$DBUS_STARTER_BUS_TYPE" == "session" ] && [ -n "$DBUS_SESSION_BUS_ADDRESS" ]; then
    USER_FLAG=--user
else
    USER_FLAG=
fi

# exit if the O-M has started
busctl $USER_FLAG tree xyz.openbmc_project.ObjectMapper && exit 0

# override the system config if not using against user session
if [ -z "$USER_FLAG" ]; then
    sudo sed -i -E 's/<deny( send_type="method_call"\/>)/<allow\1/' /usr/share/dbus-1/system.conf
    sudo sed -i -E 's/<deny( own="\*"\/>)/<allow\1/' /usr/share/dbus-1/system.conf
    sudo service dbus restart
fi

# restart O-M so it picks up the correct dbus
sudo kill $(pgrep mapperx)
for ((i = 1; i <= 5; i++)); do
    sudo env LD_LIBRARY_PATH="/usr/local/lib/x86_64-linux-gnu/:/usr/local/lib/" \
        ${DBUS_SESSION_BUS_ADDRESS:+DBUS_SESSION_BUS_ADDRESS="$DBUS_SESSION_BUS_ADDRESS"} \
        ${DBUS_STARTER_BUS_TYPE:+DBUS_STARTER_BUS_TYPE="$DBUS_STARTER_BUS_TYPE"} \
        start-stop-daemon --start -b -c "$(whoami)" --exec /usr/local/libexec/phosphor-objmgr/mapperx \
        -- "--service-namespaces=com.google.gbmc com.intel xyz.openbmc_project org.openbmc" \
        "--interface-namespaces=org.freedesktop.DBus.ObjectManager com.google.gbmc com.intel xyz.openbmc_project org.openbmc" \
        --service-blacklists= && break
    sleep 1
done

sleep 1
busctl $USER_FLAG tree xyz.openbmc_project.ObjectMapper
busctl $USER_FLAG monitor xyz.openbmc_project.ObjectMapper > /tmp/mapper_monitor.log 2>&1 < /dev/null &
