X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0a03cd809dd45e3645a54feffe364d8f2b33d71e..545f0b9843546b80c87905a6ccc637506ecee6d9:/src/bindings/ruby_bindings.h diff --git a/src/bindings/ruby_bindings.h b/src/bindings/ruby_bindings.h index 94445434da..7277ef4ab0 100644 --- a/src/bindings/ruby_bindings.h +++ b/src/bindings/ruby_bindings.h @@ -1,6 +1,7 @@ /* SimGrid -- Ruby bindings */ -/* Copyright (c) 2010, the SimGrid team. All right reserved */ +/* Copyright (c) 2010. The SimGrid Team. + * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -17,7 +18,6 @@ */ #include "msg/msg.h" -#include "msg/private.h" #include "msg/datatypes.h" #include "surf/surfxml_parse.h" @@ -50,7 +50,7 @@ typedef struct s_smx_ctx_ruby { }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 Init_libsimgrid(void); /* Load the bindings */ void initRuby(void); // Mandatory to call Ruby methods from C /* *********************************************** * @@ -103,11 +103,14 @@ VALUE rb_host_process(VALUE Class,VALUE process); VALUE rb_host_get_all_hosts(VALUE Class); /* Functions related to tasks */ + +typedef struct ruby_data { + void *ruby_task; // Pointer to send the ruby_task + void *user_data; // Pointer on the user data +}s_ruby_data_t,*rb_data_t; + 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); -void rb_task_set_data(VALUE Class,VALUE task,VALUE data); // Data as a String -VALUE rb_task_get_data(VALUE Class,VALUE task); 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); @@ -120,6 +123,9 @@ VALUE rb_task_listen(VALUE Class,VALUE task,VALUE alias); //Listen From Alias (= VALUE rb_task_listen_host(VALUE Class,VALUE task,VALUE alias,VALUE host); //Listen from Host void rb_task_set_priority(VALUE Class,VALUE task,VALUE priority); // Set Priority void rb_task_cancel(VALUE Class,VALUE task); // Cancel +VALUE rb_task_has_data(VALUE Class,VALUE task); // check if the task contains a data +VALUE rb_task_get_data(VALUE Class,VALUE task); // get data +void rb_task_set_data(VALUE Class,VALUE task,VALUE data); // set data /* Upcalls for the application handler */ void rb_application_handler_on_start_document(void);