REST/NAMESTORE: rework API
[oweals/gnunet.git] / src / transport / transport-testing2.h
index a6f0348ef0726cb1a41ed0ac5802f635613e7221..4b9eb0f543ae24ff68a551fee9e71b5435d39d33 100644 (file)
 #include "gnunet_ats_transport_service.h"
 #include "transport.h"
 
+
+struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle;
+
+struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue;
+
+struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorTransmission;
+
 /**
  * @brief Function signature for callbacks that are called when new communicators become available
  *
  */
 typedef void
 (*GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback)(void *cls,
-                                                  const struct GNUNET_TRANSPORT_CommunicatorAvailableMessage *msg);
+      struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h,
+      enum GNUNET_TRANSPORT_CommunicatorCharacteristics cc,
+      char *address_prefix);
+
+
+typedef void
+(*GNUNET_TRANSPORT_TESTING_AddAddressCallback)(void *cls,
+      struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h,
+      const char *address,
+      struct GNUNET_TIME_Relative expiration,
+      uint32_t aid,
+      enum GNUNET_NetworkType nt);
+
+
+typedef void
+(*GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback)(void *cls,
+    struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h,
+    int will_try);
+
+
+typedef void
+(*GNUNET_TRANSPORT_TESTING_AddQueueCallback)(void *cls,
+    struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h,
+    struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *tc_queue);
 
 
 /**
@@ -54,21 +84,24 @@ typedef void
 struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *
 GNUNET_TRANSPORT_TESTING_transport_communicator_service_start
   (const char *service_name,
-   struct GNUNET_CONFIGURATION_Handle *cfg,
-   GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback communicator_available,
-   //GNUNET_TRANSPORT_TESTING_Callback2 cb2,
-   //GNUNET_TRANSPORT_TESTING_Callback3 cb3,
-   //GNUNET_TRANSPORT_TESTING_Callback4 cb4,
+   const char *cfg_filename,
+   GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback communicator_available_cb,
+   GNUNET_TRANSPORT_TESTING_AddAddressCallback add_address_cb,
+   GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback queue_create_reply_cb,
+   GNUNET_TRANSPORT_TESTING_AddQueueCallback add_queue_cb,
    void *cb_cls);
 
-//void
-//GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue
-//  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tch,
-//   const char *address);
-//
-//struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorTransmission *
-//GNUNET_TRANSPORT_TESTING_transport_communicator_send
-//  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *tcq,
-//   const struct GNUNET_MessageHeader *hdr,
-//   GNUNET_TRANSPORT_TESTING_SuccessStatus cb, void *cb_cls);
+void
+GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue
+  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h,
+   const struct GNUNET_PeerIdentity *peer_id,
+   const char *address);
+
+struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorTransmission *
+GNUNET_TRANSPORT_TESTING_transport_communicator_send
+  (struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *tc_queue,
+   const void *payload,
+   size_t payload_size/*,
+   GNUNET_TRANSPORT_TESTING_SuccessStatus cb,
+   void *cb_cls*/);