@@ -148,20 +148,22 @@ def init(self, prop):
148148
149149 self ._properties = prop
150150
151- qosxml = prop .getProperty ("opensplice.QOSXML" )
152- qosprofile = prop .getProperty ("opensplice.QOSPrfile" )
153- self ._topicmgr = OpenSpliceTopicManager .instance (qosxml , qosprofile )
151+ self ._topicmgr = OpenSpliceTopicManager .instance ()
154152
155- self ._dataType = prop .getProperty ("data_type" , self ._dataType )
153+ self ._dataType = prop .getProperty ("dataport. data_type" , self ._dataType )
156154
157155 self ._topic = prop .getProperty ("opensplice.topic" , "chatter" )
158156
159- topic = self ._topicmgr .createTopic (self ._dataType , self ._topic )
157+ topic = self ._topicmgr .createTopic (self ._dataType , self ._topic , prop )
160158
161159 self ._rtcout .RTC_VERBOSE ("data type: %s" , self ._dataType )
162160 self ._rtcout .RTC_VERBOSE ("topic name: %s" , self ._topic )
163161
164- self ._reader = self ._topicmgr .createReader (topic , SubListener (self ))
162+ self ._reader = self ._topicmgr .createReader (
163+ topic , SubListener (self ), prop .getNode ("opensplice" ))
164+
165+ if self ._reader is None :
166+ raise MemoryError ("Reader creation failed" )
165167
166168 # virtual void setBuffer(BufferBase<cdrMemoryStream>* buffer);
167169
@@ -376,6 +378,172 @@ def on_data_available(self, entity):
376378 self ._sub .put (sd )
377379
378380
381+ opensplice_sub_option = [
382+ "topic.__value__" , "chatter" ,
383+ "topic.__widget__" , "text" ,
384+ "topic.__constraint__" , "none" ,
385+ "reader_qos.durability.kind.__value__" , "TRANSIENT_DURABILITY_QOS" ,
386+ "reader_qos.durability.kind.__widget__" , "radio" ,
387+ "reader_qos.durability.kind.__constraint__" , "(VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS)" ,
388+ "reader_qos.deadline.period.sec.__value__" , "2147483647" ,
389+ "reader_qos.deadline.period.sec.__widget__" , "spin" ,
390+ "reader_qos.deadline.period.sec.__constraint__" , "0 <= x <= 2147483647" ,
391+ "reader_qos.deadline.period.nanosec.__value__" , "2147483647" ,
392+ "reader_qos.deadline.period.nanosec.__widget__" , "text" ,
393+ "reader_qos.deadline.period.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
394+ "reader_qos.latency_budget.duration.sec.__value__" , "0" ,
395+ "reader_qos.latency_budget.duration.sec.__widget__" , "spin" ,
396+ "reader_qos.latency_budget.duration.sec.__constraint__" , "0 <= x <= 2147483647" ,
397+ "reader_qos.latency_budget.duration.nanosec.__value__" , "0" ,
398+ "reader_qos.latency_budget.duration.nanosec.__widget__" , "spin" ,
399+ "reader_qos.latency_budget.duration.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
400+ "reader_qos.liveliness.kind.__value__" , "AUTOMATIC_LIVELINESS_QOS" ,
401+ "reader_qos.liveliness.kind.__widget__" , "radio" ,
402+ "reader_qos.liveliness.kind.__constraint__" , "(AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS)" ,
403+ "reader_qos.liveliness.lease_duration.sec.__value__" , "2147483647" ,
404+ "reader_qos.liveliness.lease_duration.sec.__widget__" , "spin" ,
405+ "reader_qos.liveliness.lease_duration.sec.__constraint__" , "0 <= x <= 2147483647" ,
406+ "reader_qos.liveliness.lease_duration.nanosec.__value__" , "2147483647" ,
407+ "reader_qos.liveliness.lease_duration.nanosec.__widget__" , "spin" ,
408+ "reader_qos.liveliness.lease_duration.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
409+ "reader_qos.reliability.kind.__value__" , "BEST_EFFORT_RELIABILITY_QOS" ,
410+ "reader_qos.reliability.kind.__widget__" , "radio" ,
411+ "reader_qos.reliability.kind.__constraint__" , "(BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS)" ,
412+ "reader_qos.reliability.max_blocking_time.sec.__value__" , "2147483647" ,
413+ "reader_qos.reliability.max_blocking_time.sec.__widget__" , "spin" ,
414+ "reader_qos.reliability.max_blocking_time.sec.__constraint__" , "0 <= x <= 2147483647" ,
415+ "reader_qos.reliability.max_blocking_time.nanosec.__value__" , "2147483647" ,
416+ "reader_qos.reliability.max_blocking_time.nanosec.__widget__" , "spin" ,
417+ "reader_qos.reliability.max_blocking_time.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
418+ "reader_qos.destination_order.kind.__value__" , "BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS" ,
419+ "reader_qos.destination_order.kind.__widget__" , "radio" ,
420+ "reader_qos.destination_order.kind.__constraint__" , "(BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS)" ,
421+ "reader_qos.history.kind.__value__" , "KEEP_LAST_HISTORY_QOS" ,
422+ "reader_qos.history.kind.__widget__" , "radio" ,
423+ "reader_qos.history.kind.__constraint__" , "(KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS)" ,
424+ "reader_qos.history.depth.__value__" , "1" ,
425+ "reader_qos.history.depth.__widget__" , "spin" ,
426+ "reader_qos.history.depth.__constraint__" , "0 <= x <= 2147483647" ,
427+ "reader_qos.resource_limits.max_samples.__value__" , "-1" ,
428+ "reader_qos.resource_limits.max_samples.__widget__" , "spin" ,
429+ "reader_qos.resource_limits.max_samples.__constraint__" , "-1 <= x <= 2147483647" ,
430+ "reader_qos.resource_limits.max_instances.__value__" , "-1" ,
431+ "reader_qos.resource_limits.max_instances.__widget__" , "spin" ,
432+ "reader_qos.resource_limits.max_instances.__constraint__" , "-1 <= x <= 2147483647" ,
433+ "reader_qos.resource_limits.max_samples_per_instance.__value__" , "-1" ,
434+ "reader_qos.resource_limits.max_samples_per_instance.__widget__" , "spin" ,
435+ "reader_qos.resource_limits.max_samples_per_instance.__constraint__" , "-1 <= x <= 2147483647" ,
436+ "reader_qos.ownership.kind.__value__" , "SHARED_OWNERSHIP_QOS" ,
437+ "reader_qos.ownership.kind.__widget__" , "radio" ,
438+ "reader_qos.ownership.kind.__constraint__" , "(SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS)" ,
439+ "reader_qos.time_based_filter.minimum_separation.sec.__value__" , "0" ,
440+ "reader_qos.time_based_filter.minimum_separation.sec.__widget__" , "spin" ,
441+ "reader_qos.time_based_filter.minimum_separation.sec.__constraint__" , "0 <= x <= 2147483647" ,
442+ "reader_qos.time_based_filter.minimum_separation.nanosec.__value__" , "0" ,
443+ "reader_qos.time_based_filter.minimum_separation.nanosec.__widget__" , "spin" ,
444+ "reader_qos.time_based_filter.minimum_separation.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
445+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.sec.__value__" , "2147483647" ,
446+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.sec.__widget__" , "spin" ,
447+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.sec.__constraint__" , "0 <= x <= 2147483647" ,
448+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.nanosec.__value__" , "2147483647" ,
449+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.nanosec.__widget__" , "spin" ,
450+ "reader_qos.reader_data_lifecycle.autopurge_disposed_samples_delay.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
451+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec.__value__" , "2147483647" ,
452+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec.__widget__" , "spin" ,
453+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.sec.__constraint__" , "0 <= x <= 2147483647" ,
454+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec.__value__" , "2147483647" ,
455+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec.__widget__" , "spin" ,
456+ "reader_qos.reader_data_lifecycle.autopurge_nowriter_samples_delay.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
457+ "topic_qos.durability.kind.__value__" , "TRANSIENT_DURABILITY_QOS" ,
458+ "topic_qos.durability.kind.__widget__" , "radio" ,
459+ "topic_qos.durability.kind.__constraint__" , "(VOLATILE_DURABILITY_QOS, TRANSIENT_LOCAL_DURABILITY_QOS, TRANSIENT_DURABILITY_QOS, PERSISTENT_DURABILITY_QOS)" ,
460+ "topic_qos.deadline.period.sec.__value__" , "2147483647" ,
461+ "topic_qos.deadline.period.sec.__widget__" , "spin" ,
462+ "topic_qos.deadline.period.sec.__constraint__" , "0 <= x <= 2147483647" ,
463+ "topic_qos.deadline.period.nanosec.__value__" , "2147483647" ,
464+ "topic_qos.deadline.period.nanosec.__widget__" , "spin" ,
465+ "topic_qos.deadline.period.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
466+ "topic_qos.latency_budget.duration.sec.__value__" , "0" ,
467+ "topic_qos.latency_budget.duration.sec.__widget__" , "spin" ,
468+ "topic_qos.latency_budget.duration.sec.__constraint__" , "0 <= x <= 2147483647" ,
469+ "topic_qos.latency_budget.duration.nanosec.__value__" , "0" ,
470+ "topic_qos.latency_budget.duration.nanosec.__widget__" , "spin" ,
471+ "topic_qos.latency_budget.duration.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
472+ "topic_qos.liveliness.kind.__value__" , "AUTOMATIC_LIVELINESS_QOS" ,
473+ "topic_qos.liveliness.kind.__widget__" , "radio" ,
474+ "topic_qos.liveliness.kind.__constraint__" , "(AUTOMATIC_LIVELINESS_QOS, MANUAL_BY_PARTICIPANT_LIVELINESS_QOS, MANUAL_BY_TOPIC_LIVELINESS_QOS)" ,
475+ "topic_qos.liveliness.lease_duration.sec.__value__" , "2147483647" ,
476+ "topic_qos.liveliness.lease_duration.sec.__widget__" , "spin" ,
477+ "topic_qos.liveliness.lease_duration.sec.__constraint__" , "0 <= x <= 2147483647" ,
478+ "topic_qos.liveliness.lease_duration.nanosec.__value__" , "2147483647" ,
479+ "topic_qos.liveliness.lease_duration.nanosec.__widget__" , "spin" ,
480+ "topic_qos.liveliness.lease_duration.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
481+ "topic_qos.reliability.kind.__value__" , "RELIABLE_RELIABILITY_QOS" ,
482+ "topic_qos.reliability.kind.__widget__" , "radio" ,
483+ "topic_qos.reliability.kind.__constraint__" , "(BEST_EFFORT_RELIABILITY_QOS, RELIABLE_RELIABILITY_QOS)" ,
484+ "topic_qos.reliability.max_blocking_time.sec.__value__" , "2147483647" ,
485+ "topic_qos.reliability.max_blocking_time.sec.__widget__" , "spin" ,
486+ "topic_qos.reliability.max_blocking_time.sec.__constraint__" , "0 <= x <= 2147483647" ,
487+ "topic_qos.reliability.max_blocking_time.nanosec.__value__" , "2147483647" ,
488+ "topic_qos.reliability.max_blocking_time.nanosec.__widget__" , "spin" ,
489+ "topic_qos.reliability.max_blocking_time.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
490+ "topic_qos.destination_order.kind.__value__" , "BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS" ,
491+ "topic_qos.destination_order.kind.__widget__" , "radio" ,
492+ "topic_qos.destination_order.kind.__constraint__" , "(BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS, BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS)" ,
493+ "topic_qos.history.kind.__value__" , "KEEP_ALL_HISTORY_QOS" ,
494+ "topic_qos.history.kind.__widget__" , "radio" ,
495+ "topic_qos.history.kind.__constraint__" , "(KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS)" ,
496+ "topic_qos.history.depth.__value__" , "1" ,
497+ "topic_qos.history.depth.__widget__" , "spin" ,
498+ "topic_qos.history.depth.__constraint__" , "0 <= x <= 2147483647" ,
499+ "topic_qos.resource_limits.max_samples.__value__" , "-1" ,
500+ "topic_qos.resource_limits.max_samples.__widget__" , "spin" ,
501+ "topic_qos.resource_limits.max_samples.__constraint__" , "-1 <= x <= 2147483647" ,
502+ "topic_qos.resource_limits.max_instances.__value__" , "-1" ,
503+ "topic_qos.resource_limits.max_instances.__widget__" , "spin" ,
504+ "topic_qos.resource_limits.max_instances.__constraint__" , "-1 <= x <= 2147483647" ,
505+ "topic_qos.resource_limits.max_samples_per_instance.__value__" , "-1" ,
506+ "topic_qos.resource_limits.max_samples_per_instance.__widget__" , "spin" ,
507+ "topic_qos.resource_limits.max_samples_per_instance.__constraint__" , "-1 <= x <= 2147483647" ,
508+ "topic_qos.transport_priority.value.__value__" , "0" ,
509+ "topic_qos.transport_priority.value.__widget__" , "spin" ,
510+ "topic_qos.transport_priority.value.__constraint__" , "0 <= x <= 2147483647" ,
511+ "topic_qos.lifespan.duration.sec.__value__" , "2147483647" ,
512+ "topic_qos.lifespan.duration.sec.__widget__" , "spin" ,
513+ "topic_qos.lifespan.duration.sec.__constraint__" , "0 <= x <= 2147483647" ,
514+ "topic_qos.lifespan.duration.nanosec.__value__" , "2147483647" ,
515+ "topic_qos.lifespan.duration.nanosec.__widget__" , "spin" ,
516+ "topic_qos.lifespan.duration.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
517+ "topic_qos.ownership.kind.__value__" , "SHARED_OWNERSHIP_QOS" ,
518+ "topic_qos.ownership.kind.__widget__" , "radio" ,
519+ "topic_qos.ownership.kind.__constraint__" , "(SHARED_OWNERSHIP_QOS, EXCLUSIVE_OWNERSHIP_QOS)" ,
520+ "topic_qos.transport_priority.value.__value__" , "0" ,
521+ "topic_qos.transport_priority.value.__widget__" , "spin" ,
522+ "topic_qos.transport_priority.value.__constraint__" , "0 <= x <= 2147483647" ,
523+ "topic_qos.durability_service.history_depth.__value__" , "1" ,
524+ "topic_qos.durability_service.history_depth.__widget__" , "spin" ,
525+ "topic_qos.durability_service.history_depth.__constraint__" , "0 <= x <= 2147483647" ,
526+ "topic_qos.durability_service.history_kind.__value__" , "KEEP_LAST_HISTORY_QOS" ,
527+ "topic_qos.durability_service.history_kind.__widget__" , "radio" ,
528+ "topic_qos.durability_service.history_kind.__constraint__" , "(KEEP_LAST_HISTORY_QOS, KEEP_ALL_HISTORY_QOS)" ,
529+ "topic_qos.durability_service.max_instances.__value__" , "-1" ,
530+ "topic_qos.durability_service.max_instances.__widget__" , "spin" ,
531+ "topic_qos.durability_service.max_instances.__constraint__" , "-1 <= x <= 2147483647" ,
532+ "topic_qos.durability_service.max_samples.__value__" , "-1" ,
533+ "topic_qos.durability_service.max_samples.__widget__" , "spin" ,
534+ "topic_qos.durability_service.max_samples.__constraint__" , "-1 <= x <= 2147483647" ,
535+ "topic_qos.durability_service.max_samples_per_instance.__value__" , "-1" ,
536+ "topic_qos.durability_service.max_samples_per_instance.__widget__" , "spin" ,
537+ "topic_qos.durability_service.max_samples_per_instance.__constraint__" , "-1 <= x <= 2147483647" ,
538+ "topic_qos.durability_service.service_cleanup_delay.sec.__value__" , "0" ,
539+ "topic_qos.durability_service.service_cleanup_delay.sec.__widget__" , "spin" ,
540+ "topic_qos.durability_service.service_cleanup_delay.sec.__constraint__" , "0 <= x <= 2147483647" ,
541+ "topic_qos.durability_service.service_cleanup_delay.nanosec.__value__" , "0" ,
542+ "topic_qos.durability_service.service_cleanup_delay.nanosec.__widget__" , "spin" ,
543+ "topic_qos.durability_service.service_cleanup_delay.nanosec.__constraint__" , "0 <= x <= 2147483647" ,
544+ ""
545+ ]
546+
379547##
380548# @if jp
381549# @brief モジュール登録関数
@@ -387,7 +555,11 @@ def on_data_available(self, entity):
387555#
388556# @endif
389557#
558+
559+
390560def OpenSpliceInPortInit ():
561+ prop = OpenRTM_aist .Properties (defaults_str = opensplice_sub_option )
391562 factory = OpenRTM_aist .InPortProviderFactory .instance ()
392563 factory .addFactory ("opensplice" ,
393- OpenSpliceInPort )
564+ OpenSpliceInPort ,
565+ prop )
0 commit comments