#include "msg/msg.h"
#include "msg/datatypes.h"
-#include "msg/mailbox.h" /* MAX_ALIAS_NAME (FIXME: kill it)*/
#include "surf/surfxml_parse.h"
#include "simix/simix.h"
#include "simix/private.h"
#include "xbt/sysdep.h"
#include "xbt/log.h"
#include "xbt/asserts.h"
-//#include "rb_msg_host.h"
/* Damn Ruby. They load their full config.h, which breaks since we also load ours.
* So, we undef the offending defines
}s_smx_ctx_ruby_t,*smx_ctx_ruby_t;
void SIMIX_ctx_ruby_factory_init(smx_context_factory_t *factory);
-
+void Init_simgrid_ruby(void); /* Load the bindings */
void initRuby(void); // Mandatory to call Ruby methods from C
/* *********************************************** *
VALUE rb_host_get_data(VALUE Class,VALUE host);
VALUE rb_host_is_avail(VALUE Class,VALUE host);
+/* Functions related to tasks */
+void rb_task_free(m_task_t tk);
+// New Method >>> Data NULL
+VALUE rb_task_new(VALUE Class, VALUE name,VALUE comp_size,VALUE comm_size);
+VALUE rb_task_comp(VALUE Class,VALUE task); // Get Computation Size
+VALUE rb_task_name(VALUE Class,VALUE task);
+VALUE rb_task_execute(VALUE Class,VALUE task);
+void rb_task_send(VALUE Class,VALUE task,VALUE mailbox);
+VALUE rb_task_receive(VALUE Class,VALUE mailbox);// Receive : return a task
+void rb_task_receive2(VALUE Class,VALUE task,VALUE mailbox);// Receive Task 2 << Not Appreciated
+VALUE rb_task_sender(VALUE Class,VALUE task);
+VALUE rb_task_source(VALUE Class,VALUE task);
+VALUE rb_task_listen(VALUE Class,VALUE task,VALUE alias); //Listen From Alias (=mailbox)
+VALUE rb_task_listen_host(VALUE Class,VALUE task,VALUE alias,VALUE host); //Listen from Host
+
+/* Upcalls for the application handler */
+void rb_application_handler_on_start_document(void);
+void rb_application_handler_on_end_document(void);
+void rb_application_handler_on_begin_process(void);
+void rb_application_handler_on_process_arg(void);
+void rb_application_handler_on_property(void);
+void rb_application_handler_on_end_process(void);
#endif /* RB_SG_BINDINGS */