diff options
Diffstat (limited to 'TAO/CIAO/DAnCE/Plan_Launcher/DAM_Map.h')
-rw-r--r-- | TAO/CIAO/DAnCE/Plan_Launcher/DAM_Map.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/TAO/CIAO/DAnCE/Plan_Launcher/DAM_Map.h b/TAO/CIAO/DAnCE/Plan_Launcher/DAM_Map.h new file mode 100644 index 00000000000..21d8dee5de9 --- /dev/null +++ b/TAO/CIAO/DAnCE/Plan_Launcher/DAM_Map.h @@ -0,0 +1,71 @@ +/*======================================================================= + * + * @file DAM_Map.h + * + * $Id$ + * + * @brief Map of DomainApplicationManager to UUID's + * + * @author Bala Natarajan <bala @ dre.vanderbilt.edu> + * + *======================================================================*/ +#ifndef CIAO_DAM_MAP_H +#define CIAO_DAM_MAP_H +#include /**/ "ace/pre.h" + +#include "ace/Null_Mutex.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Hash_Map_Manager.h" +#include "ciao/DeploymentC.h" +#include "ace/SString.h" + + +namespace CIAO +{ + namespace Execution_Manager + { + /** + * @class DAM_Map + * + * @brief Map of DomainApplicationManager to ACE_CStrings + * + */ + class DAM_Map + { + public: + DAM_Map (void); + + bool is_plan_available (const ACE_CString &str); + + ::Deployment::DomainApplicationManager_ptr + fetch_dam_reference (const ACE_CString &str); + + bool bind_dam_reference ( + const ACE_CString &str, + ::Deployment::DomainApplicationManager_ptr tmp); + + Deployment::DomainApplicationManagers * + get_dams (ACE_ENV_SINGLE_ARG_DECL); + + bool unbind_dam (const ACE_CString &str); + + private: + typedef + ACE_Hash_Map_Manager_Ex < ACE_CString, + ::Deployment::DomainApplicationManager_var, + ACE_Hash<ACE_CString>, + ACE_Equal_To<ACE_CString>, + ACE_Null_Mutex> MAP; + typedef MAP::iterator Iterator; + + MAP map_; + }; + } +} + +#include /**/ "ace/post.h" +#endif /*CIAO_DAM_MAP_H*/ |