refactor DHT for new service API
[oweals/gnunet.git] / src / arm / arm_api.c
index c8c5e8ba63943254bfaf955f44c6265efb25ec8b..2967e62b754fd68192b9c145cf8654e6985e164f 100644 (file)
@@ -453,19 +453,19 @@ mq_error_handler (void *cls,
 static int
 reconnect_arm (struct GNUNET_ARM_Handle *h)
 {
-  GNUNET_MQ_hd_fixed_size (arm_result,
-                           GNUNET_MESSAGE_TYPE_ARM_RESULT,
-                           struct GNUNET_ARM_ResultMessage);
-  GNUNET_MQ_hd_var_size (arm_list_result,
-                         GNUNET_MESSAGE_TYPE_ARM_LIST_RESULT,
-                         struct GNUNET_ARM_ListResultMessage);
-  GNUNET_MQ_hd_fixed_size (confirm,
-                           GNUNET_MESSAGE_TYPE_TEST,
-                           struct GNUNET_MessageHeader);
   struct GNUNET_MQ_MessageHandler handlers[] = {
-    make_arm_result_handler (h),
-    make_arm_list_result_handler (h),
-    make_confirm_handler (h),
+    GNUNET_MQ_hd_fixed_size (arm_result,
+                             GNUNET_MESSAGE_TYPE_ARM_RESULT,
+                             struct GNUNET_ARM_ResultMessage,
+                             h),
+    GNUNET_MQ_hd_var_size (arm_list_result,
+                           GNUNET_MESSAGE_TYPE_ARM_LIST_RESULT,
+                           struct GNUNET_ARM_ListResultMessage,
+                           h),
+    GNUNET_MQ_hd_fixed_size (confirm,
+                             GNUNET_MESSAGE_TYPE_ARM_TEST,
+                             struct GNUNET_MessageHeader,
+                             h),
     GNUNET_MQ_handler_end ()
   };
   struct GNUNET_MessageHeader *test;
@@ -491,7 +491,7 @@ reconnect_arm (struct GNUNET_ARM_Handle *h)
   LOG (GNUNET_ERROR_TYPE_DEBUG,
        "Sending TEST message to ARM\n");
   env = GNUNET_MQ_msg (test,
-                       GNUNET_MESSAGE_TYPE_TEST);
+                       GNUNET_MESSAGE_TYPE_ARM_TEST);
   GNUNET_MQ_send (h->mq,
                   env);
   return GNUNET_OK;
@@ -602,12 +602,18 @@ start_arm_service (struct GNUNET_ARM_Handle *h,
                                              "PREFIX",
                                              &loprefix))
     loprefix = GNUNET_strdup ("");
+  else
+    loprefix = GNUNET_CONFIGURATION_expand_dollar (h->cfg,
+                                                   loprefix);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (h->cfg,
                                              "arm",
                                              "OPTIONS",
                                              &lopostfix))
     lopostfix = GNUNET_strdup ("");
+  else
+    lopostfix = GNUNET_CONFIGURATION_expand_dollar (h->cfg,
+                                                    lopostfix);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (h->cfg,
                                              "arm",