1 //=============================================================================
5 * @author Source code used in TAO has been modified and adapted from the codeprovided in the book
6 * @author "Advanced CORBA Programming with C++" by MichiHenning and Steve Vinoski. Copyright 1999. Addison-Wesley
8 * @author MA.Modified for TAO by Mike Moran <mm4@cs.wustl.edu>
10 //=============================================================================
15 #pragma prefix
"acme.com"
18 typedef unsigned long AssetType
;
19 typedef string ModelType
;
20 typedef short TempType
;
21 typedef string LocType
;
23 interface Thermometer
{
24 readonly attribute ModelType model
;
25 readonly attribute AssetType asset_num
;
26 readonly attribute TempType temperature
;
27 attribute LocType location
;
30 interface Thermostat
: Thermometer
{
33 TempType min_permitted
;
34 TempType max_permitted
;
37 exception BadTemp
{ BtData details
; };
39 TempType get_nominal
();
40 TempType set_nominal
(in TempType new_temp
)
44 interface Controller
{
45 typedef sequence
<Thermometer
> ThermometerSeq
;
46 typedef sequence
<Thermostat
> ThermostatSeq
;
48 enum SearchCriterion
{ ASSET
, LOCATION
, MODEL
};
50 union KeyType
switch(SearchCriterion
) {
63 typedef sequence
<SearchType
> SearchSeq
;
66 Thermostat tmstat_ref
;
67 Thermostat
::BtData info
;
69 typedef sequence
<ErrorDetails
> ErrSeq
;
75 ThermometerSeq list
();
76 void find
(inout SearchSeq slist
);
78 in ThermostatSeq tlist
, in short delta