Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@7117 48e7efb5...
[simgrid.git] / src / bindings / ruby / essai2.c
1 #include <ruby.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4
5
6
7
8
9 VALUE oProcess;
10
11 void r_init()
12 {
13   
14   ruby_init();
15   ruby_init_loadpath();
16   rb_require("RubyProcess.rb");
17   oProcess = rb_funcall3(rb_const_get(rb_cObject, rb_intern("RbProcess")),  rb_intern("new"), 0, 0);
18   
19 }
20
21
22 VALUE getID(VALUE current)
23 {
24   
25    
26    
27    return rb_funcall(current,rb_intern("getID"),0);
28   
29   
30 }
31
32 VALUE isAlive(VALUE current)
33 {
34   
35    
36    
37    return rb_funcall(current,rb_intern("alive?"),0);
38   
39   
40 }
41   
42 void List(VALUE current)
43 {
44   
45   rb_funcall(current,rb_intern("processList"),0);
46   
47 }
48
49
50 int main(int argc, char ** argv) 
51 {
52
53   
54   
55   
56   r_init();
57   VALUE test = isAlive(oProcess);
58   
59   if (TYPE(test) == T_TRUE)
60     printf("Aliiiive\n");
61   
62   getID(oProcess);
63   List(oProcess);
64    
65   
66   
67   
68   //keep...
69   /*VALUE current = rb_thread_current(); // main One
70   test = isAlive(current);
71   
72   if(TYPE(test) == T_TRUE)
73     printf("The Current Thread is Alive\n");*/
74     
75   
76   
77  /*application_handler_on_start_document();
78  application_handler_on_end_document();
79  application_handler_on_begin_process();
80  application_handler_property();
81  application_handler_on_process_arg();
82
83  application_handler_on_end_process();
84  
85  */
86    
87 }
88
89 // compile command : gcc -I/usr/lib/ruby/1.8/i486-linux essai2.c  -o essai2 -lruby1.8 
90
91 // gcc -o libProcess.so  -I/usr/lib/ruby/1.8/i486-linux  -lruby1.8 -lsimgrid  -shared rb_msg_process.c
92