[openrtm-commit:00339] r449 - branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/test
openrtm @ openrtm.org
openrtm @ openrtm.org
2011年 8月 11日 (木) 16:06:00 JST
Author: kurihara
Date: 2011-08-11 16:05:59 +0900 (Thu, 11 Aug 2011)
New Revision: 449
Added:
branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/test/ComponentActionListenerTestComp.py
Log:
The test component for ComponentActionListener has been added.
Added: branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/test/ComponentActionListenerTestComp.py
===================================================================
--- branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/test/ComponentActionListenerTestComp.py (rev 0)
+++ branches/RELENG_1_1/OpenRTM-aist-Python/OpenRTM_aist/test/ComponentActionListenerTestComp.py 2011-08-11 07:05:59 UTC (rev 449)
@@ -0,0 +1,310 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# -*- Python -*-
+
+import sys
+
+import OpenRTM
+import RTC
+import OpenRTM_aist
+
+consolein_spec = ["implementation_id", "ConsoleIn",
+ "type_name", "ConsoleIn",
+ "description", "Console input component",
+ "version", "1.0",
+ "vendor", "Shinji Kurihara",
+ "category", "example",
+ "activity_type", "DataFlowComponent",
+ "max_instance", "10",
+ "language", "Python",
+ "lang_type", "script",
+ ""]
+
+
+class DataListener(OpenRTM_aist.ConnectorDataListenerT):
+ def __init__(self, name):
+ self._name = name
+
+ def __del__(self):
+ print "dtor of ", self._name
+
+ def __call__(self, info, cdrdata):
+ data = OpenRTM_aist.ConnectorDataListenerT.__call__(self, info, cdrdata, RTC.TimedLong(RTC.Time(0,0),0))
+ print "------------------------------"
+ print "Listener: ", self._name
+ print "Profile::name: ", info.name
+ print "Profile::id: ", info.id
+ print "Data: ", data.data
+ print "------------------------------"
+
+class ConnListener(OpenRTM_aist.ConnectorListener):
+ def __init__(self, name):
+ self._name = name
+
+ def __del__(self):
+ print "dtor of ", self._name
+
+ def __call__(self, info):
+ print "------------------------------"
+ print "Listener: ", self._name
+ print "Profile::name: ", info.name
+ print "Profile::id: ", info.id
+ print "------------------------------"
+
+
+class ConsoleIn(OpenRTM_aist.DataFlowComponentBase):
+ def __init__(self, manager):
+ OpenRTM_aist.DataFlowComponentBase.__init__(self, manager)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_INITIALIZE,
+ self.preOnInitializeFunc)
+ self.addExecutionContextActionListener(OpenRTM_aist.ExecutionContextActionListenerType.EC_ATTACHED,
+ self.onAttachExecutionContextFunc)
+ self.addExecutionContextActionListener(OpenRTM_aist.ExecutionContextActionListenerType.EC_DETACHED,
+ self.onDetachExecutionContextFunc)
+
+ return
+
+ def preOnInitializeFunc(self, ec_id):
+ print "preOnInitializeFunc"
+ return
+
+ def preOnFinalizeFunc(self, ec_id):
+ print "preOnFinalizeFunc"
+ return
+
+ def preOnStartupFunc(self, ec_id):
+ print "preOnStartupFunc"
+ return
+
+ def preOnShutdownFunc(self, ec_id):
+ print "preOnShutdownFunc"
+ return
+
+ def preOnActivatedFunc(self, ec_id):
+ print "preOnActivatedFunc"
+ return
+
+ def preOnDeactivatedFunc(self, ec_id):
+ print "preOnDeactivatedFunc"
+ return
+
+ def preOnAbortingFunc(self, ec_id):
+ print "preOnAbortingFunc"
+ return
+
+ def preOnErrorFunc(self, ec_id):
+ print "preOnErrorFunc"
+ return
+
+ def preOnResetFunc(self, ec_id):
+ print "preOnResetFunc"
+ return
+
+ def preOnExecuteFunc(self, ec_id):
+ print "preOnExecuteFunc"
+ return
+
+ def preOnStateUpdateFunc(self, ec_id):
+ print "preOnStateUpdateFunc"
+ return
+
+ def preOnRateChangedFunc(self, ec_id):
+ print "preOnRateChangedFunc"
+ return
+
+ def postOnInitializeFunc(self, ec_id, ret):
+ print "postOnInitializeFunc, ret: ", ret
+ return
+
+ def postOnFinalizeFunc(self, ec_id, ret):
+ print "postOnFinalizeFunc, ret: ", ret
+ return
+
+ def postOnStartupFunc(self, ec_id, ret):
+ print "postOnStartupFunc, ret: ", ret
+ return
+
+ def postOnShutdownFunc(self, ec_id, ret):
+ print "postOnShutdownFunc, ret: ", ret
+ return
+
+ def postOnActivatedFunc(self, ec_id, ret):
+ print "postOnActivatedFunc, ret: ", ret
+ return
+
+ def postOnDeactivatedFunc(self, ec_id, ret):
+ print "postOnDeactivatedFunc, ret: ", ret
+ return
+
+ def postOnAbortingFunc(self, ec_id, ret):
+ print "postOnAbortingFunc, ret: ", ret
+ return
+
+ def postOnErrorFunc(self, ec_id, ret):
+ print "postOnErrorFunc, ret: ", ret
+ return
+
+ def postOnResetFunc(self, ec_id, ret):
+ print "postOnResetFunc, ret: ", ret
+ return
+
+ def postOnExecuteFunc(self, ec_id, ret):
+ print "postOnExecuteFunc, ret: ", ret
+ return
+
+ def postOnStateUpdateFunc(self, ec_id, ret):
+ print "postOnStateUpdateFunc, ret: ", ret
+ return
+
+ def postOnRateChangedFunc(self, ec_id, ret):
+ print "postOnRateChangedFunc, ret: ", ret
+ return
+
+ def onAddPortFunc(self, pprof):
+ print "onAddPortFunc"
+ return
+
+ def onRemovePortFunc(self, pprof):
+ print "onRemovePortFunc"
+ return
+
+ def onAttachExecutionContextFunc(self, ec_id):
+ print "onAttachExecutionContextFunc"
+ return
+
+ def onDetachExecutionContextFunc(self, ec_id):
+ print "onDetachExecutionContextFunc"
+ return
+
+ def onInitialize(self):
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_FINALIZE,
+ self.preOnFinalizeFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_STARTUP,
+ self.preOnStartupFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_SHUTDOWN,
+ self.preOnShutdownFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_ACTIVATED,
+ self.preOnActivatedFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_DEACTIVATED,
+ self.preOnDeactivatedFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_ABORTING,
+ self.preOnAbortingFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_ERROR,
+ self.preOnErrorFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_RESET,
+ self.preOnResetFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_EXECUTE,
+ self.preOnExecuteFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_STATE_UPDATE,
+ self.preOnStateUpdateFunc)
+ self.addPreComponentActionListener(OpenRTM_aist.PreComponentActionListenerType.PRE_ON_RATE_CHANGED,
+ self.preOnRateChangedFunc)
+
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_INITIALIZE,
+ self.postOnInitializeFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_FINALIZE,
+ self.postOnFinalizeFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_STARTUP,
+ self.postOnStartupFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_SHUTDOWN,
+ self.postOnShutdownFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_ACTIVATED,
+ self.postOnActivatedFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_DEACTIVATED,
+ self.postOnDeactivatedFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_ABORTING,
+ self.postOnAbortingFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_ERROR,
+ self.postOnErrorFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_RESET,
+ self.postOnResetFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_EXECUTE,
+ self.postOnExecuteFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_STATE_UPDATE,
+ self.postOnStateUpdateFunc)
+ self.addPostComponentActionListener(OpenRTM_aist.PostComponentActionListenerType.POST_ON_RATE_CHANGED,
+ self.postOnRateChangedFunc)
+
+ self.addPortActionListener(OpenRTM_aist.PortActionListenerType.ADD_PORT,
+ self.onAddPortFunc)
+ self.addPortActionListener(OpenRTM_aist.PortActionListenerType.REMOVE_PORT,
+ self.onRemovePortFunc)
+
+
+ self._data = RTC.TimedLong(RTC.Time(0,0),0)
+ self._outport = OpenRTM_aist.OutPort("out", self._data)
+ # Set OutPort buffer
+ self.addOutPort("out", self._outport)
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_WRITE,
+ DataListener("ON_BUFFER_WRITE"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_FULL,
+ DataListener("ON_BUFFER_FULL"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_WRITE_TIMEOUT,
+ DataListener("ON_BUFFER_WRITE_TIMEOUT"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_OVERWRITE,
+ DataListener("ON_BUFFER_OVERWRITE"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_BUFFER_READ,
+ DataListener("ON_BUFFER_READ"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_SEND,
+ DataListener("ON_SEND"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVED,
+ DataListener("ON_RECEIVED"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_FULL,
+ DataListener("ON_RECEIVER_FULL"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_TIMEOUT,
+ DataListener("ON_RECEIVER_TIMEOUT"))
+ self._outport.addConnectorDataListener(OpenRTM_aist.ConnectorDataListenerType.ON_RECEIVER_ERROR,
+ DataListener("ON_RECEIVER_ERROR"))
+
+ self._outport.addConnectorListener(OpenRTM_aist.ConnectorListenerType.ON_CONNECT,
+ ConnListener("ON_CONNECT"))
+ self._outport.addConnectorListener(OpenRTM_aist.ConnectorListenerType.ON_DISCONNECT,
+ ConnListener("ON_DISCONNECT"))
+
+ return RTC.RTC_OK
+
+
+ def onExecute(self, ec_id):
+ print "Please input number: ",
+ self._data.data = long(sys.stdin.readline())
+ if self._data.data == 9:
+ return RTC.RTC_ERROR
+ OpenRTM_aist.setTimestamp(self._data)
+ print "Sending to subscriber: ", self._data.data
+ self._outport.write()
+ return RTC.RTC_OK
+
+
+def ConsoleInInit(manager):
+ profile = OpenRTM_aist.Properties(defaults_str=consolein_spec)
+ manager.registerFactory(profile,
+ ConsoleIn,
+ OpenRTM_aist.Delete)
+
+
+def MyModuleInit(manager):
+ ConsoleInInit(manager)
+
+ # Create a component
+ comp = manager.createComponent("ConsoleIn")
+
+def main():
+ # Initialize manager
+ mgr = OpenRTM_aist.Manager.init(sys.argv)
+
+ # Set module initialization proceduer
+ # This procedure will be invoked in activateManager() function.
+ mgr.setModuleInitProc(MyModuleInit)
+
+ # Activate manager and register to naming service
+ mgr.activateManager()
+
+ # run the manager in blocking mode
+ # runManager(False) is the default
+ mgr.runManager()
+
+ # If you want to run the manager in non-blocking mode, do like this
+ # mgr.runManager(True)
+
+if __name__ == "__main__":
+ main()
openrtm-commit メーリングリストの案内