annotate Renderer/Test/aquarium.cc @ 859:e39f320c4411

linda connection init
author kazz <kazz@cr.ie.u-ryukyu.ac.jp>
date Thu, 17 Jun 2010 04:46:25 +0900
parents fdc24fbeaedc
children c26aa4e52258
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <string.h>
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "SceneGraphRoot.h"
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include "lindaapi.h"
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include "aquarium.h"
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
859
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
7 linda_t aquarium::linda_addr = { "localhost", 10000 };
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
8 int aquarium::linda;
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
9 const char *usr_help_str = "Usage: ./aquarium -linda LINDA_SERVER_NAME\n";
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 void TMend(TaskManager *manager);
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 extern void task_initialize();
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 extern int init(TaskManager *manager, int argc, char *argv[]);
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 extern Application *
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 application() {
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 return new aquarium();
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 }
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
859
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
19 void init_network() {
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
20 aquarium::linda_connect();
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
21
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
22 }
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
23
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 MainLoopPtr
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 aquarium::init(Viewer *sgroot, int screen_w, int screen_h)
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 {
859
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
27 init_network();
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 return sgroot;
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
859
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
31 void
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
32 aquarium::linda_connect() {
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
33 init_linda(); // セレクタの初期化
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
34 linda = open_linda_java(linda_addr.hostname, linda_addr.port);
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
35 }
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 int
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 TMmain(TaskManager *manager, int argc, char *argv[])
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 {
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 task_initialize();
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 manager->set_TMend(TMend);
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 for (int i = 0; i < argc; i++) {
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 if (strcmp(argv[i],"-linda") == 0 && i + 1 <= argc) {
859
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
45 aquarium::linda_addr.hostname = argv[i+1];
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
46 } else if (strcmp(argv[i],"-port") == 0 && i + 1 <= argc) {
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
47 aquarium::linda_addr.port = atoi(argv[i+1]);
e39f320c4411 linda connection init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents: 858
diff changeset
48 }
858
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 }
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 return init(manager, argc, argv);
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 }
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 void
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 TMend(TaskManager *manager)
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 {
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 printf("aquarium end\n");
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 }
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
fdc24fbeaedc Renderer/Test/aquarium init
kazz <kazz@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 /* end */