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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
<!-- $Id$ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MPC Definitions for the Stock Quoter Publisher/Subscriber Real-time CORBA Service</title>
</head>
<body
text = "#000000"
link = "#000fff"
vLink= "#ff0f0f"
aLink = "#0000ff"
bgColor = "#ffffff">
<hr><h2>MPC Definitions for the Stock Quoter Publisher/Subscriber Real-time CORBA Service</h2><hr>
<P> Note: For more information about how to write and use mpc files, please refer to
<A HREF="http://download.ociweb.com/MPC/MakeProjectCreator.pdf">here</A>. <P>
This MPC file (StockQuoter.mpc) contains all the projects used by the Stock Quoter Publisher/Subscriber
Real-time CORBA Service. <P>
<li><h4>Defining the RTCORBA_Quoter_Common project</h4></li>
<PRE>
project(RTCORBA_Quoter_Common): rt_server, taolib, valuetype {
sharedname = RTCORBA_Quoter_Common
idlflags += -Wb,stub_export_macro=RTCORBA_Quoter_Common_Export \
-Wb,stub_export_include=Common_Export.h \
dynamicflags = RTCORBA_QUOTER_COMMON_BUILD_DLL
IDL_Files {
Distributor.idl
Broker.idl
Common.idl
}
Source_Files {
DistributorC.cpp
BrokerC.cpp
CommonC.cpp
Stock_PriorityMapping.cpp
}
Header_Files {
DistributorC.h
BrokerC.h
CommonC.h
CommonS.h
Stock_PriorityMapping.h
}
}
</PRE>
This project is used as a Common project which contains all the idl stub definitions, the common skeleton
definition, and the Stock_PriorityMapping definition.<P>
<li><h4>Defining the Admin project</h4></li>
<PRE>
project(RTCORBA_Quoter_Admin): valuetype, rt_client, naming, stl {
after = RTCORBA_Quoter_Common
libs += RTCORBA_Quoter_Common
Idl_Files {
}
Source_Files {
Admin.cpp
}
Header_Files {
}
}
</PRE>
This project is used as a system administrator to start, stop the Stock Distributor server
and change the notification rate of it. <P>
<li><h4>Defining the Distributor project</h4></li>
<PRE>
project(RTCORBA_Quoter_Distributor): valuetype, rt_server, naming, utils, stl {
libs += RTCORBA_Quoter_Common
after += RTCORBA_Quoter_Common
IDL_Files {
}
Source_Files {
DistributorS.cpp
Distributor.cpp
Distributor_i.cpp
Stock_Database.cpp
CommonS.cpp
}
Header_Files {
Distributor_i.h
Stock_Database.h
DistributorS.h
}
}
</PRE>
This project is used as a Stock Distributor server which monitors a real-time stock feed database
and whenever the value of a stock changes, it publishes an event to interested Stock Broker clients. It can
alse provide the detailed information about a stock required by a Stock Broker client.<P>
<li><h4>Defining the Broker project</h4></li>
<PRE>
project(RTCORBA_Quoter_Broker): valuetype, rt_server, naming, utils, stl {
libs += RTCORBA_Quoter_Common
after += RTCORBA_Quoter_Common
IDL_Files {
}
Source_Files {
BrokerS.cpp
StockNameConsumer_i.cpp
Broker.cpp
Broker_i.cpp
CommonS.cpp
}
Header_Files {
StockNameConsumer_i.h
Broker_i.h
Stock_Database.h
BrokerS.h
}
}
</PRE>
This project is used as a Stock Broker client which subscribes with a Stock Distributor server
to receive notification events whenever a stock value of interest to them changes. It can
alse receive the detailed information about a stock by invoke a Stock Distributor server.<P>
<hr><b>Email: </b><a href="mailto:"</a<ADDRESS>shanshan.jiang@vanderbilt.edu</ADDRESS>
</body>
</html>
|