diff options
author | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-07-20 20:41:04 +0000 |
---|---|---|
committer | sjiang <sjiang@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2006-07-20 20:41:04 +0000 |
commit | 852817804df93740715f802140a07424dc14d1cb (patch) | |
tree | cc4ea7cee1ce3d8de7e56f9b9cd56074fb938186 | |
parent | f4d48dc46dae422430f4f13a3705a6419828d999 (diff) | |
download | ATCD-852817804df93740715f802140a07424dc14d1cb.tar.gz |
ChangeLog Tag: Thu Jul 20 20:38:08 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu>
-rw-r--r-- | TAO/ChangeLog | 15 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Broker.cpp | 4 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.cpp | 18 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.h | 6 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Common_i.h | 8 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp | 53 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.h | 10 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp | 29 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.h | 8 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp | 2 | ||||
-rw-r--r-- | TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h | 2 |
11 files changed, 64 insertions, 91 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index b71d1a84488..56a73eddfdd 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,18 @@ +Thu Jul 20 20:38:08 UTC 2006 Shanshan Jiang <shanshan.jiang@vanderbilt.edu> + + * docs/tutorials/Quoter/RTCORBA/Broker.cpp + * docs/tutorials/Quoter/RTCORBA/Broker_i.cpp + * docs/tutorials/Quoter/RTCORBA/Broker_i.h + * docs/tutorials/Quoter/RTCORBA/Common_i.h + * docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp + * docs/tutorials/Quoter/RTCORBA/Distributor_i.h + * docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp + * docs/tutorials/Quoter/RTCORBA/Stock_Database.h + * docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp + * docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h + + Fixed some errors. Addressed the comments from Will. + Thu Jul 20 13:16:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> * tao/IIOP_Profile.cpp (do_is_equivalent): diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Broker.cpp b/TAO/docs/tutorials/Quoter/RTCORBA/Broker.cpp index f6d14ea1f20..f8c39b0f9f0 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Broker.cpp +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Broker.cpp @@ -65,7 +65,7 @@ int main (int argc, char *argv[]) mgr->activate (); // Create an instance of the <StockBroker>. - static const RTCORBA::Priority priority = atoi (priority_level); + static const RTCORBA::Priority priority = static_cast<RTCORBA::Priority> (atoi (priority_level)); Stock_StockBrokerHome_i stock_broker_home (orb, stock_name, priority); Stock::StockBroker_var stock_broker = stock_broker_home.create (); if (CORBA::is_nil (stock_broker.in ())) @@ -95,7 +95,7 @@ int main (int argc, char *argv[]) // Create a new consumer; initialize it; subscribe to the notification service. Stock::StockNameConsumer_var consumer = stock_broker->get_consumer_notifier (); - Stock::Cookie *cookie = stock_distributor->subscribe_notifier (consumer, priority); + stock_distributor->subscribe_notifier (consumer, priority); // Run the event loop. ACE_DEBUG ((LM_DEBUG, "*** message: ready to receieve stock information...\n")); diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.cpp b/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.cpp index ec6f3cc4937..1862e32a133 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.cpp +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.cpp @@ -18,7 +18,6 @@ Stock_StockBroker_i::Stock_StockBroker_i (CORBA::ORB_ptr orb, // Get a reference to the <RTORB>. CORBA::Object_var obj = orb->resolve_initial_references ("RTORB"); RTCORBA::RTORB_var rt_orb = RTCORBA::RTORB::_narrow (obj.in ()); - ACE_ASSERT (!CORBA::is_nil (rt_orb)); // Create a <CORBA::PolicyList> for the child POA. CORBA::PolicyList consumer_policies (1); @@ -34,11 +33,11 @@ Stock_StockBroker_i::Stock_StockBroker_i (CORBA::ORB_ptr orb, // activated under this POA. PortableServer::POA_var poa = this->_default_POA()->create_POA ( "StockNameConsumer_POA", PortableServer::POAManager::_nil (), consumer_policies); - ACE_ASSERT (!CORBA::is_nil (poa)); + + consumer_policies[0]->destroy (); // Narrow the POA to a <RTPortableServer::POA>. RTPortableServer::POA_var rt_poa = RTPortableServer::POA::_narrow (poa); - ACE_ASSERT (!CORBA::is_nil (rt_poa)); // Activate the <consumer_> with the specified <priority>. this->consumer_ = new Stock_StockNameConsumer_i (this->_this (), stock_name); @@ -54,8 +53,8 @@ Stock_StockBroker_i::~Stock_StockBroker_i (void) ::Stock::StockNameConsumer_ptr Stock_StockBroker_i::get_consumer_notifier () throw (::CORBA::SystemException) { - // @@ Shanshan - I would rather you use a _var here. - return Stock::StockNameConsumer::_duplicate (this->consumer_->_this ()); + Stock::StockNameConsumer_var consumer = this->consumer_->_this (); + return consumer._retn(); } void Stock_StockBroker_i::connect_quoter_info (::Stock::StockQuoter_ptr c) @@ -99,7 +98,8 @@ Stock_StockBrokerHome_i::Stock_StockBrokerHome_i (CORBA::ORB_ptr orb, // Because the broker has nothing to do with any of the RTCORBA // mechanisms, we can register it under the <default_POA>. - try { + try + { this->broker_ = new Stock_StockBroker_i (orb, stock_name, priority); PortableServer::ServantBase_var broker_owner_transfer = this->broker_; this->_default_POA ()->activate_object (this->broker_); @@ -113,13 +113,11 @@ Stock_StockBrokerHome_i::Stock_StockBrokerHome_i (CORBA::ORB_ptr orb, // Implementation skeleton destructor Stock_StockBrokerHome_i::~Stock_StockBrokerHome_i (void) { - // @@ Shanshan - Why?? - // Leaking the broker_! } ::Stock::StockBroker_ptr Stock_StockBrokerHome_i::create () throw (::CORBA::SystemException) { - // @@ Shanshan - Please use a _var to store this->broker_ - return Stock::StockBroker::_duplicate (this->broker_->_this ()); + Stock::StockBroker_var broker = this->broker_->_this (); + return broker._retn(); } diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.h b/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.h index 5faa7ab7547..d8fb12c8095 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.h +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Broker_i.h @@ -21,8 +21,7 @@ * @brief This class defined the Stock Broker client. */ class Stock_StockBroker_i - : public virtual POA_Stock::StockBroker, - public virtual PortableServer::RefCountServantBase + : public virtual POA_Stock::StockBroker { public: /** @@ -84,8 +83,7 @@ private: * @brief This class defined the Stock Broker home. */ class Stock_StockBrokerHome_i - : public virtual POA_Stock::StockBrokerHome, - public virtual PortableServer::RefCountServantBase + : public virtual POA_Stock::StockBrokerHome { public: /** diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Common_i.h b/TAO/docs/tutorials/Quoter/RTCORBA/Common_i.h index ed5d28c6eac..77e829366b1 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Common_i.h +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Common_i.h @@ -13,7 +13,7 @@ #include "BrokerS.h" // TAO headers -#include <tao/RTCORBA/RTCORBA.h> +#include "tao/RTCORBA/RTCORBA.h" // STL headers #include <string> @@ -28,8 +28,7 @@ * distributor to notify brokers of updates. */ class Stock_StockNameConsumer_i - : public virtual POA_Stock::StockNameConsumer, - public virtual PortableServer::RefCountServantBase + : public virtual POA_Stock::StockNameConsumer { public: /** @@ -65,8 +64,7 @@ private: * @brief This class is used by brokers to get detailed stock information. */ class Stock_StockQuoter_i - : public virtual POA_Stock::StockQuoter, - public virtual PortableServer::RefCountServantBase + : public virtual POA_Stock::StockQuoter { public: /// Constructor. diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp b/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp index d9122826072..af66ceafd96 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.cpp @@ -15,8 +15,7 @@ #include <strstream> // Implementation skeleton constructor -Stock_StockDistributor_i::Stock_StockDistributor_i (CORBA::ORB_ptr orb, - CORBA::PolicyList &policy_list) +Stock_StockDistributor_i::Stock_StockDistributor_i (CORBA::PolicyList &policy_list) : rate_(3000), active_ (false), quoter_ (0) @@ -27,15 +26,9 @@ Stock_StockDistributor_i::Stock_StockDistributor_i (CORBA::ORB_ptr orb, // will be activated under this POA. PortableServer::POA_var poa = this->_default_POA()->create_POA ( "StockQuoter_POA", PortableServer::POAManager::_nil (), policy_list); - // @@ Shanshan - Please get rid of all ACE_ACCERTs in the code. If - // you would like to do the check, please do so using an if statment - // - most of them may not be strictly necessary, as exceptions would - // be thrown if creation failed. - ACE_ASSERT (!CORBA::is_nil (poa)); // _narrow () the POA to a RTPortableServer::POA. RTPortableServer::POA_var rt_poa = RTPortableServer::POA::_narrow (poa); - ACE_ASSERT (!CORBA::is_nil (rt_poa)); // Create a new instance of the <quoter_> under it's own personal // POA. But the POA shares the <threadpool> with other POA's as well. @@ -64,20 +57,17 @@ Stock_StockDistributor_i::~Stock_StockDistributor_i (void) std::ostrstream cookie_id; cookie_id << "COOKIE:" << time (0) << "_" << ACE_OS::rand () << std::ends; - // @@ Shanshan - Please use the OBV_Stock::Cookie_var here to manage your memory, - // there is a possibility that it could leak. Also, you may want to store a _var in the map, - // or instead simply the value of the cookie in the CookieMak. // Create a new cookie object; initialize its value. - OBV_Stock::Cookie *cookie = new OBV_Stock::Cookie (cookie_id.str ()); + Stock::Cookie_var cookie = new OBV_Stock::Cookie (cookie_id.str ()); // Insert the cookie into the <subscribers_list_>. std::pair <CookieMap::iterator, bool> result = - this->subscribers_list_.insert (std::make_pair (cookie, + this->subscribers_list_.insert (std::make_pair (cookie->cookie_id (), std::make_pair (Stock::StockNameConsumer::_duplicate (c), priority))); if (result.second == true) { - return cookie; + return cookie._retn(); } return 0; @@ -89,12 +79,8 @@ Stock_StockDistributor_i::~Stock_StockDistributor_i (void) // Get mutual exclusion of the <subscribers_list_>. ACE_GUARD_RETURN (ACE_RW_Thread_Mutex, g, lock_, 0); - // @@ Shanshan - Yow! I am not certain this find operation will succeed, - // and if it does, you are very lucky! You are comparing the _address_ - // of the stored cookie, not its value! Please see my note above about storing - // the *contents* of the cookie, not the cookie itself! // Search for the <cookie> in the <subscribers_list_>. - CookieMap::iterator iter = this->subscribers_list_.find (ck); + CookieMap::iterator iter = this->subscribers_list_.find (ck->cookie_id ()); // Verify we have located the <cookie>. if (iter == this->subscribers_list_.end ()) @@ -111,11 +97,8 @@ Stock_StockDistributor_i::~Stock_StockDistributor_i (void) ::Stock::StockQuoter_ptr Stock_StockDistributor_i::provide_quoter_info () throw (::CORBA::SystemException) { - // @@ Shanshan - Again, I am not sure why you are storing a raw - // pointer to the StockQuoter_i in the class, it seems like a very - // bad idea since you don't have ownership over the memory. It - // would be better to store a _var, and duplicate that. - return Stock::StockQuoter::_duplicate (this->quoter_->_this ()); + Stock::StockQuoter_var quoter = this->quoter_->_this (); + return quoter._retn(); } ::CORBA::Long Stock_StockDistributor_i::notification_rate () @@ -170,17 +153,11 @@ Stock_StockDistributorHome_i::Stock_StockDistributorHome_i (CORBA::ORB_ptr orb) // Get a reference to the <RTORB>. CORBA::Object_var obj = orb->resolve_initial_references ("RTORB"); RTCORBA::RTORB_var rt_orb = RTCORBA::RTORB::_narrow (obj.in ()); - // @@ Shanshan - Please go through your code and remove the ACE_ASSERTs. - ACE_ASSERT (!CORBA::is_nil (rt_orb)); // Create a <CORBA::PolicyList> for the child POA. CORBA::PolicyList stock_distributor_policies (2); stock_distributor_policies.length (2); - // @@ Shanshan - You need to make sure to explicitly call destroy on - // each element of any policy list you create, or use the - // PolicyListDestroyer in the TAO::Utils namespace - // Create a <CLIENT_PROPOGATED> priority model policy. stock_distributor_policies[0] = rt_orb->create_priority_model_policy (RTCORBA::CLIENT_PROPAGATED, @@ -190,7 +167,7 @@ Stock_StockDistributorHome_i::Stock_StockDistributorHome_i (CORBA::ORB_ptr orb) // will have various priorities, create a lane for each priority. RTCORBA::ThreadpoolLanes lanes (5); lanes.length (5); for (CORBA::ULong i = 0; i < lanes.length (); ++i) { - lanes[i].lane_priority = i; + lanes[i].lane_priority = static_cast<RTCORBA::Priority> (i); lanes[i].static_threads = 5; lanes[i].dynamic_threads = 2; } @@ -205,23 +182,24 @@ Stock_StockDistributorHome_i::Stock_StockDistributorHome_i (CORBA::ORB_ptr orb) // activated under this POA. PortableServer::POA_var poa = this->_default_POA()->create_POA ( "StockDistributor_POA", PortableServer::POAManager::_nil (), stock_distributor_policies); - ACE_ASSERT (!CORBA::is_nil (poa)); // Create a new instance of the <Stock_StockDistributor_i>. Then activate // the <distributor> under the located POA. This will cause the objec // to have the CLIENT_PROPAGATED policies. RTPortableServer::POA_var rt_poa = RTPortableServer::POA::_narrow (poa); - ACE_ASSERT (!CORBA::is_nil (rt_poa)); try { - this->distributor_ = new Stock_StockDistributor_i (orb, stock_distributor_policies); + this->distributor_ = new Stock_StockDistributor_i (stock_distributor_policies); PortableServer::ServantBase_var distributor_owner_transfer = this->distributor_; rt_poa->activate_object (this->distributor_); } catch (RTPortableServer::POA::ServantAlreadyActive &) { } + + stock_distributor_policies[0]->destroy (); + stock_distributor_policies[1]->destroy (); } // Implementation skeleton destructor @@ -232,15 +210,12 @@ Stock_StockDistributorHome_i::~Stock_StockDistributorHome_i (void) ::Stock::StockDistributor_ptr Stock_StockDistributorHome_i::create () throw (::CORBA::SystemException) { - // @@ Shanshan - Again, I am not sure why you are storing a raw C++ - // pointer here. Please consider using a _var. - return Stock::StockDistributor::_duplicate (this->distributor_->_this ()); + Stock::StockDistributor_var distributor = this->distributor_->_this (); + return distributor._retn(); } int Stock_StockDistributor_i::svc (void) { - OBV_Stock::StockName *stock_name = new OBV_Stock::StockName; - // Continue looping while the stock distributor is active. while (this->active_) { diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.h b/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.h index 9e1b1933659..89d0f20a882 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.h +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Distributor_i.h @@ -28,8 +28,7 @@ */ class Stock_StockDistributor_i : public ACE_Task_Base, - public virtual POA_Stock::StockDistributor, - public virtual PortableServer::RefCountServantBase + public virtual POA_Stock::StockDistributor { public: /** @@ -38,7 +37,7 @@ public: * @param orb * @param policy_list The policy list use to create StockQuoter_POA. */ - Stock_StockDistributor_i (CORBA::ORB_ptr orb, CORBA::PolicyList &policy_list); + Stock_StockDistributor_i (CORBA::PolicyList &policy_list); /// Destructor virtual ~Stock_StockDistributor_i (void); @@ -108,7 +107,7 @@ private: CORBA::Long rate_; /// The map that stores the subscribed StockNameConsumer object. - typedef std::map <Stock::Cookie *, + typedef std::map <const char *, std::pair <Stock::StockNameConsumer_ptr, RTCORBA::Priority> > CookieMap; CookieMap subscribers_list_; @@ -128,8 +127,7 @@ private: * @brief This class defined the Stock Distributor home. */ class Stock_StockDistributorHome_i - : public virtual POA_Stock::StockDistributorHome, - public virtual PortableServer::RefCountServantBase + : public virtual POA_Stock::StockDistributorHome { public: /** diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp index 2986565d9ee..a5b54378e49 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.cpp @@ -13,20 +13,17 @@ Stock_Database::Stock_Database (void) { const char *stock_names [] = {"MSFT", "INTEL", "IBM"}; - Stock::StockInfo * stock_info; + Stock::StockInfo_var stock_info; for (int i = 0; i < sizeof (stock_names) / sizeof (const char *); ++i) { - // @@ Shanshan - This still leaks memory. Please either don't - // store pointers in the container, or write a destructor to - // delete this memory. stock_info = new Stock::StockInfo; stock_info->name = stock_names[i]; stock_info->high = 70 + (ACE_OS::rand () % 30); stock_info->last = 65 + (ACE_OS::rand () % 15); stock_info->low = 60 + (ACE_OS::rand () % 20); - + this->stock_map_.insert (std::make_pair (std::string (stock_names[i]), stock_info)); } } @@ -36,8 +33,6 @@ Stock_Database::Stock_Database (void) // Stock::StockInfo * Stock_Database::get_stock_info (const char *name) { - //ACE_GUARD_RETURN (ACE_RW_Thread_Mutex, g, lock_, 0); - // Locate the <stock_name> in the database. ACE_DEBUG ((LM_DEBUG, "*** message: searching the stock_map_ for the stock_name\n")); StockMap::iterator iter = this->stock_map_.find (std::string (name)); @@ -45,13 +40,15 @@ Stock::StockInfo * Stock_Database::get_stock_info (const char *name) if (iter == this->stock_map_.end()) return 0; - // Make a deep copy of the stock info. We do not want to client - // to delete our copy of the stock_info. - Stock::StockInfo *stock_info = new Stock::StockInfo; - *stock_info = *(iter->second); - ACE_DEBUG ((LM_DEBUG, "*** message: returning stock_info to the client\n")); - return stock_info; + + Stock::StockInfo_var stock_info = new Stock::StockInfo; + stock_info->name = std::string (iter->second->name).c_str (); + stock_info->high = iter->second->high; + stock_info->last = iter->second->last; + stock_info->low = iter->second->low; + + return stock_info._retn();; } // @@ -59,8 +56,6 @@ Stock::StockInfo * Stock_Database::get_stock_info (const char *name) // void Stock_Database::publish_stock_info (Stock::StockNameConsumer_ptr consumer) { - //ACE_GUARD (ACE_RW_Thread_Mutex, g, lock_); - Stock::StockName_var stock_name = new OBV_Stock::StockName; for (StockMap::iterator iter = this->stock_map_.begin (); @@ -75,10 +70,6 @@ int Stock_Database::svc (void) { while (true) { - // @@ Shanshan - This lock only does you any good if the other methods - // are similarly locked. - ACE_GUARD_RETURN (ACE_RW_Thread_Mutex, g, lock_, 0); - for (Stock_Database::StockMap::iterator iter = this->stock_map_.begin (); iter != this->stock_map_.end (); ++iter) { diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.h b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.h index d6f39d297e4..d952dfa4cde 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.h +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_Database.h @@ -28,6 +28,9 @@ public: /// Constructor. Stock_Database (void); + /// Destructor. + //Stock_Database (void); + /** * Create a StockInfo object stored in the database with the given name. * @@ -52,11 +55,8 @@ public: private: /// Stock map. - typedef std::map<std::string, Stock::StockInfo *> StockMap; + typedef std::map<std::string, Stock::StockInfo_var> StockMap; StockMap stock_map_; - - /// ACE_RW_Thread_Mutex. - ACE_RW_Thread_Mutex lock_; }; typedef ACE_Singleton<Stock_Database, ACE_Thread_Mutex> Stock_Database_Singleton; diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp index 81ed2151d2b..023da22185a 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.cpp @@ -4,7 +4,7 @@ #include "Stock_PriorityMapping.h" // TAO headers -#include <tao/RTCORBA/Priority_Mapping_Manager.h> +#include "tao/RTCORBA/Priority_Mapping_Manager.h" // // Stock_PriorityMapping diff --git a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h index 34bbb74ca04..7e5ee7b8bd1 100644 --- a/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h +++ b/TAO/docs/tutorials/Quoter/RTCORBA/Stock_PriorityMapping.h @@ -9,7 +9,7 @@ #define STOCK_PRIORITYMAPPING_ // TAO headers -#include <tao/RTCORBA/Continuous_Priority_Mapping.h> +#include "tao/RTCORBA/Continuous_Priority_Mapping.h" /** * @class Stock_PriorityMapping |