#! /bin/sh

## This is a small utility to control the Application Manager in
## certain common ways.

set -e

cats="/var/lib/hildon-application-manager/catalogues.backup"
cats2="/var/lib/hildon-application-manager/catalogues2.backup"

if [ "$1" = "restore-catalogues" ]; then
  /usr/bin/hildon-application-manager-config add "$cats"
elif [ "$1" = "restore-catalogues2" ]; then
  /usr/bin/hildon-application-manager-config add "$cats2"
elif [ "$1" = "clear-user-catalogues" ]; then
    echo '<catalogues/>' > /etc/hildon-application-manager/catalogues
    /usr/bin/hildon-application-manager-config update
elif [ "$1" = "run-after-restore" ]; then
  dbus-send --type=method_call \
            --print-reply \
            --dest='com.nokia.hildon_application_manager' \
            /com/nokia/hildon_application_manager \
            com.nokia.hildon_application_manager.mime_open \
            string:'magic:restore-packages' \
            >/dev/null
elif [ "$1" = "update-system" ]; then
  dbus-send --type=method_call \
            --print-reply \
            --dest='com.nokia.hildon_application_manager' \
            /com/nokia/hildon_application_manager \
            com.nokia.hildon_application_manager.mime_open \
            string:'magic:update-system' \
            >/dev/null
elif [ "$1" = "check-for-updates" ]; then
  dbus-send --type=method_call \
            --print-reply \
            --dest='com.nokia.hildon_update_notifier' \
            /com/nokia/hildon_update_notifier \
            com.nokia.hildon_update_notifier.check_for_updates
elif [ "$1" = "check-state" ]; then
  dbus-send --type=method_call \
            --print-reply \
            --dest='com.nokia.hildon_update_notifier' \
            /com/nokia/hildon_update_notifier \
            com.nokia.hildon_update_notifier.check_state
else
  echo >&2 "usage: hildon-application-manager-util restore-catalogues"
  echo >&2 "       hildon-application-manager-util clear-user-catalogues"
  echo >&2 "       hildon-application-manager-util run-after-restore"
  echo >&2 "       hildon-application-manager-util update-system"
  echo >&2 "       hildon-application-manager-util check-for-updates"
  echo >&2 "       hildon-application-manager-util check-state"
  exit 1 
fi
