app: Drop mapper call subcommand

Equivalent function can be simulated with busctl call and mapper
get-service _and_ doesn't rely on systemd patches.

Change-Id: Ia0c3c8d7d0290de2b6e79f18df72cac97f2b14fa
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/libmapper/app.c b/libmapper/app.c
index d926173..681c4a7 100644
--- a/libmapper/app.c
+++ b/libmapper/app.c
@@ -20,71 +20,6 @@
 #include <systemd/sd-event.h>
 #include "mapper.h"
 
-static int call_main(int argc, char *argv[])
-{
-    int r;
-    sd_bus *conn = NULL;
-    char *service = NULL;
-    sd_bus_message *m = NULL, *reply = NULL;
-    sd_bus_error error = SD_BUS_ERROR_NULL;
-
-    if (argc < 5)
-    {
-        fprintf(stderr,
-                "Usage: %s call OBJECTPATH INTERFACE "
-                "METHOD [SIGNATURE [ARGUMENT...]\n",
-                argv[0]);
-        r = -1;
-        goto finish;
-    }
-
-    r = sd_bus_default_system(&conn);
-    if (r < 0)
-    {
-        fprintf(stderr, "Error connecting to system bus: %s\n", strerror(-r));
-        goto finish;
-    }
-
-    r = mapper_get_service(conn, argv[2], &service);
-    if (r < 0)
-    {
-        fprintf(stderr, "Error finding '%s' service: %s\n", argv[2],
-                strerror(-r));
-        goto finish;
-    }
-
-    r = sd_bus_message_new_method_call(conn, &m, service, argv[2], argv[3],
-                                       argv[4]);
-    if (r < 0)
-    {
-        fprintf(stderr, "Error populating message: %s\n", strerror(-r));
-        goto finish;
-    }
-
-    if (argc > 5)
-    {
-        char **p;
-        p = argv + 6;
-        r = sd_bus_message_append_cmdline(m, argv[5], &p);
-        if (r < 0)
-        {
-            fprintf(stderr, "Error appending method arguments: %s\n",
-                    strerror(-r));
-            goto finish;
-        }
-    }
-
-    r = sd_bus_call(conn, m, 0, &error, &reply);
-    if (r < 0)
-    {
-        fprintf(stderr, "Error invoking method: %s\n", strerror(-r));
-        goto finish;
-    }
-
-finish:
-    exit(r < 0 ? EXIT_FAILURE : EXIT_SUCCESS);
-}
-
 static void quit(int r, void *loop)
 {
     sd_event_exit((sd_event *)loop, r);
@@ -257,7 +192,6 @@
     static const char *usage =
         "Usage: %s {COMMAND} ...\n"
         "\nCOMMANDS:\n"
-        "  call           invoke the specified method\n"
         "  wait           wait for the specified objects to appear on the "
         "DBus\n"
         "  subtree-remove\n"
@@ -271,8 +205,6 @@
         exit(EXIT_FAILURE);
     }
 
-    if (!strcmp(argv[1], "call"))
-        call_main(argc, argv);
     if (!strcmp(argv[1], "wait"))
         wait_main(argc, argv);
     if (!strcmp(argv[1], "subtree-remove"))