[openrtm-users 02429] Re: (無題)

hiromu.kobayashi @ gmail.com hiromu.kobayashi @ gmail.com
2012年 2月 8日 (水) 19:08:39 JST


中央大学 小林です
provServiceSVC_impl.cppとprovServiceSVC_impl.hの一部を上げたいと思います.
何卒,よろしくお願い致します. [provServiceSVC_impl.h] class
provServiceSVC_impl : public virtual POA_provService, public virtual
PortableServer::RefCountServantBase { private: // Make sure all instances are
built on the heap by making the // destructor non-public //virtual
~provServiceSVC_impl(); public: /*! * @brief standard constructor */
provServiceSVC_impl(TimedLong m_DataOut_original, OutPort
m_DataOutOut_original, RTC::CorbaConsumer m_consService_original); /*! *
@brief destructor */ virtual ~provServiceSVC_impl(); // attributes and
operations CORBA::Short provServiceMethod(const char* prov_cmd); TimedLong*
m_DataOut_cp; OutPort* m_DataOutOut_cp; //
ここにm_DataOutOutのアドレスをコピーしたい RTC::CorbaConsumer*
m_consService_cp; //
ここにm_consServiceのアドレスをコピーしたい };
[provServiceSVC_impl.cpp] // コンストラクタ
provServiceSVC_impl::provServiceSVC_impl(TimedLong m_DataOut_original,
OutPort m_DataOutOut_original, RTC::CorbaConsumer m_consService_original) {
// ポートのアドレスを取得 m_DataOut_cp = &m_DataOut_original;
m_DataOutOut_cp = &m_DataOutOut_original; m_consService_cp =
&m_consService_original; } // メソッド CORBA::Short
provServiceSVC_impl::provServiceMethod(const char* prov_cmd) { //
コンシューマのサービスポートを呼び出す if( !CORBA::is_nil(
(*m_consService_cp).getObject()) ){ (*m_consService_cp)->consServiceMethod(
prov_cmd ); } // データポートでデータを送信する
(*m_DataOut_cp).data = 1; (*m_DataOutOut_cp).write(); return 0; }



openrtm-users メーリングリストの案内