diff options
author | Marijke Hengstmengel <MHengstmengel@users.noreply.github.com> | 2013-10-23 08:47:57 +0000 |
---|---|---|
committer | Marijke Hengstmengel <MHengstmengel@users.noreply.github.com> | 2013-10-23 08:47:57 +0000 |
commit | 29cbf75d9c11fe9c4b3e3698a38932354a397e7d (patch) | |
tree | 760f6235f9ad07496d2d47c9319a5f626ddc1293 | |
parent | 7647c750d59363b7603a9ade1c3d63ebc11f3232 (diff) | |
download | ATCD-29cbf75d9c11fe9c4b3e3698a38932354a397e7d.tar.gz |
Changes for Android port
-rw-r--r-- | DAnCE/ChangeLog | 16 | ||||
-rw-r--r-- | DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp | 97 | ||||
-rw-r--r-- | DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp | 8 |
3 files changed, 73 insertions, 48 deletions
diff --git a/DAnCE/ChangeLog b/DAnCE/ChangeLog index 74feae018f2..81819a333aa 100644 --- a/DAnCE/ChangeLog +++ b/DAnCE/ChangeLog @@ -1,3 +1,19 @@ +Wed Oct 23 08:45:46 UTC 2013 Marijke Hengstmengel <MHengstmengel.remedy.nl> + + * dance/LocalityManager/Scheduler/Events/Action_Base.cpp: + + * dance/LocalityManager/Scheduler/Plugin_Manager.cpp: + commit eb9626a86511c55e5d46a65a260240af6103f8e4 + Author: Marijke Hengstmengel <MHengstmengel@remedy.nl> + Date: Thu Oct 3 10:19:06 2013 +0200 + + Solved singleton problems for android + * DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp: + + * DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp: + If InstanceDeploymentHandler is nil, don't call invoke + + Thu Oct 3 09:36:51 UTC 2013 Johnny Willemsen <jwillemsen@remedy.nl> * NEWS: diff --git a/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp b/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp index 87f7265a5f2..21048c3bb1b 100644 --- a/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp +++ b/DAnCE/dance/LocalityManager/Scheduler/Events/Action_Base.cpp @@ -53,53 +53,56 @@ namespace DAnCE this->create_unexpected_exception (this->name_, "Invalid Instance Type"); } - - ::DAnCE::InstanceDeploymentHandler_var handler = - PLUGIN_MANAGER::instance ()->fetch_installation_handler (this->instance_type_.c_str ()); - - if (CORBA::is_nil (handler)) - { - this->create_unexpected_exception (this->name_, - "Unable to load appropriate instance handler"); - } - - try - { - this->invoke (handler.in ()); - } - catch (CORBA::UserException &ex) - { - DANCE_ERROR (DANCE_LOG_EVENT_TRACE, - (LM_INFO, DLINFO - ACE_TEXT ("Action_Base::call - ") - ACE_TEXT ("Caught CORBA UserException while processing instance ") - ACE_TEXT ("<%C>\n"), - this->name_.c_str ())); - this->instance_excep_ = DAnCE::Utility::create_any_from_user_exception (ex); - } - catch (CORBA::SystemException &ex) - { - DANCE_ERROR (DANCE_LOG_EVENT_TRACE, - (LM_INFO, DLINFO - ACE_TEXT ("Action_Base::call - ") - ACE_TEXT ("Caught CORBA SystemException while processing instance ") - ACE_TEXT ("<%C>\n"), - this->name_.c_str ())); - this->instance_excep_ = DAnCE::Utility::create_any_from_exception (ex); - } - catch (...) - { - DANCE_ERROR (DANCE_LOG_EVENT_TRACE, - (LM_INFO, DLINFO - ACE_TEXT ("Action_Base::call - ") - ACE_TEXT ("Caught C++ exception while processing instance ") - ACE_TEXT ("<%C>\n"), - this->name_.c_str ())); - - this->create_unexpected_exception (this->name_, - "Caught unknown C++ exception from install"); - } - + else + { + ::DAnCE::InstanceDeploymentHandler_var handler = + PLUGIN_MANAGER::instance ()->fetch_installation_handler (this->instance_type_.c_str ()); + + if (CORBA::is_nil (handler)) + { + this->create_unexpected_exception (this->name_, + "Unable to load appropriate instance handler"); + } + else + { + try + { + this->invoke (handler.in ()); + } + catch (CORBA::UserException &ex) + { + DANCE_ERROR (DANCE_LOG_EVENT_TRACE, + (LM_INFO, DLINFO + ACE_TEXT ("Action_Base::call - ") + ACE_TEXT ("Caught CORBA UserException while processing instance ") + ACE_TEXT ("<%C>\n"), + this->name_.c_str ())); + this->instance_excep_ = DAnCE::Utility::create_any_from_user_exception (ex); + } + catch (CORBA::SystemException &ex) + { + DANCE_ERROR (DANCE_LOG_EVENT_TRACE, + (LM_INFO, DLINFO + ACE_TEXT ("Action_Base::call - ") + ACE_TEXT ("Caught CORBA SystemException while processing instance ") + ACE_TEXT ("<%C>\n"), + this->name_.c_str ())); + this->instance_excep_ = DAnCE::Utility::create_any_from_exception (ex); + } + catch (...) + { + DANCE_ERROR (DANCE_LOG_EVENT_TRACE, + (LM_INFO, DLINFO + ACE_TEXT ("Action_Base::call - ") + ACE_TEXT ("Caught C++ exception while processing instance ") + ACE_TEXT ("<%C>\n"), + this->name_.c_str ())); + + this->create_unexpected_exception (this->name_, + "Caught unknown C++ exception from install"); + } + } + } Event_Result result (this->name_, this->instance_excep_.ptr () != 0); if (!interceptors.empty ()) { diff --git a/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp b/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp index b37081166f7..68b73eef151 100644 --- a/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp +++ b/DAnCE/dance/LocalityManager/Scheduler/Plugin_Manager.cpp @@ -106,6 +106,10 @@ namespace DAnCE Plugin_Manager::Plugin_Manager (void) : config_ (0) { + DANCE_DEBUG (DANCE_LOG_MINOR_EVENT, + (LM_INFO, DLINFO + ACE_TEXT ("Plugin_Manager::Plugin_Manager") + ACE_TEXT ("\n"))); } void @@ -233,7 +237,6 @@ namespace DAnCE const ACE_TCHAR *entrypoint, int open_mode) { - ::DAnCE::DeploymentInterceptor_var plugin = load_plugin< ::DAnCE::DeploymentInterceptor > (artifact, entrypoint, @@ -372,3 +375,6 @@ namespace DAnCE } } + +ACE_SINGLETON_TEMPLATE_INSTANTIATE(ACE_Singleton, DAnCE::Plugin_Manager, TAO_SYNCH_MUTEX); + |