1 Changelog for chapter 8 and 10 example in "Advanced CORBA
2 Programming with C++" by Michi Henning and Steve Vinoski,
3 Copyright 1999, Addison-Wesley, Reading, MA. The following
4 changes have been made to the book's source code to make the
5 example work with TAO and with various platforms and compilers.
7 _______________________________________________________________________________
9 1. Changed filename extensions from .hh and .cc to .h
10 and .cpp, and made all necessary changes in file content.
12 2. a) Commented-out "#include <corba/poaS.h>" in server.h
14 b) Added #include "icp.h" to server.h.
16 c) changed #include <CosNaming.h> to <orbsvcs/CosNamingC.h>
17 in server.cpp and client.cpp
19 d) Unnecessary standard includes of <iostreams.h>, <assert.h>,
20 <fstream.h> and <stdlib.h> must be removed or moved to follow the
21 local includes in server.h, server.cpp, client.cpp, and icp.cpp.
23 e) The following files may need their includes further rearranged
24 to avoid warnings and errors (g++). The following orderings
26 - server.cpp: "server.h", <algorithm>, "icp.h",
27 <orbsvcs/CosNamingC.h>, <strstream.h>
28 - server.h: "CCSS.h", "icp.h", <map>, <list>
30 3. Added CORBA_Environment variable to
31 DeviceLocator::preinvoke() and ::postinvoke()
32 in server.h and server.cpp to match the signatures of parent
33 methods in TAO's ServanLocator class.
35 4. removed if 0 code surrounding
36 operator<<(ostream & os, const CCS::Controller::EChange & ec)
37 definition in server.cpp and client.cpp.
39 5. commented-out "delete this;" from method
40 Thermometer_impl::remove() in server.cpp.
41 (Change should soon be reflected in authors' code)
43 _______________________________________________________________________________
45 6. Added .in() to _var parameters wherever needed:
47 4 times in operator<<(ostream, CCS::Thermometer_ptr)
48 3 times in resolve_init()
49 3 times in resolve_name()
51 Also added .inout() 2 times in main() for parameters to set_temp()
54 3 changes in resolve_init()
55 2 changes in make_dref()
56 2 changes in Controller_impl::Controller_impl()
57 3 changes in Controller_impl::~Controller_impl()
58 1 change in Controller_impl::create_thermometer()
59 2 changes in Controller_impl::create_thermostat()
60 1 change in Controller_impl::list()
61 3 changes in Controller_impl::find()
64 7. created needed file at /tmp/CCS_DB. (location is hard-coded)
65 To run, move CCS_DB from this directory to /tmp on the
68 8. fixed warnings by commented out unused parameters in
69 -DeviceLocator_impl::postinvoke(..) in server.h
70 -DeviceLocator_impl::preinvoke(..) in server.cpp
72 9. MAX_EQ_SIZE changed from int to unsigned int
73 in class DeviceLocator_impl in server.h.
75 10. added cast to unsigned long in ~ICP_Persist() in icp.cpp:
76 db << (unsigned long)(i->second.type) << endl;
78 _______________________________________________________________________________
80 - fix error on 4 cases of fstream.close()
81 in server.cpp and icp.cpp, now commented-out