diff options
author | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
---|---|---|
committer | jai <jai@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2007-01-29 21:15:18 +0000 |
commit | b71531b42b3325fd6079a7039aae8641262c8adf (patch) | |
tree | a5b9aa16924c541fcb424ee9460b1ac7f5a89352 /modules/CIAO/ciao/NodeApp_CB_Impl.h | |
parent | a0f67cc97c0050d907145e312135b60c0125e56e (diff) | |
download | ATCD-DS-main.tar.gz |
branching/taggingDS-main
Diffstat (limited to 'modules/CIAO/ciao/NodeApp_CB_Impl.h')
-rw-r--r-- | modules/CIAO/ciao/NodeApp_CB_Impl.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/modules/CIAO/ciao/NodeApp_CB_Impl.h b/modules/CIAO/ciao/NodeApp_CB_Impl.h new file mode 100644 index 00000000000..bd5c5fd7711 --- /dev/null +++ b/modules/CIAO/ciao/NodeApp_CB_Impl.h @@ -0,0 +1,78 @@ +// -*- C++ -*- +// $Id$ +//============================================================================= +/** + * @file NodeApp_CB_Impl.h + * + * @author Nanbor Wang <nanbor@cs.wustl.edu> + * Tao Lu <lu@dre.vanderbilt.edu> + * + //===========================================================================*/ + + +#ifndef NODEAPPLICATION_CALLBACK_IMPL_H +#define NODEAPPLICATION_CALLBACK_IMPL_H +#include /**/ "ace/pre.h" + +#include "ace/config-all.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "CIAO_NodeApplication_CallBackS.h" + +namespace CIAO +{ + /** + * @class NodeApplication_Callback_Impl + * + * @brief A call back interface for NodeApplication + * @Note Here is no need to be thread safe since for every nodeapplication + * we will have an unique callback object. --Tao + */ + class Deployment_svnt_Export NodeApplication_Callback_Impl + : public virtual POA_CIAO::NodeApplication_Callback + { + public: + friend class NodeApplicationManager_Impl; + + /// Constructor. + NodeApplication_Callback_Impl (CORBA::ORB_ptr o, + PortableServer::POA_ptr p, + Deployment::NodeApplicationManager_ptr s, + const Deployment::Properties &properties) + ACE_THROW_SPEC ((CORBA::SystemException)); + + /// Get the containing POA. This operation does *not* increase + /// the reference count of the POA. + virtual PortableServer::POA_ptr _default_POA (void); + + /// Record the NodeApplication reference returned by the newly + /// spawned NodeApplication and give it back a reference to + /// NodeApplicationManager + Deployment::NodeApplicationManager_ptr + register_node_application (Deployment::NodeApplication_ptr na, + Deployment::Properties_out properties) + ACE_THROW_SPEC ((CORBA::SystemException)); + + Deployment::NodeApplication_ptr get_nodeapp_ref (void); + + protected: + /// Destructor. + ~NodeApplication_Callback_Impl (); + + CORBA::ORB_var orb_; + + PortableServer::POA_var poa_; + + Deployment::NodeApplicationManager_var nam_; + + Deployment::NodeApplication_var nodeapp_; + + Deployment::Properties_var properties_; + }; +} + +#include /**/ "ace/post.h" +#endif /* NODEAPPLICATION_CALLBACK_IMPL_H */ |