From: Robert L. <rle...@us...> - 2007-03-02 13:11:11
|
Update of /cvsroot/ccmtools/ccmtools/test/CppAssembly/prototype1/impl/space In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13878/test/CppAssembly/prototype1/impl/space Added Files: Alien_impl.cc Alien_impl.h Log Message: new prototype --- NEW FILE: Alien_impl.h --- /*** * PROTOTYPE 1 ***/ #ifndef __COMPONENT_Space_Alien_IMPL__H__ #define __COMPONENT_Space_Alien_IMPL__H__ #include <Space/Alien_share.h> namespace Space { /** * This class implements a component's equivalent and supported interfaces * as well as component attributes. Additionally, session component callback * methods must be implemented. * * Alien component class * * // TODO: WRITE YOUR DESCRIPTION HERE! * * @author * @version **/ class Alien_impl : virtual public ::Space::CCM_Alien , virtual public ::Components::ComponentDelegator { private: bool ccm_activate_ok; public: ::Space::CCM_Alien_Context* ctx; Alien_impl(); virtual ~Alien_impl(); virtual ::Components::Object::SmartPtr provide(const char* facet); virtual ::Components::Cookie connect(const char* receptacle, ::Components::Object::SmartPtr facet); virtual ::Components::Object::SmartPtr disconnect(const char* receptacle, ::Components::Cookie cookie); virtual ::Components::ComponentDelegator::Connections const& get_connections(const char* receptacle); private: ::World::CCM_Data* Ap1_; public: virtual ::World::CCM_Data* get_Ap1(); private: ::World::CCM_Data* Ap10_; public: virtual ::World::CCM_Data* get_Ap10(); // CCM callback methods virtual void set_session_context(Components::SessionContext* ctx) throw(Components::CCMException); virtual void ccm_activate() throw(Components::CCMException); virtual void ccm_passivate() throw(Components::CCMException); virtual void ccm_remove() throw(Components::CCMException); }; } // /namespace Space #endif --- NEW FILE: Alien_impl.cc --- /*** * PROTOTYPE 1 ***/ #include <cassert> #include <iostream> #include "Alien_impl.h" #include "Alien_Ap1_impl.h" #include "Alien_Ap10_impl.h" namespace Space { using namespace std; //============================================================================== // Alien - component implementation //============================================================================== Alien_impl::Alien_impl() : ccm_activate_ok(false) { Ap1_ = NULL; Ap10_ = NULL; } Alien_impl::~Alien_impl() { } void Alien_impl::set_session_context(Components::SessionContext* context) throw(Components::CCMException) { ctx = dynamic_cast< ::Space::CCM_Alien_Context* >(context); } void Alien_impl::ccm_activate() throw(Components::CCMException) { try { } catch(...) { throw Components::CCMException(Components::CREATE_ERROR); } ccm_activate_ok = true; } void Alien_impl::ccm_passivate() throw(Components::CCMException) { // Who calls this method? } void Alien_impl::ccm_remove() throw(Components::CCMException) { try { } catch(...) { throw Components::CCMException(Components::REMOVE_ERROR); } } //============================================================================== // ::World::CCM_Data facet implementation //============================================================================== ::World::CCM_Data* Alien_impl::get_Ap1() { Alien_Ap1_impl* facet = new Alien_Ap1_impl(this); Ap1_ = dynamic_cast< ::World::CCM_Data* >(facet); return Ap1_; } //============================================================================== // ::World::CCM_Data facet implementation //============================================================================== ::World::CCM_Data* Alien_impl::get_Ap10() { Alien_Ap10_impl* facet = new Alien_Ap10_impl(this); Ap10_ = dynamic_cast< ::World::CCM_Data* >(facet); return Ap10_; } } // /namespace Space |