aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xscripts/afm-util106
-rw-r--r--src/afm-db.h1
2 files changed, 107 insertions, 0 deletions
diff --git a/scripts/afm-util b/scripts/afm-util
new file mode 100755
index 0000000..f5da0e1
--- /dev/null
+++ b/scripts/afm-util
@@ -0,0 +1,106 @@
+#!/bin/sh
+
+if [ "x" = "x${DBUS_SESSION_BUS_ADDRESS}" ]; then
+ DBUS_SESSION_BUS_ADDRESS:=unix:path=/run/user/$UID/bus
+fi
+
+send() {
+ dbus-send --session --dest=org.AGL.afm.user --print-reply /org/AGL/afm/user org.AGL.afm.user.$1 "string:$2"
+}
+
+case "$1" in
+
+ list|runnables)
+ send runnables true
+ ;;
+
+ add|install)
+ f=$(realpath $2)
+ send install '{"wgt":"'"$f"'","force":true}'
+ ;;
+
+ remove|uninstall)
+ i=$2
+ send uninstall "\"$i\""
+ ;;
+
+ info|detail)
+ i=$2
+ send detail "\"$i\""
+ ;;
+
+ ps|runners)
+ send runners true
+ ;;
+
+ run|start)
+ i=$2
+ send start "\"$i\""
+ ;;
+
+ terminate|kill)
+ i=$2
+ send terminate "$i"
+ ;;
+
+ stop|pause)
+ i=$2
+ send stop "$i"
+ ;;
+
+ resume|continue)
+ i=$2
+ send continue "$i"
+ ;;
+
+ state|status)
+ i=$2
+ send state "$i"
+ ;;
+
+ -h|--help|help)
+ cat << EOC
+usage: $(basename $0) command [arg]
+
+The commands are:
+
+ list
+ runnables list the runnable widgets installed
+
+ add wgt
+ install wgt install the wgt file
+
+ remove id
+ uninstall id remove the installed widget of id
+
+ info id
+ detail id print detail about the installed widget of id
+
+ ps
+ runners list the running instance
+
+ run id
+ start id start an instance of the widget of id
+
+ terminate rid
+ kill rid terminate the running instance rid
+
+ stop rid
+ pause rid stop the running instance rid
+
+ resume rid
+ continue rid continue the previously rid
+
+ state rid
+ status rid get status of the running instance rid
+
+EOC
+ ;;
+
+ *)
+ echo "unknown command $1" >&2
+ exit 1
+ ;;
+esac
+
+
diff --git a/src/afm-db.h b/src/afm-db.h
index fff5f4c..aacd85c 100644
--- a/src/afm-db.h
+++ b/src/afm-db.h
@@ -24,6 +24,7 @@ extern void afm_db_unref(struct afm_db *afdb);
extern int afm_db_add_root(struct afm_db *afdb, const char *path);
extern int afm_db_add_application(struct afm_db *afdb, const char *path);
+
extern int afm_db_update_applications(struct afm_db *afdb);
extern int afm_db_ensure_applications(struct afm_db *afdb);