858
|
1 #include <stdio.h>
|
|
2 #include <string.h>
|
|
3 #include "SceneGraphRoot.h"
|
|
4 #include "lindaapi.h"
|
|
5 #include "aquarium.h"
|
|
6
|
859
|
7 linda_t aquarium::linda_addr = { "localhost", 10000 };
|
|
8 int aquarium::linda;
|
|
9 const char *usr_help_str = "Usage: ./aquarium -linda LINDA_SERVER_NAME\n";
|
858
|
10 void TMend(TaskManager *manager);
|
|
11
|
|
12 extern void task_initialize();
|
|
13 extern int init(TaskManager *manager, int argc, char *argv[]);
|
|
14 extern Application *
|
|
15 application() {
|
|
16 return new aquarium();
|
|
17 }
|
|
18
|
859
|
19 void init_network() {
|
|
20 aquarium::linda_connect();
|
|
21
|
|
22 }
|
|
23
|
858
|
24 MainLoopPtr
|
|
25 aquarium::init(Viewer *sgroot, int screen_w, int screen_h)
|
|
26 {
|
859
|
27 init_network();
|
858
|
28 return sgroot;
|
|
29 }
|
|
30
|
859
|
31 void
|
|
32 aquarium::linda_connect() {
|
|
33 init_linda(); // セレクタの初期化
|
|
34 linda = open_linda_java(linda_addr.hostname, linda_addr.port);
|
|
35 }
|
858
|
36
|
|
37 int
|
|
38 TMmain(TaskManager *manager, int argc, char *argv[])
|
|
39 {
|
|
40 task_initialize();
|
|
41 manager->set_TMend(TMend);
|
|
42
|
|
43 for (int i = 0; i < argc; i++) {
|
|
44 if (strcmp(argv[i],"-linda") == 0 && i + 1 <= argc) {
|
859
|
45 aquarium::linda_addr.hostname = argv[i+1];
|
|
46 } else if (strcmp(argv[i],"-port") == 0 && i + 1 <= argc) {
|
|
47 aquarium::linda_addr.port = atoi(argv[i+1]);
|
|
48 }
|
858
|
49 }
|
|
50 return init(manager, argc, argv);
|
|
51 }
|
|
52
|
|
53 void
|
|
54 TMend(TaskManager *manager)
|
|
55 {
|
|
56 printf("aquarium end\n");
|
|
57 }
|
|
58
|
|
59 /* end */
|