gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r27862 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r27862 - gnunet/src/transport
Date: Wed, 10 Jul 2013 09:59:58 +0200

Author: wachs
Date: 2013-07-10 09:59:58 +0200 (Wed, 10 Jul 2013)
New Revision: 27862

Modified:
   gnunet/src/transport/gnunet-service-transport_plugins.c
Log:
check implementation of api while loading plugn


Modified: gnunet/src/transport/gnunet-service-transport_plugins.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_plugins.c     2013-07-10 
07:48:41 UTC (rev 27861)
+++ gnunet/src/transport/gnunet-service-transport_plugins.c     2013-07-10 
07:59:58 UTC (rev 27862)
@@ -106,6 +106,7 @@
   char *libname;
   char *plugs;
   char *pos;
+  int fail;
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_number (GST_cfg, "TRANSPORT",
@@ -160,6 +161,81 @@
       GNUNET_free (plug->lib_name);
       GNUNET_free (plug);
     }
+    fail = GNUNET_NO;
+    if (NULL == plug->api->address_pretty_printer)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "address_pretty_printer",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->address_to_string)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "address_to_string",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->string_to_address)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "string_to_address",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->check_address)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "check_address",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->get_session)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "get_session",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->get_network)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "get_network",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->send)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "send",
+                  plug->lib_name);
+    }
+    if (NULL == plug->api->disconnect)
+    {
+       fail = GNUNET_YES;
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Missing function `%s' in transport plugin for `%s'\n"),
+                  "disconnect",
+                  plug->lib_name);
+    }
+    if (GNUNET_YES == fail)
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                  _("Did not load plugin `%s' due to missing functions\n"),
+                  plug->lib_name);
+      GNUNET_CONTAINER_DLL_remove (plugins_head, plugins_tail, plug);
+      GNUNET_free (plug->short_name);
+      GNUNET_free (plug->lib_name);
+      GNUNET_free (plug);
+    }
   }
 }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]