diff options
Diffstat (limited to 'TAO/CIAO/CCF/CCF/CIDL/SyntaxTree/HomeExecutor.hpp')
-rw-r--r-- | TAO/CIAO/CCF/CCF/CIDL/SyntaxTree/HomeExecutor.hpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/TAO/CIAO/CCF/CCF/CIDL/SyntaxTree/HomeExecutor.hpp b/TAO/CIAO/CCF/CCF/CIDL/SyntaxTree/HomeExecutor.hpp new file mode 100644 index 00000000000..dd0048bb953 --- /dev/null +++ b/TAO/CIAO/CCF/CCF/CIDL/SyntaxTree/HomeExecutor.hpp @@ -0,0 +1,77 @@ +// file : CCF/CIDL/SyntaxTree/HomeExecutor.hpp +// author : Boris Kolpackov <boris@dre.vanderbilt.edu> +// cvs-id : $id$ + +#ifndef CCF_CIDL_SYNTAX_TREE_HOME_EXECUTOR_HPP +#define CCF_CIDL_SYNTAX_TREE_HOME_EXECUTOR_HPP + +#include "CCF/IDL2/SyntaxTree/Elements.hpp" +#include "CCF/IDL3/SyntaxTree/Home.hpp" + +namespace CCF +{ + namespace CIDL + { + namespace SyntaxTree + { + using namespace IDL3::SyntaxTree; + + // + // + // + class HomeExecutor : public virtual Scope + { + public: + virtual + ~HomeExecutor () throw () {} + + HomeExecutor (SimpleName const& name, + ScopePtr const& scope, + ScopedName implements, + SimpleName manages) + : Declaration (name, scope), + Scope (name, scope), + implements_ (scope->table (), implements), + manages_ (manages) + { + type_info (static_type_info ()); + } + + public: + HomeDefPtr + implements () const + { + return implements_.resolve (); + } + + SimpleName + manages () const + { + return manages_; + } + + // Runtime declaration type information + public: + virtual std::string + declaration_class () + { + return "home executor"; + } + + public: + static Introspection::TypeInfo const& + static_type_info (); + + private: + HomeDefRef implements_; + SimpleName manages_; + }; + + typedef + StrictPtr<HomeExecutor> + HomeExecutorPtr; + } + } +} + +#endif // CCF_CIDL_SYNTAX_TREE_HOME_EXECUTOR_HPP |