1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
#define ACE_BUILD_SVC_DLL
// $Id$
#include "ace/Stream.h"
#include "ace/Task.h"
#include "ace/Module.h"
typedef ACE_Task<ACE_SYNCH> MT_Task;
typedef ACE_Stream<ACE_SYNCH> MT_Stream;
typedef ACE_Module<ACE_SYNCH> MT_Module;
class ACE_Svc_Export Test_Task : public MT_Task
{
public:
virtual int open (void *);
virtual int close (u_long);
virtual int init (int, char *[]);
virtual int fini (void);
virtual int suspend (void);
virtual int resume (void);
};
int
Test_Task::open (void *)
{
ACE_DEBUG ((LM_DEBUG, "opening %s\n", this->name () ? this->name () : "task"));
return 0;
}
int
Test_Task::close (u_long)
{
ACE_DEBUG ((LM_DEBUG, "closing %s\n", this->name () ? this->name () : "task"));
return 0;
}
int
Test_Task::suspend (void)
{
ACE_DEBUG ((LM_DEBUG, "suspending in %s\n", this->name () ? this->name () : "task"));
return 0;
}
int
Test_Task::resume (void)
{
ACE_DEBUG ((LM_DEBUG, "resuming in %s\n", this->name () ? this->name () : "task"));
return 0;
}
int
Test_Task::init (int, char *[])
{
ACE_DEBUG ((LM_DEBUG, "initializing %s\n", this->name () ? this->name () : "task"));
return 0;
}
int
Test_Task::fini (void)
{
ACE_DEBUG ((LM_DEBUG, "finalizing %s\n", this->name () ? this->name () : "task"));
return 0;
}
// Dynamically linked functions used to control configuration.
extern "C" ACE_Svc_Export MT_Stream *make_stream (void);
extern "C" ACE_Svc_Export MT_Module *make_da (void);
extern "C" ACE_Svc_Export MT_Module *make_ea (void);
extern "C" ACE_Svc_Export MT_Module *make_mr (void);
extern "C" ACE_Svc_Export ACE_Service_Object *make_task (void);
ACE_Service_Object *
make_task (void)
{
return new Test_Task;
}
MT_Stream *
make_stream (void)
{
return new MT_Stream;
}
MT_Module *
make_da (void)
{
return new MT_Module ("Device_Adapter", new Test_Task, new Test_Task);
}
MT_Module *
make_ea (void)
{
return new MT_Module ("Event_Analyzer", new Test_Task, new Test_Task);
}
MT_Module *
make_mr (void)
{
return new MT_Module ("Multicast_Router", new Test_Task, new Test_Task);
}
|