diff options
Diffstat (limited to 'modules/CIAO/DAnCE/ExecutionManager/DAM_Map.h')
-rw-r--r-- | modules/CIAO/DAnCE/ExecutionManager/DAM_Map.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/modules/CIAO/DAnCE/ExecutionManager/DAM_Map.h b/modules/CIAO/DAnCE/ExecutionManager/DAM_Map.h new file mode 100644 index 00000000000..d69c9d10e9a --- /dev/null +++ b/modules/CIAO/DAnCE/ExecutionManager/DAM_Map.h @@ -0,0 +1,72 @@ +/*======================================================================= + * + * @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 "ciao/Deployment_DomainApplicationManagerC.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "ace/Null_Mutex.h" +#include "ace/Hash_Map_Manager.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 (); + + bool unbind_dam (const ACE_CString &str); + + size_t size (void); + + 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*/ |