RTObject.cpp
Go to the documentation of this file.
1 // -*- C++ -*-
19 #include <assert.h>
20 #include <rtm/RTObject.h>
21 #include <rtm/SdoConfiguration.h>
22 #include <rtm/CORBA_SeqUtil.h>
23 #include <rtm/Manager.h>
24 #include <coil/stringutil.h>
25 #include <iostream>
26 #include <typeinfo>
27 
28 namespace RTC
29 {
37  static const char* default_conf[] =
38  {
39  "implementation_id", "",
40  "type_name", "",
41  "description", "",
42  "version", "",
43  "vendor", "",
44  "category", "",
45  "activity_type", "",
46  "max_instance", "",
47  "language", "",
48  "lang_type", "",
49  "conf", "",
50  ""
51  };
52 
61  : m_pManager(manager),
62  m_pORB(CORBA::ORB::_duplicate(manager->getORB())),
63  m_pPOA(PortableServer::POA::_duplicate(manager->getPOA())),
64  m_portAdmin(manager->getORB(), manager->getPOA()),
65  m_created(true), m_exiting(false),
66  m_properties(default_conf), m_configsets(m_properties.getNode("conf")),
67  m_sdoservice(*this),
68  m_readAll(false),m_writeAll(false),
69  m_readAllCompletion(false),m_writeAllCompletion(false)
70  {
71  m_objref = this->_this();
73  m_sdoservice);
74  m_pSdoConfig = SDOPackage::Configuration::
75  _duplicate(m_pSdoConfigImpl->getObjRef());
76  }
77 
85  RTObject_impl::RTObject_impl(CORBA::ORB_ptr orb,
86  PortableServer::POA_ptr poa)
87  : m_pManager(NULL),
88  m_pORB(CORBA::ORB::_duplicate(orb)),
89  m_pPOA(PortableServer::POA::_duplicate(poa)),
90  m_portAdmin(orb, poa),
91  m_created(true), m_exiting(false),
92  m_properties(default_conf), m_configsets(m_properties.getNode("conf")),
93  m_sdoservice(*this),
94  m_readAll(false),m_writeAll(false),
96  {
97  m_objref = this->_this();
99  m_sdoservice);
100  m_pSdoConfig = SDOPackage::Configuration::
101  _duplicate(m_pSdoConfigImpl->getObjRef());
102  }
103 
112  {
113  RTC_TRACE(("~RTObject_impl()"));
114  m_pSdoConfigImpl->_remove_ref();
115  }
116 
117  //============================================================
118  // Overridden functions
119  //============================================================
127  // The initialize action (on CREATED->ALIVE transition)
128  // former rtc_init_entry()
130  {
131  RTC_TRACE(("onInitialize()"));
132  return RTC::RTC_OK;
133  }
134 
142  // The finalize action (on ALIVE->END transition)
143  // former rtc_exiting_entry()
145  {
146  RTC_TRACE(("onFinalize()"));
147  return RTC::RTC_OK;
148  }
149 
157  // The startup action when ExecutionContext startup
158  // former rtc_starting_entry()
160  {
161  RTC_TRACE(("onStartup(%d)", ec_id));
162  return RTC::RTC_OK;
163  }
164 
172  // The shutdown action when ExecutionContext stop
173  // former rtc_stopping_entry()
175  {
176  RTC_TRACE(("onShutdown(%d)", ec_id));
177  return RTC::RTC_OK;
178  }
179 
187  // The activated action (Active state entry action)
188  // former rtc_active_entry()
190  {
191  RTC_TRACE(("onActivated(%d)", ec_id));
192  return RTC::RTC_OK;
193  }
194 
202  // The deactivated action (Active state exit action)
203  // former rtc_active_exit()
205  {
206  RTC_TRACE(("onDeactivated(%d)", ec_id));
207  return RTC::RTC_OK;
208  }
209 
217  // The execution action that is invoked periodically
218  // former rtc_active_do()
220  {
221  RTC_PARANOID(("onExecute(%d)", ec_id));
222  return RTC::RTC_OK;
223  }
224 
232  // The aborting action when main logic error occurred.
233  // former rtc_aborting_entry()
235  {
236  RTC_TRACE(("onAborting(%d)", ec_id));
237  return RTC::RTC_OK;
238  }
239 
247  // The error action in ERROR state
248  // former rtc_error_do()
250  {
251  RTC_TRACE(("onError(%d)", ec_id));
252  return RTC::RTC_OK;
253  }
254 
262  // The reset action that is invoked resetting
263  // This is same but different the former rtc_init_entry()
265  {
266  RTC_TRACE(("onReset(%d)", ec_id));
267  return RTC::RTC_OK;
268  }
269 
277  // The state update action that is invoked after onExecute() action
278  // no corresponding operation exists in OpenRTm-aist-0.2.0
280  {
281  RTC_PARANOID(("onStateUpdate(%d)", ec_id));
282  return RTC::RTC_OK;
283  }
284 
292  // The action that is invoked when execution context's rate is changed
293  // no corresponding operation exists in OpenRTm-aist-0.2.0
295  {
296  RTC_TRACE(("onRatechanged(%d)", ec_id));
297  return RTC::RTC_OK;
298  }
299 
300  //============================================================
301  // RTC::LightweightRTObject
302  //============================================================
311  throw (CORBA::SystemException)
312  {
313  RTC_TRACE(("initialize()"));
314  std::string ec_args;
315 
316  ec_args += m_properties["exec_cxt.periodic.type"];
317  ec_args += "?";
318  ec_args += "rate=" + m_properties["exec_cxt.periodic.rate"];
319 
321  ec = RTC::Manager::instance().createContext(ec_args.c_str());
322  if (ec == NULL) return RTC::RTC_ERROR;
323 
324  ec->set_rate(atof(m_properties["exec_cxt.periodic.rate"].c_str()));
325  m_eclist.push_back(ec);
326  ExecutionContextService_var ecv;
327  ecv = RTC::ExecutionContextService::_duplicate(ec->getObjRef());
328  if (CORBA::is_nil(ecv)) return RTC::RTC_ERROR;
329 
330  ec->bindComponent(this);
331  // -- entering alive state --
332  // at least one EC must be attached
333  if (m_ecMine.length() == 0) return RTC::PRECONDITION_NOT_MET;
334 
336  ret = on_initialize();
337  if (ret != RTC::RTC_OK) return ret;
338  m_created = false;
339 
340  for (::CORBA::ULong i(0), len(m_ecMine.length()); i < len; ++i)
341  {
342  RTC_DEBUG(("EC[%d] starting.", i));
343  m_ecMine[i]->start();
344  }
345 
346  // ret must be RTC_OK
347  return ret;
348  }
349 
358  throw (CORBA::SystemException)
359  {
360  RTC_TRACE(("finalize()"));
363  // Return RTC::PRECONDITION_NOT_MET,
364  // When the component is registered in ExecutionContext.
365  // m_ecMine.length() != 0 ||
366  if(m_ecOther.length() != 0)
367  {
368 
369  for (CORBA::ULong ic(0), len(m_ecOther.length()); ic < len; ++ic)
370  {
371  if(! CORBA::is_nil(m_ecOther[ic]))
372  {
374  }
375  }
377  }
378 
380 
381  shutdown();
382  return ret;
383  }
384 
395  throw (CORBA::SystemException)
396  {
397  RTC_TRACE(("exit()"));
398  if (m_created) { return RTC::PRECONDITION_NOT_MET; }
399  if (m_exiting) { return RTC::RTC_OK; }
400 
401  // deactivate myself on owned EC
404  // deactivate myself on other EC
407 
408  // owned EC will be finalised later in finalizeContext().
409 
410  // detach myself from other EC
411  for (CORBA::ULong ic(0), len(m_ecOther.length()); ic < len; ++ic)
412  {
413  // m_ecOther[ic]->stop();
414  RTC::LightweightRTObject_var comp(this->_this());
415  if (! ::CORBA::is_nil(m_ecOther[ic]))
416  {
417  m_ecOther[ic]->remove_component(comp.in());
418  }
419  }
420  m_exiting = true;
422 
423  return ret;
424  }
425 
433  CORBA::Boolean RTObject_impl::is_alive(ExecutionContext_ptr exec_context)
434  throw (CORBA::SystemException)
435  {
436  RTC_TRACE(("is_alive()"));
437  for (::CORBA::ULong i(0), len(m_ecMine.length()); i < len; ++i)
438  {
439  if (exec_context->_is_equivalent(m_ecMine[i]))
440  return true;
441  }
442 
443  for (::CORBA::ULong i(0), len(m_ecOther.length()); i < len; ++i)
444  {
445  if (! ::CORBA::is_nil(m_ecOther[i]))
446  {
447  if (exec_context->_is_equivalent(m_ecOther[i]))
448  return true;
449  }
450  }
451  return false;
452  }
453 
462  throw (CORBA::SystemException)
463  {
464  RTC_TRACE(("get_context(%d)", ec_id));
465  // owned EC
466  if (ec_id < ECOTHER_OFFSET)
467  {
468  if ((::CORBA::ULong)ec_id < m_ecMine.length())
469  {
470  return ExecutionContext::_duplicate(m_ecMine[ec_id]);
471  }
472  else
473  {
474  return ExecutionContext::_nil();
475  }
476  }
477 
478  // participating EC
479  ::CORBA::ULong index(ec_id - ECOTHER_OFFSET);
480 
481  if (index < m_ecOther.length())
482  {
483  if (! ::CORBA::is_nil(m_ecOther[index]))
484  {
485  return ExecutionContext::_duplicate(m_ecOther[index]);
486  }
487  }
488 
489  return ExecutionContext::_nil();
490  }
491 
500  throw (CORBA::SystemException)
501  {
502  RTC_TRACE(("get_owned_context()"));
503 
504 #ifndef ORB_IS_RTORB
505  ExecutionContextList_var execlist;
506  execlist = new ExecutionContextList();
507 
509 #else // ORB_IS_RTORB
510  ExecutionContextList_var execlist;
511  execlist = new ExecutionContextList();
512 
513  int n = m_ecMine.length();
514  for(int i(0), j(0); i < n ; ++i)
515  {
516  RTC_ExecutionContext ec_mine = m_ecMine.cobj()->_buffer[i];
517 
518  if (ec_mine)
519  {
520  execlist.length(j+1);
521  execlist->cobj()->_buffer[j] = CORBA_Object_dup(ec_mine);
522  ++j;
523  }
524  }
525 #endif // ORB_IS_RTORB
526  return execlist._retn();
527  }
528 
537  throw (CORBA::SystemException)
538  {
539  RTC_TRACE(("get_participating_contexts()"));
540  ExecutionContextList_var execlist;
541  execlist = new ExecutionContextList();
542 
544 
545  return execlist._retn();
546  }
547 
548 
557  RTObject_impl::get_context_handle(ExecutionContext_ptr cxt)
558  throw (CORBA::SystemException)
559  {
560  RTC_TRACE(("get_context_handle()"));
561  CORBA::Long num;
562  num = CORBA_SeqUtil::find(m_ecMine, ec_find(cxt));
563  if (num != -1)
564  {
565  return (ExecutionContextHandle_t)num;
566  }
568  if (num != -1)
569  {
571  }
572  return (ExecutionContextHandle_t)(-1);
573  }
574 
575 
583  UniqueId RTObject_impl::attach_context(ExecutionContext_ptr exec_context)
584  throw (CORBA::SystemException)
585  {
586  RTC_TRACE(("attach_context()"));
587  // ID: 0 - (offset-1) : owned ec
588  // ID: offset - : participating ec
589  // owned ec index = ID
590  // participate ec index = ID - offset
591  ExecutionContextService_var ecs;
592  ecs = ExecutionContextService::_narrow(exec_context);
593  if (CORBA::is_nil(ecs))
594  {
595  return -1;
596  }
597 
598  // if m_ecOther has nil element, insert attached ec to there.
599  for (::CORBA::ULong i(0), len(m_ecOther.length()); i < len; ++i)
600  {
601  if (::CORBA::is_nil(m_ecOther[i]))
602  {
603  m_ecOther[i] = ExecutionContextService::_duplicate(ecs);
606  return ec_id;
607  }
608  }
609 
610  // no space in the list, push back ec to the last.
612  push_back(m_ecOther, ExecutionContextService::_duplicate(ecs));
613 
614  UniqueId ec_id((m_ecOther.length() - 1) + ECOTHER_OFFSET);
616  return ec_id;
617  }
618 
619  UniqueId
620  RTObject_impl::bindContext(ExecutionContext_ptr exec_context)
621  {
622  RTC_TRACE(("bindContext()"));
623  // ID: 0 - (offset-1) : owned ec
624  // ID: offset - : participating ec
625  // owned ec index = ID
626  // participate ec index = ID - offset
627  ExecutionContextService_var ecs;
628  ecs = ExecutionContextService::_narrow(exec_context);
629  if (CORBA::is_nil(ecs))
630  {
631  return -1;
632  }
633 
634  // if m_ecMine has nil element, insert attached ec to there.
635  for (::CORBA::ULong i(0), len(m_ecMine.length()); i < len; ++i)
636  {
637  if (::CORBA::is_nil(m_ecMine[i]))
638  {
639  m_ecMine[i] = ExecutionContextService::_duplicate(ecs);
641  return i;
642  }
643  }
644 
645  // no space in the list, push back ec to the last.
647  push_back(m_ecMine, ExecutionContextService::_duplicate(ecs));
648 
649  UniqueId ec_id(m_ecMine.length() - 1);
650  return ec_id;
651  }
652 
661  throw (CORBA::SystemException)
662  {
663  RTC_TRACE(("detach_context(%d)", ec_id));
664  ::CORBA::ULong len(m_ecOther.length());
665 
666  // ID: 0 - (offset-1) : owned ec
667  // ID: offset - : participating ec
668  // owned ec index = ID
669  // participate ec index = ID - offset
670  if ((CORBA::ULong)ec_id < ECOTHER_OFFSET ||
671  (CORBA::ULong)(ec_id - ECOTHER_OFFSET) > len)
672  {
673  return RTC::BAD_PARAMETER;
674  }
675  ::CORBA::ULong index(ec_id - ECOTHER_OFFSET);
676 
677  if (CORBA::is_nil(m_ecOther[index]))
678  {
679  return RTC::BAD_PARAMETER;
680  }
681 
682  m_ecOther[index] = ::RTC::ExecutionContextService::_nil();
684  return RTC::RTC_OK;
685  }
686 
687  //============================================================
688  // RTC::RTObject
689  //============================================================
690 
699  throw (CORBA::SystemException)
700  {
701  RTC_TRACE(("get_component_profile()"));
702  try
703  {
704  ComponentProfile_var profile
705  = new ComponentProfile();
706 #ifndef ORB_IS_RTORB
707  profile->instance_name =
708  CORBA::string_dup(m_properties["instance_name"].c_str());
709  profile->type_name =
710  CORBA::string_dup(m_properties["type_name"].c_str());
711  profile->description =
712  CORBA::string_dup(m_properties["description"].c_str());
713  profile->version =
714  CORBA::string_dup(m_properties["version"].c_str());
715  profile->vendor =
716  CORBA::string_dup(m_properties["vendor"].c_str());
717  profile->category =
718  CORBA::string_dup(m_properties["category"].c_str());
719  profile->port_profiles = m_portAdmin.getPortProfileList();
720 #else // ORB_IS_RTORB
721  profile->instance_name = (char *)m_properties["instance_name"].c_str();
722  profile->type_name = (char *)m_properties["type_name"].c_str();
723  profile->description = (char *)m_properties["description"].c_str();
724  profile->version = (char *)m_properties["version"].c_str();
725  profile->vendor = (char *)m_properties["vendor"].c_str();
726  profile->category = (char *)m_properties["category"].c_str();
728  profile->port_profiles = ppl._retn();
729 #endif // ORB_IS_RTORB
730  NVUtil::copyFromProperties(profile->properties, m_properties);
731  return profile._retn();
732  }
733  catch (...)
734  {
735  ; // This operation throws no exception.
736  }
737  assert(false);
738  return 0;
739  }
740 
749  throw (CORBA::SystemException)
750  {
751  RTC_TRACE(("get_ports()"));
752  try
753  {
755  }
756  catch (...)
757  {
758  ; // This operation throws no exception.
759  }
760  assert(false);
761  return 0;
762  }
763 
764 
765  //============================================================
766  // RTC::ComponentAction
767  //============================================================
776  throw (CORBA::SystemException)
777  {
778  RTC_TRACE(("on_initialize()"));
780  try
781  {
782  preOnInitialize(0);
783  ret = onInitialize();
784  }
785  catch (...)
786  {
787  ret = RTC::RTC_ERROR;
788  }
789  std::string active_set;
790  active_set = m_properties.getProperty("configuration.active_config",
791  "default");
792  if (m_configsets.haveConfig(active_set.c_str()))
793  {
794  m_configsets.update(active_set.c_str());
795  }
796  else
797  {
798  m_configsets.update("default");
799  }
800  postOnInitialize(0, ret);
801  return ret;
802  }
803 
812  throw (CORBA::SystemException)
813  {
814  RTC_TRACE(("on_finalize()"));
816  try
817  {
818  preOnFinalize(0);
819  ret = onFinalize();
820  }
821  catch (...)
822  {
823  ret = RTC::RTC_ERROR;
824  }
825  postOnFinalize(0, ret);
826  return ret;
827  }
828 
837  throw (CORBA::SystemException)
838  {
839  RTC_TRACE(("on_startup(%d)", ec_id));
841  try
842  {
844  ret = onStartup(ec_id);
845  }
846  catch (...)
847  {
848  ret = RTC::RTC_ERROR;
849  }
850  postOnStartup(ec_id, ret);
851  return ret;
852  }
853 
862  throw (CORBA::SystemException)
863  {
864  RTC_TRACE(("on_shutdown(%d)", ec_id));
866  try
867  {
869  ret = onShutdown(ec_id);
870  }
871  catch (...)
872  {
873  ret = RTC::RTC_ERROR;
874  }
875  postOnShutdown(ec_id, ret);
876  return ret;
877  }
878 
887  throw (CORBA::SystemException)
888  {
889  RTC_TRACE(("on_activated(%d)", ec_id));
891  try
892  {
895  ret = onActivated(ec_id);
897  }
898  catch (...)
899  {
900  ret = RTC::RTC_ERROR;
901  }
902  postOnActivated(ec_id, ret);
903  return ret;
904  }
905 
914  throw (CORBA::SystemException)
915  {
916  RTC_TRACE(("on_deactivated(%d)", ec_id));
918  try
919  {
922  ret = onDeactivated(ec_id);
923  }
924  catch (...)
925  {
926  ret = RTC::RTC_ERROR;
927  }
928  postOnDeactivated(ec_id, ret);
929  return ret;
930  }
931 
940  throw (CORBA::SystemException)
941  {
942  RTC_TRACE(("on_aborting(%d)", ec_id));
944  try
945  {
947  ret = onAborting(ec_id);
948  }
949  catch (...)
950  {
951  ret = RTC::RTC_ERROR;
952  }
953  postOnAborting(ec_id, ret);
954  return ret;
955  }
956 
965  throw (CORBA::SystemException)
966  {
967  RTC_TRACE(("on_error(%d)", ec_id));
969  try
970  {
971  preOnError(ec_id);
972  ret = onError(ec_id);
973  }
974  catch (...)
975  {
976  ret = RTC::RTC_ERROR;
977  }
979  postOnError(ec_id, ret);
980  return ret;
981  }
982 
991  throw (CORBA::SystemException)
992  {
993  RTC_TRACE(("on_reset(%d)", ec_id));
995  try
996  {
997  preOnReset(ec_id);
998  ret = onReset(ec_id);
999  }
1000  catch (...)
1001  {
1002  ret = RTC::RTC_ERROR;
1003  }
1004  postOnReset(ec_id, ret);
1005  return ret;
1006  }
1007 
1017  throw (CORBA::SystemException)
1018  {
1019  RTC_PARANOID(("on_execute(%d)", ec_id));
1021  try
1022  {
1024  if (m_readAll) {readAll(); }
1025  ret = onExecute(ec_id);
1026  if (m_writeAll) { writeAll();}
1027  }
1028  catch (...)
1029  {
1030  ret = RTC::RTC_ERROR;
1031  }
1032  postOnExecute(ec_id, ret);
1033  return ret;
1034  }
1035 
1045  throw (CORBA::SystemException)
1046  {
1047  RTC_PARANOID(("on_state_update(%d)", ec_id));
1049  try
1050  {
1052  ret = onStateUpdate(ec_id);
1053  m_configsets.update();
1054  }
1055  catch (...)
1056  {
1057  ret = RTC::RTC_ERROR;
1058  }
1059  postOnStateUpdate(ec_id, ret);
1060  return ret;
1061  }
1062 
1071  throw (CORBA::SystemException)
1072  {
1073  RTC_TRACE(("on_rate_changed(%d)", ec_id));
1075  try
1076  {
1078  ret = onRateChanged(ec_id);
1079  }
1080  catch (...)
1081  {
1082  ret = RTC::RTC_ERROR;
1083  }
1084  postOnRateChanged(ec_id, ret);
1085  return ret;
1086  }
1087 
1088  //============================================================
1089  // SDO interfaces
1090  //============================================================
1098  SDOPackage::OrganizationList* RTObject_impl::get_owned_organizations()
1099  throw (CORBA::SystemException,
1100  SDOPackage::NotAvailable, SDOPackage::InternalError)
1101  {
1102  RTC_TRACE(("get_owned_organizations()"));
1103  try
1104  {
1105  SDOPackage::OrganizationList_var org_list;
1106  org_list = new SDOPackage::OrganizationList(m_sdoOwnedOrganizations);
1107  return org_list._retn();
1108  }
1109  catch (...)
1110  {
1111  throw SDOPackage::NotAvailable();
1112  }
1113  return new SDOPackage::OrganizationList();
1114  }
1115 
1116  // SDOPackage::SDO
1125  throw (CORBA::SystemException,
1126  SDOPackage::NotAvailable, SDOPackage::InternalError)
1127  {
1128  RTC_TRACE(("get_sdo_id()"));
1129  try
1130  {
1131  CORBA::String_var sdo_id;
1132  sdo_id = CORBA::string_dup(m_profile.instance_name);
1133  return sdo_id._retn();
1134  }
1135  catch (...)
1136  {
1137  throw SDOPackage::InternalError("get_sdo_id()");
1138  }
1139  }
1140 
1149  throw (CORBA::SystemException,
1150  SDOPackage::NotAvailable, SDOPackage::InternalError)
1151  {
1152  RTC_TRACE(("get_sdo_type()"));
1153  CORBA::String_var sdo_type;
1154  try
1155  {
1156  sdo_type = CORBA::string_dup(m_profile.description);
1157  return sdo_type._retn();
1158  }
1159  catch (...)
1160  {
1161  throw SDOPackage::InternalError("get_sdo_type()");
1162  }
1163  sdo_type = "";
1164  return sdo_type._retn();
1165  }
1166 
1174  SDOPackage::DeviceProfile* RTObject_impl::get_device_profile()
1175  throw (CORBA::SystemException,
1176  SDOPackage::NotAvailable, SDOPackage::InternalError)
1177  {
1178  RTC_TRACE(("get_device_profile()"));
1179  try
1180  {
1181  SDOPackage::DeviceProfile_var dprofile;
1182  dprofile =
1183  new SDOPackage::DeviceProfile(m_pSdoConfigImpl->getDeviceProfile());
1184  return dprofile._retn();
1185  }
1186  catch (...)
1187  {
1188  throw SDOPackage::InternalError("get_device_profile()");
1189  }
1190  return new SDOPackage::DeviceProfile();
1191  }
1192 
1193  //------------------------------------------------------------
1194  // SDO service
1195  //------------------------------------------------------------
1203  SDOPackage::ServiceProfileList* RTObject_impl::get_service_profiles()
1204  throw (CORBA::SystemException,
1205  SDOPackage::NotAvailable, SDOPackage::InternalError)
1206  {
1207  RTC_TRACE(("get_service_profiles()"));
1208 
1209  SDOPackage::ServiceProfileList_var sprofiles;
1210  try
1211  {
1213  RTC_DEBUG(("SDO ServiceProfiles[%d]", sprofiles->length()));
1214  }
1215  catch (...)
1216  {
1217  RTC_ERROR(("Unknown exception cought in get_service_profiles()."));
1218  throw SDOPackage::InternalError("get_service_profiles()");
1219  }
1220  return sprofiles._retn();
1221  }
1222 
1230  SDOPackage::ServiceProfile*
1232  throw (CORBA::SystemException,
1233  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1234  SDOPackage::InternalError)
1235  {
1236  if (!id)
1237  {
1238  throw SDOPackage::
1239  InvalidParameter("get_service_profile(): Empty name.");
1240  }
1241  RTC_TRACE(("get_service_profile(%s))", id));
1242 
1243  SDOPackage::ServiceProfile_var prof;
1244  try
1245  {
1247  }
1248  catch (SDOPackage::InvalidParameter &e)
1249  {
1250  RTC_ERROR(("InvalidParameter exception: name (%s) is not found", id));
1251  throw e;
1252  }
1253  catch (...)
1254  {
1255  RTC_ERROR(("Unknown exception cought in get_service_profile(%s).", id));
1256  throw SDOPackage::InternalError("get_service_profile()");
1257  }
1258  return prof._retn();
1259  }
1260 
1268  SDOPackage::SDOService_ptr RTObject_impl::get_sdo_service(const char* id)
1269  throw (CORBA::SystemException,
1270  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1271  SDOPackage::InternalError)
1272  {
1273  RTC_TRACE(("get_sdo_service(%s))", id));
1274  if (!id)
1275  {
1276  throw SDOPackage::InvalidParameter("get_service(): Empty name.");
1277  }
1278 
1279  SDOPackage::SDOService_var sdo;
1280  try
1281  {
1282  sdo = m_sdoservice.getServiceProvider(id);
1283  }
1284  catch (SDOPackage::InvalidParameter &e)
1285  {
1286  throw e;
1287  }
1288  catch (...)
1289  {
1290  throw SDOPackage::InternalError("get_service()");
1291  }
1292  return sdo;
1293  }
1294 
1302  SDOPackage::Configuration_ptr RTObject_impl::get_configuration()
1303  throw (CORBA::SystemException,
1304  SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
1305  SDOPackage::InternalError)
1306  {
1307  RTC_TRACE(("get_configuration()"));
1308  if (m_pSdoConfig == NULL)
1309  throw SDOPackage::InterfaceNotImplemented();
1310  try
1311  {
1312 #ifdef ORB_IS_RTORB
1313  SDOPackage::Configuration_ptr config;
1314  config = m_pSdoConfig;
1315  return config;
1316 #else // ORB_IS_RTORB
1317  SDOPackage::Configuration_var config;
1318  config = m_pSdoConfig;
1319  return config._retn();
1320 #endif // ORB_IS_RTORB
1321  }
1322  catch (...)
1323  {
1324  SDOPackage::InternalError("get_configuration()");
1325  }
1326  return SDOPackage::Configuration::_nil();
1327  }
1328 
1336  SDOPackage::Monitoring_ptr RTObject_impl::get_monitoring()
1337  throw (CORBA::SystemException,
1338  SDOPackage::InterfaceNotImplemented, SDOPackage::NotAvailable,
1339  SDOPackage::InternalError)
1340  {
1341  RTC_TRACE(("get_monitoring()"));
1342  throw SDOPackage::InterfaceNotImplemented();
1343  return SDOPackage::Monitoring::_nil();
1344  }
1345 
1353  SDOPackage::OrganizationList* RTObject_impl::get_organizations()
1354  throw (CORBA::SystemException,
1355  SDOPackage::NotAvailable, SDOPackage::InternalError)
1356  {
1357  RTC_TRACE(("get_organizations()"));
1359  try
1360  {
1361  SDOPackage::OrganizationList_var org;
1362  org = new SDOPackage::OrganizationList(m_sdoOrganizations);
1363  return org._retn();
1364  }
1365  catch (...)
1366  {
1367  throw SDOPackage::InternalError("get_organizations()");
1368  }
1369  return new SDOPackage::OrganizationList(0);
1370  }
1371 
1380  throw (CORBA::SystemException,
1381  SDOPackage::NotAvailable, SDOPackage::InternalError)
1382  {
1383  RTC_TRACE(("get_status_list()"));
1384  try
1385  {
1386  NVList_var status;
1387  status = new NVList(m_sdoStatus);
1388  return status._retn();
1389  }
1390  catch (...)
1391  {
1392  SDOPackage::InternalError("get_status_list()");
1393  }
1394  return new SDOPackage::NVList(0);
1395  }
1396 
1404  CORBA::Any* RTObject_impl::get_status(const char* name)
1405  throw (CORBA::SystemException,
1406  SDOPackage::InvalidParameter, SDOPackage::NotAvailable,
1407  SDOPackage::InternalError)
1408  {
1409  RTC_TRACE(("get_status(%s)", name));
1410  CORBA::Long index;
1411  index = CORBA_SeqUtil::find(m_sdoStatus, nv_name(name));
1412  if (index < 0)
1413  throw SDOPackage::InvalidParameter("get_status(): Not found");
1414  try
1415  {
1416  CORBA::Any_var status;
1417  status = new CORBA::Any(m_sdoStatus[index].value);
1418  return status._retn();
1419  }
1420  catch (...)
1421  {
1422  throw SDOPackage::InternalError("get_status()");
1423  }
1424  return new CORBA::Any();
1425  }
1426 
1427  //============================================================
1428  // Local methods
1429  //============================================================
1437  void RTObject_impl::setInstanceName(const char* instance_name)
1438  {
1439  rtclog.setName(instance_name);
1440  RTC_TRACE(("setInstanceName(%s)", instance_name));
1441 
1442  m_properties["instance_name"] = instance_name;
1443 #ifndef ORB_IS_RTORB
1444  m_profile.instance_name = m_properties["instance_name"].c_str();
1445 #else // ORB_IS_RTORB
1446  m_profile.instance_name = (char *)m_properties["instance_name"].c_str();
1447 #endif // ORB_IS_RTORB
1448  }
1449 
1457  std::vector<std::string> RTObject_impl::getNamingNames()
1458  {
1459  RTC_TRACE(("getNamingNames()"));
1460  return coil::split(m_properties["naming.names"], ",");
1461  }
1462 
1470  void RTObject_impl::setObjRef(const RTObject_ptr rtobj)
1471  {
1472  RTC_TRACE(("setObjRef()"));
1473  m_objref = RTC::RTObject::_duplicate(rtobj);
1474  }
1475 
1483  RTObject_ptr RTObject_impl::getObjRef() const
1484  {
1485  RTC_TRACE(("getObjRef()"));
1486 
1487  return m_objref;
1488  }
1489 
1498  {
1499  RTC_TRACE(("setProperties()"));
1500  m_properties << prop;
1501 #ifndef ORB_IS_RTORB
1502  m_profile.instance_name = m_properties["instance_name"].c_str();
1503  m_profile.type_name = m_properties["type_name"].c_str();
1504  m_profile.description = m_properties["description"].c_str();
1505  m_profile.version = m_properties["version"].c_str();
1506  m_profile.vendor = m_properties["vendor"].c_str();
1507  m_profile.category = m_properties["category"].c_str();
1508 #else // ORB_IS_RTORB
1509  m_profile.instance_name = (char*)m_properties["instance_name"].c_str();
1510  m_profile.type_name = (char*)m_properties["type_name"].c_str();
1511  m_profile.description = (char*)m_properties["description"].c_str();
1512  m_profile.version = (char*)m_properties["version"].c_str();
1513  m_profile.vendor = (char*)m_properties["vendor"].c_str();
1514  m_profile.category = (char*)m_properties["category"].c_str();
1515 #endif //ORB_IS_RTORB
1516  }
1517 
1526  {
1527  RTC_TRACE(("getProperties()"));
1528  return m_properties;
1529  }
1530 
1538  void RTObject_impl::updateParameters(const char* config_set)
1539  {
1540  RTC_TRACE(("updateParameters(%s)", config_set));
1541  m_configsets.update(config_set);
1542  return;
1543  }
1544 
1553  {
1554  RTC_TRACE(("registerPort(PortBase&)"));
1555  if (!addPort(port))
1556  RTC_ERROR(("addPort(PortBase&) failed."));
1557  }
1559  {
1560  RTC_TRACE(("addPort(PortBase&)"));
1561  port.setOwner(this->getObjRef());
1563  onAddPort(port.getPortProfile());
1564  return m_portAdmin.addPort(port);
1565  }
1566 
1567  void RTObject_impl::registerPort(PortService_ptr port)
1568  {
1569  RTC_TRACE(("registerPort(PortBase&)"));
1570  if (!addPort(port))
1571  RTC_ERROR(("addPort(PortBase&) failed."));
1572  }
1573  bool RTObject_impl::addPort(PortService_ptr port)
1574  {
1575  RTC_TRACE(("addPort(PortService_ptr)"));
1576  return m_portAdmin.addPort(port);
1577  }
1578 
1580  {
1581  RTC_TRACE(("registerPort(CorbaPort&)"));
1582  if (!addPort(port))
1583  RTC_ERROR(("addPort(CorbaPort&) failed."));
1584  }
1585 
1587  {
1588  RTC_TRACE(("addPort(CrobaPort)"));
1589  std::string propkey("port.corbaport.");
1590  m_properties.getNode(propkey)
1591  << m_properties.getNode("port.corba");
1592 
1593  port.init(m_properties.getNode(propkey));
1594  return addPort((PortBase&)port);
1595  }
1596 
1604  bool RTObject_impl::addInPort(const char* name,
1605  InPortBase& inport)
1606  {
1607  RTC_TRACE(("addInPort(%s)", name));
1608 
1609  std::string propkey("port.inport.");
1610  propkey += name;
1611  m_properties.getNode(propkey)
1612  << m_properties.getNode("port.inport.dataport");
1613 
1614  bool ret(addPort(inport));
1615 
1616  if (!ret)
1617  {
1618  RTC_ERROR(("addInPort() failed."));
1619  return ret;
1620  }
1621 
1622  inport.init(m_properties.getNode(propkey));
1623  m_inports.push_back(&inport);
1624  return ret;
1625  }
1626 
1627  void RTObject_impl::registerInPort(const char* name,
1628  InPortBase& inport)
1629  {
1630  RTC_TRACE(("registerInPort(%s)", name));
1631 
1632  if (!addInPort(name, inport))
1633  {
1634  RTC_ERROR(("addInPort(%s) failed.", name));
1635  }
1636  }
1637 
1645  bool RTObject_impl::addOutPort(const char* name,
1647  {
1648  RTC_TRACE(("addOutPort(%s)", name));
1649 
1650  std::string propkey("port.outport.");
1651  propkey += name;
1652  m_properties.getNode(propkey)
1653  << m_properties.getNode("port.outport.dataport");
1654 
1655  bool ret(addPort(outport));
1656 
1657  if (!ret)
1658  {
1659  RTC_ERROR(("addOutPort() failed."));
1660  return ret;
1661  }
1662 
1663  outport.init(m_properties.getNode(propkey));
1664  m_outports.push_back(&outport);
1665  return ret;
1666  }
1667 
1668  void RTObject_impl::registerOutPort(const char* name,
1670  {
1671  RTC_TRACE(("registerOutPort(%s)", name));
1672 
1673  if (!addOutPort(name, outport))
1674  {
1675  RTC_ERROR(("addOutPort(%s) failed.", name));
1676  }
1677  }
1678 
1687  {
1688  RTC_TRACE(("removeInPort()"));
1689  bool ret(removePort(inport));
1690 
1691  std::vector<InPortBase*>::iterator it = m_inports.begin();
1692 
1693  if (ret)
1694  {
1695  while (it != m_inports.end())
1696  {
1697  if ( (*it) == &inport )
1698  {
1699  m_inports.erase(it);
1700  return true;
1701  }
1702  ++it;
1703  }
1704  }
1705 
1706  return false;
1707  }
1708 
1717  {
1718  RTC_TRACE(("removeOutPort()"));
1719 
1720  bool ret(removePort(outport));
1721 
1722  if (ret)
1723  {
1724  std::vector<OutPortBase*>::iterator it = m_outports.begin();
1725  while (it != m_outports.end())
1726  {
1727  if ( (*it) == &outport )
1728  {
1729  m_outports.erase(it);
1730  return true;
1731  }
1732  ++it;
1733  }
1734  }
1735 
1736  return false;
1737  }
1738 
1747  {
1748  RTC_TRACE(("removePort(PortBase&)"));
1749  onRemovePort(port.getPortProfile());
1750  return m_portAdmin.removePort(port);
1751  }
1752  bool RTObject_impl::removePort(PortService_ptr port)
1753  {
1754  RTC_TRACE(("removePort(PortService_pt)"));
1755  return m_portAdmin.removePort(port);
1756  }
1758  {
1759  RTC_TRACE(("removePort(PortBase&)"));
1760  onRemovePort(port.getPortProfile());
1761  return m_portAdmin.removePort((PortBase&)port);
1762  }
1763 
1765  {
1766  RTC_TRACE(("deletePort(PortBase&)"));
1767  if (!removePort(port))
1768  RTC_ERROR(("removePort(PortBase&) failed."));
1769  return;
1770  }
1771  void RTObject_impl::deletePort(PortService_ptr port)
1772  {
1773  RTC_TRACE(("deletePort(PortService_pt)"));
1774  if (!removePort(port))
1775  RTC_ERROR(("removePort(PortService_pt) failed."));
1776  return;
1777  }
1779  {
1780  RTC_TRACE(("deletePort(CorbaPort)"));
1781  if (!removePort(port))
1782  RTC_ERROR(("removePort(CorbaPort) failed."));
1783  return;
1784  }
1785 
1793  void RTObject_impl::deletePortByName(const char* port_name)
1794  {
1795  RTC_TRACE(("deletePortByName(%s)", port_name));
1796  m_portAdmin.deletePortByName(port_name);
1797  return;
1798  }
1799 
1807  ExecutionContext_ptr
1809  {
1810  return get_context(ec_id);
1811  }
1812 
1821  {
1822  ExecutionContext_var ec(getExecutionContext(ec_id));
1823  if (CORBA::is_nil(ec))
1824  {
1825  return 0.0;
1826  }
1827  return ec->get_rate();
1828  }
1829 
1837  ReturnCode_t
1839  {
1840  ExecutionContext_var ec(getExecutionContext(ec_id));
1841  if (CORBA::is_nil(ec))
1842  {
1843  return RTC::RTC_ERROR;
1844  }
1845  ec->set_rate(rate);
1846  return RTC::RTC_OK;
1847  }
1848 
1857  {
1858  if (ec_id < ECOTHER_OFFSET)
1859  {
1860  return true;
1861  }
1862  return false;
1863  }
1864 
1873  {
1874  ExecutionContext_var ec(getExecutionContext(ec_id));
1875  if (CORBA::is_nil(ec))
1876  {
1877  return RTC::RTC_ERROR;
1878  }
1879  return ec->deactivate_component(::RTC::RTObject::_duplicate(getObjRef()));
1880  }
1881 
1890  {
1891  ExecutionContext_var ec(getExecutionContext(ec_id));
1892  if (CORBA::is_nil(ec))
1893  {
1894  return RTC::RTC_ERROR;
1895  }
1896  return ec->activate_component(::RTC::RTObject::_duplicate(getObjRef()));
1897  }
1898 
1907  {
1908  ExecutionContext_var ec(getExecutionContext(ec_id));
1909  if (CORBA::is_nil(ec))
1910  {
1911  return RTC::RTC_ERROR;
1912  }
1913  return ec->reset_component(::RTC::RTObject::_duplicate(getObjRef()));
1914  }
1915 
1923  bool RTObject_impl::
1924  addSdoServiceProvider(const SDOPackage::ServiceProfile& prof,
1926  {
1927  return m_sdoservice.addSdoServiceProvider(prof, provider);
1928  }
1929 
1938  {
1940  }
1941 
1949  bool RTObject_impl::
1950  addSdoServiceConsumer(const SDOPackage::ServiceProfile& prof)
1951  {
1952  return m_sdoservice.addSdoServiceConsumer(prof);
1953  }
1954 
1963  {
1965  }
1966 
1977  {
1978  RTC_TRACE(("readAll()"));
1979  std::vector<InPortBase*>::iterator it = m_inports.begin();
1980  std::vector<InPortBase*>::iterator it_end = m_inports.end();
1981  bool ret(true);
1982 
1983  while( it != it_end )
1984  {
1985 
1986  if (!((*it)->read()))
1987  {
1988  RTC_DEBUG(("The error occurred in readAll()."));
1989  ret = false;
1990  if (!m_readAllCompletion)
1991  return false;
1992  }
1993  ++it;
1994  }
1995 
1996  return ret;
1997  }
1998 
2009  {
2010  RTC_TRACE(("writeAll()"));
2011  std::vector<OutPortBase*>::iterator it = m_outports.begin();
2012  std::vector<OutPortBase*>::iterator it_end = m_outports.end();
2013 
2014  bool ret(true);
2015 
2016  while( it != it_end )
2017  {
2018  if (!((*it)->write()))
2019  {
2020  RTC_DEBUG(("The error occurred in writeAll()."));
2021  ret = false;
2022  if (!m_writeAllCompletion)
2023  return false;
2024  }
2025  ++it;
2026  }
2027  return ret;
2028  }
2029 
2054  void RTObject_impl::setReadAll(bool read, bool completion)
2055  {
2056  m_readAll = read;
2057  m_readAllCompletion = completion;
2058  }
2059 
2084  void RTObject_impl::setWriteAll(bool write, bool completion)
2085  {
2086  m_writeAll = write;
2087  m_writeAllCompletion = completion;
2088  }
2089 
2098  {
2099  RTC_TRACE(("finalizePorts()"));
2101  m_inports.clear();
2102  m_outports.clear();
2103  }
2104 
2106  {
2107  RTC_TRACE(("finalizeContexts()"));
2108  for (int i(0), len(m_eclist.size()); i < len; ++i)
2109  {
2110  m_eclist[i]->stop();
2111  try
2112  {
2113  PortableServer::ObjectId_var oid
2114  = m_pPOA->servant_to_id(m_eclist[i]);
2115  m_pPOA->deactivate_object(oid);
2116  }
2117  catch (PortableServer::POA::ServantNotActive &e)
2118  {
2119  RTC_ERROR(("%s", e._name()));
2120  }
2121  catch (PortableServer::POA::WrongPolicy &e)
2122  {
2123  RTC_ERROR(("%s", e._name()));
2124  }
2125  catch (...)
2126  {
2127  // never throws exception
2128  RTC_ERROR(("Unknown exception caught."));
2129  }
2130  delete m_eclist[i];
2131  }
2132  if (!m_eclist.empty())
2133  {
2134  m_eclist.clear();
2135  }
2136  }
2137 
2147  void RTObject_impl::
2149  PreComponentActionListener* listener,
2150  bool autoclean)
2151  {
2153  preaction_[listener_type].addListener(listener, autoclean);
2154  }
2155 
2156 
2166  void RTObject_impl::
2168  PreComponentActionListenerType listener_type,
2169  PreComponentActionListener* listener)
2170  {
2172  preaction_[listener_type].removeListener(listener);
2173  }
2174 
2175 
2185  void RTObject_impl::
2187  PostComponentActionListenerType listener_type,
2188  PostComponentActionListener* listener,
2189  bool autoclean)
2190  {
2192  postaction_[listener_type].addListener(listener, autoclean);
2193  }
2194 
2195 
2205  void RTObject_impl::
2207  PostComponentActionListenerType listener_type,
2208  PostComponentActionListener* listener)
2209  {
2211  postaction_[listener_type].removeListener(listener);
2212  }
2213 
2223  void RTObject_impl::
2225  PortActionListener* listener,
2226  bool autoclean)
2227  {
2229  portaction_[listener_type].addListener(listener, autoclean);
2230  }
2231 
2232 
2242  void RTObject_impl::
2244  PortActionListener* listener)
2245  {
2247  portaction_[listener_type].removeListener(listener);
2248  }
2249 
2250 
2260  void RTObject_impl::
2262  ECActionListener* listener,
2263  bool autoclean)
2264  {
2266  ecaction_[listener_type].addListener(listener, autoclean);
2267  }
2268 
2269 
2279  void RTObject_impl::
2281  ECActionListener* listener)
2282  {
2284  ecaction_[listener_type].removeListener(listener);
2285  }
2286 
2294  void RTObject_impl::
2296  PortConnectListener* listener,
2297  bool autoclean)
2298  {
2300  portconnect_[listener_type].addListener(listener, autoclean);
2301  }
2302 
2310  void RTObject_impl::
2312  PortConnectListener* listener)
2313  {
2315  portconnect_[listener_type].removeListener(listener);
2316  }
2317 
2325  void RTObject_impl::
2327  PortConnectRetListener* listener,
2328  bool autoclean)
2329  {
2331  portconnret_[listener_type].addListener(listener, autoclean);
2332  }
2333 
2341  void RTObject_impl::
2343  PortConnectRetListener* listener)
2344  {
2346  portconnret_[listener_type].removeListener(listener);
2347  }
2348 
2356  void RTObject_impl::
2358  ConfigurationParamListener* listener,
2359  bool autoclean)
2360  {
2361  m_configsets.addConfigurationParamListener(type, listener, autoclean);
2362  }
2363 
2371  void RTObject_impl::
2373  ConfigurationParamListener* listener)
2374  {
2376  }
2377 
2385  void RTObject_impl::
2387  ConfigurationSetListener* listener,
2388  bool autoclean)
2389  {
2390  m_configsets.addConfigurationSetListener(type, listener, autoclean);
2391  }
2392 
2400  void RTObject_impl::
2402  ConfigurationSetListener* listener)
2403  {
2405  }
2406 
2414  void RTObject_impl::
2416  ConfigurationSetNameListener* listener,
2417  bool autoclean)
2418  {
2419  m_configsets.addConfigurationSetNameListener(type, listener, autoclean);
2420  }
2421 
2429  void RTObject_impl::
2431  ConfigurationSetNameListener* listener)
2432  {
2434  }
2435 
2436 
2445  {
2446  RTC_TRACE(("shutdown()"));
2447  try
2448  {
2449  finalizePorts();
2450  finalizeContexts();
2451  PortableServer::ObjectId_var oid1;
2452  oid1 = m_pPOA->servant_to_id(m_pSdoConfigImpl);
2453  PortableServer::ObjectId_var oid2;
2454  oid2 = m_pPOA->servant_to_id(this);
2455  m_pPOA->deactivate_object(oid1);
2456  m_pPOA->deactivate_object(oid2);
2457  }
2458  catch (PortableServer::POA::ServantNotActive &e)
2459  {
2460  RTC_ERROR(("%s", e._name()));
2461  }
2462  catch (PortableServer::POA::WrongPolicy &e)
2463  {
2464  RTC_ERROR(("%s", e._name()));
2465  }
2466  catch (...)
2467  {
2468  // never throws exception
2469  RTC_ERROR(("Unknown exception caught."));
2470  }
2471 
2472  if (m_pManager != NULL)
2473  {
2474  RTC_DEBUG(("Cleanup on Manager"));
2475  m_pManager->notifyFinalized(this);
2476  }
2477  }
2478 
2479 
2480 
2481 }
ComponentProfile m_profile
ComponentProfile.
Definition: RTObject.h:4588
virtual ReturnCode_t onRateChanged(RTC::UniqueId exec_handle)
Callback function to change execution cycle.
Definition: RTObject.cpp:294
PortAdmin m_portAdmin
List of Port Object reference.
Definition: RTObject.h:4606
PortConnectListenerType
The types of ConnectorDataListener.
Logger rtclog
Logger stream.
Definition: RTObject.h:4485
virtual ReturnCode_t on_shutdown(UniqueId exec_handle)
[ComponentAction CORBA interface] Shutdown RTC
Definition: RTObject.cpp:861
void onAddPort(const PortProfile &pprof)
Definition: RTObject.h:4457
void postOnStateUpdate(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4447
#define RTC_ERROR(fmt)
Error log output macro.
Definition: SystemLogger.h:422
void removeConfigurationSetNameListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener)
Removing ConfigurationSetNameListener.
void postOnReset(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4437
void preOnAborting(UniqueId ec_id)
Definition: RTObject.h:4367
virtual SDOPackage::ServiceProfileList * get_service_profiles()
[SDO interface] Get SDO ServiceProfile
Definition: RTObject.cpp:1203
void finalizeContexts()
The ExecutionContextBase list is deleted.
Definition: RTObject.cpp:2105
std::vector< InPortBase * > m_inports
List of InPortBase*.
Definition: RTObject.h:4615
virtual ComponentProfile * get_component_profile()
[RTObject CORBA interface] Get RTC&#39;s profile
Definition: RTObject.cpp:698
void onRemovePort(const PortProfile &pprof)
Definition: RTObject.h:4462
EXECUTION_HANDLE_TYPE_NATIVE ExecutionContextHandle_t
Definition: IRTC.h:63
virtual ExecutionContextHandle_t get_context_handle(ExecutionContext_ptr cxt)
[CORBA interface] Return a handle of a ExecutionContext
Definition: RTObject.cpp:557
PortConnectRetListener class.
virtual char * get_sdo_id()
[SDO interface] Get the SDO ID
Definition: RTObject.cpp:1124
RT-Component.
PostComponentActionListenerType
The types of ConnectorDataListener.
virtual ReturnCode_t onExecute(RTC::UniqueId exec_handle)
Callback function to execute periodically.
Definition: RTObject.cpp:219
virtual SDOPackage::Monitoring_ptr get_monitoring()
[SDO interface] Get Monitoring object
Definition: RTObject.cpp:1336
ExecutionContextServiceList m_ecOther
List of participating ExecutionContextService.
Definition: RTObject.h:4651
virtual ReturnCode_t onStateUpdate(RTC::UniqueId exec_handle)
Callback function to update the state.
Definition: RTObject.cpp:279
void finalizePorts()
Deactivate all Ports and unregister them.
Definition: PortAdmin.cpp:368
virtual ReturnCode_t initialize()
[CORBA interface] Initialize the RTC that realizes this interface.
Definition: RTObject.cpp:310
void addConfigurationSetNameListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener, bool autoclean=true)
Adding ConfigurationSetNameListener.
void clear(CorbaSequence &seq)
Erase all the elements of the CORBA sequence.
bool m_readAllCompletion
flag for readAll()
Definition: RTObject.h:4741
SDOPackage::Configuration_impl * m_pSdoConfigImpl
The pointer to the SDO Configuration Object.
Definition: RTObject.h:4549
virtual ReturnCode_t on_activated(UniqueId exec_handle)
[ComponentAction CORBA interface] Activate RTC
Definition: RTObject.cpp:886
void preOnShutdown(UniqueId ec_id)
Definition: RTObject.h:4352
virtual ReturnCode_t on_startup(UniqueId exec_handle)
[ComponentAction CORBA interface] Startup RTC
Definition: RTObject.cpp:836
UniqueId bindContext(ExecutionContext_ptr exec_context)
Definition: RTObject.cpp:620
ReturnCode_t detach_context(UniqueId exec_handle)
[CORBA interface] Detach ExecutionContext.
Definition: RTObject.cpp:660
void updateParameters(const char *config_set)
Update configuration parameters (by ID)
Definition: RTObject.cpp:1538
virtual SDOPackage::OrganizationList * get_owned_organizations()
[SDO interface] Get Organization list
Definition: RTObject.cpp:1098
SDOPackage::OrganizationList m_sdoOrganizations
SDO organization.
Definition: RTObject.h:4567
void onAttachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4467
ReturnCode_t
Definition: doil.h:53
void addPortConnectRetListener(PortConnectRetListenerType listener_type, PortConnectRetListener *listener, bool autoclean=true)
Adding PortConnectRet type listener.
Definition: RTObject.cpp:2326
void removeConfigurationSetListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener)
Removing ConfigurationSetListener.
Definition: RTObject.cpp:2401
std::vector< std::pair< std::string, std::string > > NVList
Definition: IRTC.h:67
void addConfigurationSetListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener, bool autoclean=true)
Adding ConfigurationSetListener.
Definition: RTObject.cpp:2386
bool isOwnExecutionContext(RTC::UniqueId ec_id)
[local interface] Checking if the current context is own context
Definition: RTObject.cpp:1856
CORBA::ORB_var m_pORB
The pointer to the ORB.
Definition: RTObject.h:4502
PortActionListenerType
The types of PortActionListener.
void postOnExecute(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4442
void removeConfigurationParamListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener)
Removing ConfigurationParamListener.
Definition: RTObject.cpp:2372
void removePortConnectRetListener(PortConnectRetListenerType listener_type, PortConnectRetListener *listener)
Removing PortConnectRet type listener.
Definition: RTObject.cpp:2342
void removePortConnectListener(PortConnectListenerType listener_type, PortConnectListener *listener)
Removing PortConnect type listener.
Definition: RTObject.cpp:2311
A base class for ExecutionContext.
bool removeInPort(InPortBase &port)
[local interface] Unregister InPort
Definition: RTObject.cpp:1686
ReturnCode_t reset(RTC::UniqueId ec_id)
[local interface] Resetting and go to Inactive state
Definition: RTObject.cpp:1906
RTC::ReturnCode_t ret(RTC::Local::ReturnCode_t r)
PortServiceList * getPortServiceList() const
Get PortServiceList.
Definition: PortAdmin.cpp:108
void init(coil::Properties &prop)
Initializing properties.
Definition: CorbaPort.cpp:60
bool m_exiting
RTC Finalize Status Flag.
Definition: RTObject.h:4669
std::vector< std::string > getNamingNames()
[local interface] Get Naming Server information
Definition: RTObject.cpp:1457
bool addSdoServiceProvider(const SDOPackage::ServiceProfile &prof, SdoServiceProviderBase *provider)
[local interface] Set a SDO service provider
Definition: RTObject.cpp:1924
SDOPackage::Configuration_var m_pSdoConfig
The pointer to the SDO Configuration Interface.
Definition: RTObject.h:4558
virtual ~RTObject_impl(void)
Virtual destructor.
Definition: RTObject.cpp:111
ConfigurationSetListener class.
ConfigurationSetNameListener class.
ComponentActionListeners m_actionListeners
ComponentActionListener holder.
Definition: RTObject.h:4774
void setOwner(RTObject_ptr owner)
Set the owner RTObject of the Port.
Definition: PortBase.cpp:559
vstring split(const std::string &input, const std::string &delimiter, bool ignore_empty)
Split string by delimiter.
Definition: stringutil.cpp:341
ConfigurationParamListener class.
void registerPort(PortBase &port)
[local interface] Register Port
Definition: RTObject.cpp:1552
Manager class.
Definition: Manager.h:80
virtual ExecutionContextList * get_participating_contexts()
[CORBA interface] Get participating ExecutionContextList.
Definition: RTObject.cpp:536
ConfigurationSetNameListenerType
The types of ConfigurationSetNameListener.
void addExecutionContextActionListener(ECActionListenerType listener_type, ECActionListener *listener, bool autoclean=true)
Adding ExecutionContextAction type listener.
Definition: RTObject.cpp:2261
PreComponentActionListenerType
The types of ConnectorDataListener.
void postOnShutdown(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4412
bool removeSdoServiceProvider(const char *id)
Remove a SDO service provider.
virtual PortServiceList * get_ports()
[RTObject CORBA interface] Get Ports
Definition: RTObject.cpp:748
bool removePort(PortBase &port)
[local interface] Unregister Port
Definition: RTObject.cpp:1746
double getExecutionRate(RTC::UniqueId ec_id)
[local interface] Getting current context&#39; execution rate
Definition: RTObject.cpp:1820
SDOPackage::SDOService_ptr getServiceProvider(const char *id)
Get ServiceProfile of an SDO Service.
void addConfigurationSetListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener, bool autoclean=true)
Adding ConfigurationSetListener.
void setName(const char *name)
Set suffix of date/time string of header.
void postOnError(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4432
bool m_readAll
flag for readAll()
Definition: RTObject.h:4714
static const char * default_conf[]
RT-Component default profile.
Definition: RTObject.cpp:37
ReturnCode_t activate(RTC::UniqueId ec_id)
[local interface] Make transition to Active state
Definition: RTObject.cpp:1889
void removeConfigurationSetListener(ConfigurationSetListenerType type, ConfigurationSetListener *listener)
Removing ConfigurationSetListener.
Manager * m_pManager
Manager object.
Definition: RTObject.h:4493
coil::Properties & getProperties()
[local interface] Get RTC property
Definition: RTObject.cpp:1525
virtual SDOPackage::Configuration_ptr get_configuration()
[SDO interface] Get Configuration object
Definition: RTObject.cpp:1302
static Manager & instance()
Get instance of the manager.
Definition: Manager.cpp:140
UniqueId attach_context(ExecutionContext_ptr exec_context)
[CORBA interface] Attach ExecutionContext
Definition: RTObject.cpp:583
virtual ReturnCode_t on_reset(UniqueId exec_handle)
[ComponentAction CORBA interface] Resetting RTC
Definition: RTObject.cpp:990
SdoServiceAdmin m_sdoservice
SDO Service Administrator Object.
Definition: RTObject.h:4705
void addConfigurationSetNameListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener, bool autoclean=true)
Adding ConfigurationSetNameListener.
Definition: RTObject.cpp:2415
bool m_created
Created Status Flag.
Definition: RTObject.h:4660
SDOPackage::NVList m_sdoStatus
SDO Status.
Definition: RTObject.h:4576
string outport
Definition: README_gen.py:115
void preOnRateChanged(UniqueId ec_id)
Definition: RTObject.h:4392
PreComponentActionListener class.
PortableServer::POA_var m_pPOA
The pointer to the POA.
Definition: RTObject.h:4511
bool addOutPort(const char *name, OutPortBase &outport)
[local interface] Register DataOutPort
Definition: RTObject.cpp:1645
virtual ReturnCode_t on_finalize()
[ComponentAction CORBA interface] Finalize RTC
Definition: RTObject.cpp:811
virtual ReturnCode_t onDeactivated(RTC::UniqueId exec_handle)
Callback function to deactivate.
Definition: RTObject.cpp:204
SDO Package.
void activatePorts()
Activate all Port interfaces.
Definition: PortAdmin.cpp:334
void postOnAborting(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4427
RTComponent manager class.
virtual ReturnCode_t finalize()
[CORBA interface] Finalize the RTC for destruction
Definition: RTObject.cpp:357
#define RTC_PARANOID(fmt)
Paranoid level log output macro.
Definition: SystemLogger.h:555
Functor to copy ExecutionContext.
Definition: RTObject.h:4818
PortConnectListener class.
std::vector< ExecutionContext * > ExecutionContextList
Definition: IRTC.h:69
ReturnCode_t setExecutionRate(RTC::UniqueId ec_id, double rate)
[local interface] Setting current context&#39; execution rate
Definition: RTObject.cpp:1838
void preOnError(UniqueId ec_id)
Definition: RTObject.h:4372
SDOPackage::OrganizationList m_sdoOwnedOrganizations
SDO owned organization list.
Definition: RTObject.h:4523
string inport
Definition: README_gen.py:90
void setObjRef(const RTObject_ptr rtobj)
[local interface] Set the object reference
Definition: RTObject.cpp:1470
bool removeOutPort(OutPortBase &port)
[local interface] Unregister OutPort
Definition: RTObject.cpp:1716
void update(void)
Update the values of configuration parameters (Active configuration set)
Definition: ConfigAdmin.cpp:64
void onDetachExecutionContext(UniqueId ec_id)
Definition: RTObject.h:4472
ExecutionContextHandle_t UniqueId
void notifyFinalized(RTObject_impl *comp)
This method deletes RT-Components.
Definition: Manager.cpp:1543
#define RTC_DEBUG(fmt)
Debug level log output macro.
Definition: SystemLogger.h:488
virtual ReturnCode_t on_deactivated(UniqueId exec_handle)
[ComponentAction CORBA interface] Deactivate RTC
Definition: RTObject.cpp:913
void setPortConnectListenerHolder(PortConnectListeners *portconnListeners)
Setting PortConnectListener holder.
Definition: PortBase.cpp:610
void addPortConnectListener(PortConnectListenerType listener_type, PortConnectListener *listener, bool autoclean=true)
Adding PortConnect type listener.
Definition: RTObject.cpp:2295
Functor to find NVList.
Definition: RTObject.h:4801
bool removeSdoServiceProvider(const char *id)
[local interface] Remove a SDO service provider
Definition: RTObject.cpp:1937
#define RTC_TRACE(fmt)
std::vector< ExecutionContextBase * > m_eclist
List of ExecutionContextBase.
Definition: RTObject.h:4642
RTObject_impl(Manager *manager)
Constructor.
Definition: RTObject.cpp:60
def j(str, encoding="cp932")
Definition: RunAtFirst.py:198
CORBA::Long find(const CorbaSequence &seq, Functor f)
Return the index of CORBA sequence element that functor matches.
list index
Definition: rtimages.py:10
const OrganizationList getOrganizations()
Get a list of Organization of SDO.
void addConfigurationParamListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener, bool autoclean=true)
Adding ConfigurationParamListener.
PortProfileList getPortProfileList() const
Get PorProfileList.
Definition: PortAdmin.cpp:122
virtual ExecutionContext_ptr get_context(UniqueId exec_handle)
[CORBA interface] Get ExecutionContext.
Definition: RTObject.cpp:461
bool removeSdoServiceConsumer(const char *id)
[local interface] Remove a SDO service provider
Definition: RTObject.cpp:1962
ExecutionContextServiceList m_ecMine
List of owned ExecutionContextService.
Definition: RTObject.h:4633
CORBA sequence utility template functions.
bool m_writeAllCompletion
flag for writeAll()
Definition: RTObject.h:4759
ExecutionContextBase * createContext(const char *ec_args)
Create Context.
Definition: Manager.cpp:719
void removePortActionListener(PortActionListenerType listener_type, PortActionListener *listener)
Removing PortAction type listener.
Definition: RTObject.cpp:2243
void addConfigurationParamListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener, bool autoclean=true)
Adding ConfigurationParamListener.
Definition: RTObject.cpp:2357
void init(coil::Properties &prop)
Initializing properties.
ConfigAdmin m_configsets
Configuration Administrator Object.
Definition: RTObject.h:4696
void preOnReset(UniqueId ec_id)
Definition: RTObject.h:4377
Functor to deactivate RTC.
Definition: RTObject.h:4876
virtual ReturnCode_t onAborting(RTC::UniqueId exec_handle)
Callback function to abort.
Definition: RTObject.cpp:234
virtual ReturnCode_t exit()
[CORBA interface]top the RTC&#39;s execution context(s) and finalize it along with its contents...
Definition: RTObject.cpp:394
#define ECOTHER_OFFSET
Definition: RTObject.h:38
bool addSdoServiceProvider(const SDOPackage::ServiceProfile &prof, SdoServiceProviderBase *provider)
Set a SDO service provider.
virtual SDOPackage::NVList * get_status_list()
[SDO interface] Get SDO Status list
Definition: RTObject.cpp:1379
void deletePort(PortBase &port)
[local interface] Unregister Port
Definition: RTObject.cpp:1764
void removePostComponentActionListener(PostComponentActionListenerType listener_type, PostComponentActionListener *listener)
Removing PostComponentAction type listener.
Definition: RTObject.cpp:2206
virtual SDOPackage::DeviceProfile * get_device_profile()
[SDO interface] Get SDO DeviceProfile list
Definition: RTObject.cpp:1174
virtual ReturnCode_t onReset(RTC::UniqueId exec_handle)
Callback function to reset.
Definition: RTObject.cpp:264
void removeConfigurationSetNameListener(ConfigurationSetNameListenerType type, ConfigurationSetNameListener *listener)
Removing ConfigurationSetNameListener.
Definition: RTObject.cpp:2430
prop
Organization::get_organization_property ();.
void postOnFinalize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4402
PortConnectRetListenerType
The types of PortConnectRetListenerType.
void deactivatePorts()
Deactivate all Port interfaces.
Definition: PortAdmin.cpp:351
virtual ExecutionContextList * get_owned_contexts()
[CORBA interface] Get ExecutionContextList.
Definition: RTObject.cpp:499
void removePreComponentActionListener(PreComponentActionListenerType listener_type, PreComponentActionListener *listener)
Removing PreComponentAction type listener.
Definition: RTObject.cpp:2167
bool removePort(PortBase &port)
Unregister the Port registration.
Definition: PortAdmin.cpp:262
void removeExecutionContextActionListener(ECActionListenerType listener_type, ECActionListener *listener)
Removing ExecutionContextAction type listener.
Definition: RTObject.cpp:2280
void preOnStateUpdate(UniqueId ec_id)
Definition: RTObject.h:4387
Class represents a set of properties.
Definition: Properties.h:101
void postOnActivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4417
void shutdown()
Shutdown RTC.
Definition: RTObject.cpp:2444
void postOnInitialize(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4397
ExecutionContext_ptr getExecutionContext(RTC::UniqueId ec_id)
[local interface] Getting current execution context
Definition: RTObject.cpp:1808
std::vector< IPortService * > PortServiceList
Definition: IPortService.h:39
void registerInPort(const char *name, InPortBase &inport)
[local interface] Register DataInPort
Definition: RTObject.cpp:1627
virtual ReturnCode_t onError(RTC::UniqueId exec_handle)
Callback function for error handling.
Definition: RTObject.cpp:249
virtual ReturnCode_t on_error(UniqueId exec_handle)
[ComponentAction CORBA interface] Error Processing of RTC
Definition: RTObject.cpp:964
void setWriteAll(bool write=true, bool completion=false)
Set whether to execute the writeAll() method.
Definition: RTObject.cpp:2084
void deletePortByName(const char *port_name)
Unregister the Port&#39;s registration by its name.
Definition: PortAdmin.cpp:320
void preOnStartup(UniqueId ec_id)
Definition: RTObject.h:4347
bool addSdoServiceConsumer(const SDOPackage::ServiceProfile &sProfile)
Add Service Consumer.
SDOPackage::ServiceProfile * getServiceProviderProfile(const char *id)
Get ServiceProfile of an SDO Service Provider.
virtual ReturnCode_t on_initialize()
[RTObject CORBA interface] Get ExecutionContextAdmin
Definition: RTObject.cpp:775
void deletePortByName(const char *port_name)
[local interface] Delete Port by specifying its name
Definition: RTObject.cpp:1793
bool addPort(PortBase &port)
[local interface] Register Port
Definition: RTObject.cpp:1558
virtual ReturnCode_t onShutdown(RTC::UniqueId exec_handle)
Callback function for shutdown action.
Definition: RTObject.cpp:174
bool addPort(PortBase &port)
Regsiter the Port.
Definition: PortAdmin.cpp:191
virtual ReturnCode_t onActivated(RTC::UniqueId exec_handle)
Callback function to activate.
Definition: RTObject.cpp:189
virtual ReturnCode_t onInitialize()
Callback function to initialize.
Definition: RTObject.cpp:129
bool writeAll()
The write() method of all OutPort is called.
Definition: RTObject.cpp:2008
void push_back(CorbaSequence &seq, SequenceElement elem)
Push the new element back to the CORBA sequence.
virtual SDOPackage::SDOService_ptr get_sdo_service(const char *id)
[SDO interface] Get specified SDO Service&#39;s reference
Definition: RTObject.cpp:1268
void setInstanceName(const char *instance_name)
[local interface] Set instance name
Definition: RTObject.cpp:1437
void setReadAll(bool read=true, bool completion=false)
Set whether to execute the readAll() method.
Definition: RTObject.cpp:2054
PortConnectListeners m_portconnListeners
PortConnectListener holder.
Definition: RTObject.h:4789
Configuration implementation class.
void copyFromProperties(SDOPackage::NVList &nv, const coil::Properties &prop)
Copy the properties to NVList.
Definition: NVUtil.cpp:108
SDOPackage::ServiceProfileList * getServiceProviderProfiles()
Get ServiceProfileList of SDO Service Provider.
virtual ReturnCode_t on_aborting(UniqueId exec_handle)
[ComponentAction CORBA interface] Transition to Error State
Definition: RTObject.cpp:939
Properties & getNode(const std::string &key)
Get node of properties.
Definition: Properties.cpp:455
virtual SDOPackage::OrganizationList * get_organizations()
[SDO interface] Get Organization list
Definition: RTObject.cpp:1353
void finalizePorts()
Unregister All Ports.
Definition: RTObject.cpp:2097
void init(coil::Properties &prop)
Initializing properties.
Definition: InPortBase.cpp:96
void preOnActivated(UniqueId ec_id)
Definition: RTObject.h:4357
void postOnStartup(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4407
virtual ReturnCode_t on_state_update(UniqueId exec_handle)
[DataFlowComponentAction CORBA interface] Secondary Periodic Operation of RTC
Definition: RTObject.cpp:1044
virtual CORBA::Boolean is_alive(ExecutionContext_ptr exec_context)
[CORBA interface] Confirm whether RTC is the alive state
Definition: RTObject.cpp:433
coil::Properties m_properties
Alive Status Flag.
Definition: RTObject.h:4687
virtual RTC::ExecutionContextService_ptr getObjRef()=0
Get the reference of the object.
ExecutionContextActionListenerType
The types of ExecutionContextActionListener.
virtual ReturnCode_t onStartup(RTC::UniqueId exec_handle)
Callback function for startup action.
Definition: RTObject.cpp:159
void preOnInitialize(UniqueId ec_id)
Definition: RTObject.h:4337
bool addInPort(const char *name, InPortBase &inport)
[local interface] Register DataInPort
Definition: RTObject.cpp:1604
bool m_writeAll
flag for writeAll()
Definition: RTObject.h:4723
ConfigurationSetListenerType
The types of ConfigurationSetListener.
virtual ReturnCode_t on_execute(UniqueId exec_handle)
[DataFlowComponentAction CORBA interface] Primary Periodic Operation of RTC
Definition: RTObject.cpp:1016
RTObject_var m_objref
Object reference.
Definition: RTObject.h:4597
void addPreComponentActionListener(PreComponentActionListenerType listener_type, PreComponentActionListener *listener, bool autoclean=true)
Adding PreComponentAction type listener.
Definition: RTObject.cpp:2148
virtual char * get_sdo_type()
[SDO interface] Get SDO type
Definition: RTObject.cpp:1148
void removeConfigurationParamListener(ConfigurationParamListenerType type, ConfigurationParamListener *listener)
Removing ConfigurationParamListener.
Configuration_ptr getObjRef()
Get object reference.
void registerOutPort(const char *name, OutPortBase &outport)
[local interface] Register DataOutPort
Definition: RTObject.cpp:1668
PortActionListener class.
bool haveConfig(const char *config_id)
Check the existence of configuration set.
Definition: ConfigAdmin.h:822
bool addSdoServiceConsumer(const SDOPackage::ServiceProfile &prof)
[local interface] Set a SDO service provider
Definition: RTObject.cpp:1950
void addPostComponentActionListener(PostComponentActionListenerType listener_type, PostComponentActionListener *listener, bool autoclean=true)
Adding PostComponentAction type listener.
Definition: RTObject.cpp:2186
virtual RTC::ReturnCode_t bindComponent(RTObject_impl *rtc)=0
Bind the component.
std::vector< PortProfile * > PortProfileList
Definition: IPortService.h:63
bool readAll()
Readout the value from All InPorts.
Definition: RTObject.cpp:1976
std::vector< OutPortBase * > m_outports
List of OutPortBase*.
Definition: RTObject.h:4624
Functor to find ExecutionContext.
Definition: RTObject.h:4841
void setProperties(const coil::Properties &prop)
[local interface] Set RTC property
Definition: RTObject.cpp:1497
virtual CORBA::Any * get_status(const char *name)
[SDO interface] Get SDO Status
Definition: RTObject.cpp:1404
Functor for_each(CorbaSequence &seq, Functor f)
Apply the functor to all CORBA sequence elements.
Definition: CORBA_SeqUtil.h:98
PostComponentActionListener class.
const DeviceProfile getDeviceProfile()
Get the DeviceProfile of SDO.
RTObject_ptr getObjRef() const
[local interface] Get the object reference
Definition: RTObject.cpp:1483
RT component base class.
bool removeSdoServiceConsumer(const char *id)
Remove Service Consumer.
virtual SDOPackage::ServiceProfile * get_service_profile(const char *id)
[SDO interface] Get specified ServiceProfile
Definition: RTObject.cpp:1231
void postOnDeactivated(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4422
const std::string & getProperty(const std::string &key) const
Search for the property with the specified key in this property.
Definition: Properties.cpp:156
void preOnFinalize(UniqueId ec_id)
Definition: RTObject.h:4342
ConfigurationParamListenerType
The types of ConnectorDataListener.
const PortProfile & getPortProfile() const
Get the PortProfile of the Port.
Definition: PortBase.cpp:119
ExecutionContextActionListener class.
virtual ReturnCode_t on_rate_changed(UniqueId exec_handle)
[DataFlowComponentAction CORBA interface] Notify rate changed
Definition: RTObject.cpp:1070
void postOnRateChanged(UniqueId ec_id, ReturnCode_t ret)
Definition: RTObject.h:4452
ReturnCode_t deactivate(RTC::UniqueId ec_id)
[local interface] Make transition to Inactive state
Definition: RTObject.cpp:1872
virtual ReturnCode_t onFinalize()
Callback function to finalize.
Definition: RTObject.cpp:144
void preOnDeactivated(UniqueId ec_id)
Definition: RTObject.h:4362
void preOnExecute(UniqueId ec_id)
Definition: RTObject.h:4382
void addPortActionListener(PortActionListenerType listener_type, PortActionListener *listener, bool autoclean=true)
Adding PortAction type listener.
Definition: RTObject.cpp:2224


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Jun 10 2019 14:07:55