#! /bin/sh

## This is a small utility to control the Application Manager in
## certain common ways.  It is also as
## /etc/init.d/hildon-application-manager and has to handle the
## "start", "stop", etc subcommands.

set -e

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

if [ "$1" = "start" ]; then
  /usr/libexec/ham-after-boot&
elif [ "$1" = "stop" ]; then
  true
elif [ "$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" = "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 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"
  echo >&2 "       hildon-application-manager-util start"
  echo >&2 "       hildon-application-manager-util stop"
  exit 1 
fi
