ConfigAdmin.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # -*- coding: euc-jp -*-
3 
4 
16 
17 
18 
19 import copy
20 import OpenRTM_aist
21 
22 
24  def __init__(self):
25  pass
26 
27 
28  def __call__(self, config_set):
29  pass
30 
31 
32 
34  def __init__(self):
35  pass
36 
37 
38  def __call__(self, config_set, config_param):
39  pass
40 
41 
42 
44  def __init__(self):
45  pass
46 
47 
48  def __call__(self, config_set):
49  pass
50 
51 
52 
54  def __init__(self):
55  pass
56 
57 
58  def __call__(self, config_set):
59  pass
60 
61 
62 
64  def __init__(self):
65  pass
66 
67 
68  def __call__(self, config_set):
69  pass
70 
71 
72 
74  def __init__(self):
75  pass
76 
77 
78  def __call__(self, config_id):
79  pass
80 
81 
82 
83 
101 class Config:
102  """
103  """
104 
105 
131  def __init__(self, name, var, def_val, trans=None):
132  self.name = name
133  self.default_value = def_val
134  self._var = var
135  if trans:
136  self._trans = trans
137  else:
138  self._trans = OpenRTM_aist.stringTo
139 
140 
141 
166  def update(self, val):
167  if self._trans(self._var, val):
168  return True
169  self._trans(self._var, self._default_value)
170  return False
171 
172 
173 
174 
319  """
320  """
321 
322 
341  def __init__(self, configsets):
342  self._configsets = configsets
343  self._activeId = "default"
344  self._active = True
345  self._changed = False
346  self._params = []
348  self._newConfig = []
350 
351 
368  def __del__(self):
369  del self._params
370 
371 
372 
413  def bindParameter(self, param_name, var, def_val, trans=None):
414  if trans is None:
415  trans = OpenRTM_aist.stringTo
416 
417  if self.isExist(param_name):
418  return False
419 
420  if not trans(var, def_val):
421  return False
422 
423  self._params.append(Config(param_name, var, def_val, trans))
424  return True
425 
426 
427 
528  def update(self, config_set=None, config_param=None):
529  # update(const char* config_set)
530  if config_set and config_param is None:
531  if self._configsets.hasKey(config_set) is None:
532  return
533  prop = self._configsets.getNode(config_set)
534  for i in range(len(self._params)):
535  if prop.hasKey(self._params[i].name):
536  self._params[i].update(prop.getProperty(self._params[i].name))
537  self.onUpdate(config_set)
538 
539  # update(const char* config_set, const char* config_param)
540  if config_set and config_param:
541  key = config_set
542  key = key+"."+config_param
543  for conf in self._params:
544  if conf.name == config_param:
545  conf.update(self._configsets.getProperty(key))
546  self.onUpdateParam(config_set, config_param)
547  return
548 
549  # update()
550  if config_set is None and config_param is None:
551  if self._changed and self._active:
552  self.update(self._activeId)
553  self._changed = False
554  return
555 
556 
557 
583  def isExist(self, param_name):
584  if not self._params:
585  return False
586 
587  for conf in self._params:
588  if conf.name == param_name:
589  return True
590 
591  return False
592 
593 
594 
618  def isChanged(self):
619  return self._changed
620 
621 
622 
645  def getActiveId(self):
646  return self._activeId
647 
648 
649 
673  def haveConfig(self, config_id):
674  if self._configsets.hasKey(config_id) is None:
675  return False
676  else:
677  return True
678 
679 
680 
704  def isActive(self):
705  return self._active
706 
707 
708 
732  return self._configsets.getLeaf()
733 
734 
735 
764  def getConfigurationSet(self, config_id):
765  prop = self._configsets.getNode(config_id)
766  if prop is None:
767  return self._emptyconf
768  return prop
769 
770 
771 
796  def setConfigurationSetValues(self, config_set):
797  if config_set.getName() == "" or config_set.getName() is None:
798  return False
799 
800  if not self._configsets.hasKey(config_set.getName()):
801  return False
802 
803  p = self._configsets.getNode(config_set.getName())
804  if p is None:
805  return False
806 
807  p.mergeProperties(config_set)
808  self._changed = True
809  self._active = False
810  self.onSetConfigurationSet(config_set)
811  return True
812 
813 
814 
841  p = self._configsets.getNode(self._activeId)
842  if p is None:
843  return self._emptyconf
844 
845  return p
846 
847 
848 
873  def addConfigurationSet(self, configset):
874  if self._configsets.hasKey(configset.getName()):
875  return False
876  node = configset.getName()
877 
878  # Create node
879  self._configsets.createNode(node)
880 
881  p = self._configsets.getNode(node)
882  if p is None:
883  return False
884 
885  p.mergeProperties(configset)
886  self._newConfig.append(node)
887 
888  self._changed = True
889  self._active = False
890  self.onAddConfigurationSet(configset)
891  return True
892 
893 
894 
951  def removeConfigurationSet(self, config_id):
952  if config_id == "default":
953  return False
954  if self._activeId == config_id:
955  return False
956 
957  find_flg = False
958  # removeable config-set is only config-sets newly added
959  for (idx,conf) in enumerate(self._newConfig):
960  if conf == config_id:
961  find_flg = True
962  break
963 
964 
965  if not find_flg:
966  return False
967 
968  p = self._configsets.getNode(config_id)
969  if p:
970  p.getRoot().removeNode(config_id)
971  del p
972 
973  del self._newConfig[idx]
974 
975  self._changed = True
976  self._active = False
977  self.onRemoveConfigurationSet(config_id)
978  return True
979 
980 
981 
1010  def activateConfigurationSet(self, config_id):
1011  if config_id is None:
1012  return False
1013 
1014  # '_<conf_name>' is special configuration set name
1015  if config_id[0] == '_':
1016  return False
1017 
1018  if not self._configsets.hasKey(config_id):
1019  return False
1020  self._activeId = config_id
1021  self._active = True
1022  self._changed = True
1023  self.onActivateSet(config_id)
1024  return True
1025 
1026 
1027  #------------------------------------------------------------
1028  # obsolete functions
1029  #
1030 
1031 
1051  def setOnUpdate(self, cb):
1052  print("setOnUpdate function is obsolete.")
1053  print("Use addConfigurationSetNameListener instead.")
1054  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_UPDATE_CONFIG_SET].addListener(cb, False)
1055  return
1056 
1057 
1058 
1078  def setOnUpdateParam(self, cb):
1079  print("setOnUpdateParam function is obsolete.")
1080  print("Use addConfigurationParamListener instead.")
1081  self._listeners.configparam_[OpenRTM_aist.ConfigurationParamListenerType.ON_UPDATE_CONFIG_PARAM].addListener(cb, False)
1082  return
1083 
1084 
1085 
1106  print("setOnSetConfigurationSet function is obsolete.")
1107  print("Use addConfigurationSetListener instead.")
1108  self._listeners.configset_[OpenRTM_aist.ConfigurationSetListenerType.ON_SET_CONFIG_SET].addListener(cb, False)
1109  return
1110 
1111 
1112 
1133  print("setOnAddConfigurationSet function is obsolete.")
1134  print("Use addConfigurationSetListener instead.")
1135  self._listeners.configset_[OpenRTM_aist.ConfigurationSetListenerType.ON_ADD_CONFIG_SET].addListener(cb, False)
1136  return
1137 
1138 
1139 
1160  print("setOnRemoveConfigurationSet function is obsolete.")
1161  print("Use addConfigurationSetNameListener instead.")
1162  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_REMOVE_CONFIG_SET].addListener(cb, False)
1163  return
1164 
1165 
1166 
1186  def setOnActivateSet(self, cb):
1187  print("setOnActivateSet function is obsolete.")
1188  print("Use addConfigurationSetNameListener instead.")
1189  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_ACTIVATE_CONFIG_SET].addListener(cb, False)
1190  return
1191 
1192  #
1193  # end of obsolete functions
1194  #------------------------------------------------------------
1195 
1196 
1231  def addConfigurationParamListener(self, type, listener, autoclean = True):
1232  self._listeners.configparam_[type].addListener(listener, autoclean)
1233  return
1234 
1235 
1236 
1262  def removeConfigurationParamListener(self, type, listener):
1263  self._listeners.configparam_[type].removeListener(listener)
1264  return
1265 
1266 
1267 
1301  def addConfigurationSetListener(self, type, listener, autoclean = True):
1302  self._listeners.configset_[type].addListener(listener, autoclean)
1303  return
1304 
1305 
1306 
1329  def removeConfigurationSetListener(self, type, listener):
1330  self._listeners.configset_[type].removeListener(listener)
1331  return
1332 
1333 
1334 
1371  def addConfigurationSetNameListener(self, type, listener, autoclean = True):
1372  self._listeners.configsetname_[type].addListener(listener, autoclean)
1373  return
1374 
1375 
1376 
1404  def removeConfigurationSetNameListener(self, type, listener):
1405  self._listeners.configsetname_[type].removeListener(listener)
1406  return
1407 
1408 
1409 
1431  def onUpdate(self, config_set):
1432  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_UPDATE_CONFIG_SET].notify(config_set)
1433  return
1434 
1435 
1436 
1460  def onUpdateParam(self, config_set, config_param):
1461  self._listeners.configparam_[OpenRTM_aist.ConfigurationParamListenerType.ON_UPDATE_CONFIG_PARAM].notify(config_set,
1462  config_param)
1463  return
1464 
1465 
1466 
1488  def onSetConfigurationSet(self, config_set):
1489  self._listeners.configset_[OpenRTM_aist.ConfigurationSetListenerType.ON_SET_CONFIG_SET].notify(config_set)
1490  return
1491 
1492 
1493 
1515  def onAddConfigurationSet(self, config_set):
1516  self._listeners.configset_[OpenRTM_aist.ConfigurationSetListenerType.ON_ADD_CONFIG_SET].notify(config_set)
1517  return
1518 
1519 
1520 
1542  def onRemoveConfigurationSet(self, config_id):
1543  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_REMOVE_CONFIG_SET].notify(config_id)
1544  return
1545 
1546 
1547 
1569  def onActivateSet(self, config_id):
1570  self._listeners.configsetname_[OpenRTM_aist.ConfigurationSetNameListenerType.ON_ACTIVATE_CONFIG_SET].notify(config_id)
1571  return
1572 
1573 
1574  class find_conf:
1575  def __init__(self, name):
1576  self._name = name
1577  return
1578 
1579  def __call__(self, conf):
1580  if conf is None or conf is 0:
1581  return False
1582 
1583  return self._name == conf.name
OpenRTM_aist.ConfigAdmin.Config.update
def update(self, val)
Update a bind parameter value.
Definition: ConfigAdmin.py:166
OpenRTM_aist.ConfigAdmin.ConfigAdmin.addConfigurationSet
def addConfigurationSet(self, configset)
Add the configuration value to configuration set.
Definition: ConfigAdmin.py:873
OpenRTM_aist.ConfigAdmin.ConfigAdmin.addConfigurationParamListener
def addConfigurationParamListener(self, type, listener, autoclean=True)
Adding ConfigurationParamListener.
Definition: ConfigAdmin.py:1231
OpenRTM_aist.ConfigAdmin.OnRemoveConfigurationSetCallback
Definition: ConfigAdmin.py:63
OpenRTM_aist.ConfigAdmin.ConfigAdmin.find_conf._name
_name
Definition: ConfigAdmin.py:1576
OpenRTM_aist.ConfigAdmin.ConfigAdmin.removeConfigurationSetNameListener
def removeConfigurationSetNameListener(self, type, listener)
Removing ConfigurationSetNameListener.
Definition: ConfigAdmin.py:1404
OpenRTM_aist.ConfigAdmin.ConfigAdmin._listeners
_listeners
Definition: ConfigAdmin.py:349
OpenRTM_aist.ConfigAdmin.OnSetConfigurationSetCallback.__call__
def __call__(self, config_set)
Definition: ConfigAdmin.py:48
OpenRTM_aist.ConfigAdmin.OnSetConfigurationSetCallback
Definition: ConfigAdmin.py:43
OpenRTM_aist.ConfigAdmin.ConfigAdmin.removeConfigurationParamListener
def removeConfigurationParamListener(self, type, listener)
Removing ConfigurationParamListener.
Definition: ConfigAdmin.py:1262
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onAddConfigurationSet
def onAddConfigurationSet(self, config_set)
Called when a set value is added to the configuration set.
Definition: ConfigAdmin.py:1515
OpenRTM_aist.ConfigAdmin.Config._var
_var
Definition: ConfigAdmin.py:134
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnAddConfigurationSet
def setOnAddConfigurationSet(self, cb)
Set callback that is called by OnSetConfiguration.
Definition: ConfigAdmin.py:1132
OpenRTM_aist.ConfigAdmin.ConfigAdmin.bindParameter
def bindParameter(self, param_name, var, def_val, trans=None)
Setup for configuration parameters.
Definition: ConfigAdmin.py:413
OpenRTM_aist.ConfigAdmin.ConfigAdmin.haveConfig
def haveConfig(self, config_id)
Check the existence of configuration set.
Definition: ConfigAdmin.py:673
OpenRTM_aist.ConfigAdmin.OnUpdateCallback.__call__
def __call__(self, config_set)
Definition: ConfigAdmin.py:28
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onRemoveConfigurationSet
def onRemoveConfigurationSet(self, config_id)
Called when the configuration set has been deleted.
Definition: ConfigAdmin.py:1542
OpenRTM_aist.ConfigAdmin.ConfigAdmin._configsets
_configsets
Definition: ConfigAdmin.py:342
OpenRTM_aist.ConfigAdmin.OnUpdateParamCallback.__call__
def __call__(self, config_set, config_param)
Definition: ConfigAdmin.py:38
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnUpdateParam
def setOnUpdateParam(self, cb)
Set callback that is called by OnUpdateParam.
Definition: ConfigAdmin.py:1078
OpenRTM_aist.ConfigAdmin.OnActivateSetCallback.__call__
def __call__(self, config_id)
Definition: ConfigAdmin.py:78
OpenRTM_aist.ConfigAdmin.ConfigAdmin.find_conf.__call__
def __call__(self, conf)
Definition: ConfigAdmin.py:1579
OpenRTM_aist.ConfigAdmin.ConfigAdmin.update
def update(self, config_set=None, config_param=None)
void update(void);
Definition: ConfigAdmin.py:528
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onActivateSet
def onActivateSet(self, config_id)
Called when the configuration set is made active.
Definition: ConfigAdmin.py:1569
OpenRTM_aist.ConfigAdmin.OnAddConfigurationAddCallback.__call__
def __call__(self, config_set)
Definition: ConfigAdmin.py:58
OpenRTM_aist.ConfigAdmin.Config._trans
_trans
Definition: ConfigAdmin.py:136
OpenRTM_aist.ConfigAdmin.ConfigAdmin.__del__
def __del__(self)
Destructor.
Definition: ConfigAdmin.py:368
OpenRTM_aist.ConfigAdmin.ConfigAdmin.addConfigurationSetListener
def addConfigurationSetListener(self, type, listener, autoclean=True)
Adding ConfigurationSetListener.
Definition: ConfigAdmin.py:1301
OpenRTM_aist.ConfigAdmin.Config
Config class.
Definition: ConfigAdmin.py:101
OpenRTM_aist.ConfigAdmin.Config.name
name
Definition: ConfigAdmin.py:132
OpenRTM_aist.ConfigAdmin.OnUpdateCallback
Definition: ConfigAdmin.py:23
OpenRTM_aist.ConfigAdmin.ConfigAdmin.addConfigurationSetNameListener
def addConfigurationSetNameListener(self, type, listener, autoclean=True)
Adding ConfigurationSetNameListener.
Definition: ConfigAdmin.py:1371
OpenRTM_aist.ConfigAdmin.OnAddConfigurationAddCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:54
OpenRTM_aist.ConfigAdmin.OnAddConfigurationAddCallback
Definition: ConfigAdmin.py:53
OpenRTM_aist.ConfigAdmin.Config.__init__
def __init__(self, name, var, def_val, trans=None)
Constructor.
Definition: ConfigAdmin.py:131
OpenRTM_aist.ConfigAdmin.OnActivateSetCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:74
OpenRTM_aist.ConfigAdmin.ConfigAdmin.__init__
def __init__(self, configsets)
Constructor.
Definition: ConfigAdmin.py:341
OpenRTM_aist.ConfigAdmin.ConfigAdmin.isChanged
def isChanged(self)
Confirm to change configuration parameters.
Definition: ConfigAdmin.py:618
OpenRTM_aist.ConfigAdmin.ConfigAdmin.find_conf
Definition: ConfigAdmin.py:1574
OpenRTM_aist.ConfigAdmin.OnActivateSetCallback
Definition: ConfigAdmin.py:73
OpenRTM_aist.ConfigAdmin.OnUpdateParamCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:34
OpenRTM_aist.ConfigAdmin.OnUpdateParamCallback
Definition: ConfigAdmin.py:33
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnSetConfigurationSet
def setOnSetConfigurationSet(self, cb)
Set callback that is called by OnSetConfiguration.
Definition: ConfigAdmin.py:1105
OpenRTM_aist.ConfigAdmin.ConfigAdmin._newConfig
_newConfig
Definition: ConfigAdmin.py:348
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnUpdate
def setOnUpdate(self, cb)
Set callback that is called by OnUpdate.
Definition: ConfigAdmin.py:1051
OpenRTM_aist.ConfigAdmin.ConfigAdmin.getConfigurationSet
def getConfigurationSet(self, config_id)
Get a configuration set by specified ID.
Definition: ConfigAdmin.py:764
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnRemoveConfigurationSet
def setOnRemoveConfigurationSet(self, cb)
Set callback that is called by OnRemoveConfigurationSet.
Definition: ConfigAdmin.py:1159
OpenRTM_aist.ConfigAdmin.ConfigAdmin.getActiveConfigurationSet
def getActiveConfigurationSet(self)
Get the active configuration set.
Definition: ConfigAdmin.py:840
OpenRTM_aist.ConfigAdmin.ConfigAdmin.getConfigurationSets
def getConfigurationSets(self)
Get all configuration sets.
Definition: ConfigAdmin.py:731
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onUpdateParam
def onUpdateParam(self, config_set, config_param)
When the configuration parameter is updated, it is called.
Definition: ConfigAdmin.py:1460
OpenRTM_aist.ConfigAdmin.ConfigAdmin._emptyconf
_emptyconf
Definition: ConfigAdmin.py:347
OpenRTM_aist.ConfigAdmin.ConfigAdmin
ConfigAdmin class.
Definition: ConfigAdmin.py:318
OpenRTM_aist.Properties.Properties
Definition: Properties.py:83
OpenRTM_aist.ConfigurationListener.ConfigurationListeners
Definition: ConfigurationListener.py:795
OpenRTM_aist.ConfigAdmin.ConfigAdmin.activateConfigurationSet
def activateConfigurationSet(self, config_id)
Activate the configuration set.
Definition: ConfigAdmin.py:1010
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setOnActivateSet
def setOnActivateSet(self, cb)
Set callback that is called by OnActivateSet.
Definition: ConfigAdmin.py:1186
OpenRTM_aist.ConfigAdmin.ConfigAdmin._changed
_changed
Definition: ConfigAdmin.py:345
OpenRTM_aist.ConfigAdmin.ConfigAdmin.isActive
def isActive(self)
Confirm to activate configuration set.
Definition: ConfigAdmin.py:704
OpenRTM_aist.ConfigAdmin.Config.default_value
default_value
Definition: ConfigAdmin.py:133
OpenRTM_aist.ConfigAdmin.OnUpdateCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:24
OpenRTM_aist.ConfigAdmin.ConfigAdmin._activeId
_activeId
Definition: ConfigAdmin.py:343
OpenRTM_aist.ConfigAdmin.ConfigAdmin.setConfigurationSetValues
def setConfigurationSetValues(self, config_set)
Add to configuration set from specified property.
Definition: ConfigAdmin.py:796
OpenRTM_aist.ConfigAdmin.OnRemoveConfigurationSetCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:64
OpenRTM_aist.ConfigAdmin.ConfigAdmin.removeConfigurationSet
def removeConfigurationSet(self, config_id)
Remove the configuration set.
Definition: ConfigAdmin.py:951
OpenRTM_aist.ConfigAdmin.ConfigAdmin.removeConfigurationSetListener
def removeConfigurationSetListener(self, type, listener)
Removing ConfigurationSetListener.
Definition: ConfigAdmin.py:1329
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onSetConfigurationSet
def onSetConfigurationSet(self, config_set)
Called when the property is added to the configuration set.
Definition: ConfigAdmin.py:1488
OpenRTM_aist.ConfigAdmin.ConfigAdmin._params
_params
Definition: ConfigAdmin.py:346
OpenRTM_aist.ConfigAdmin.OnSetConfigurationSetCallback.__init__
def __init__(self)
Definition: ConfigAdmin.py:44
OpenRTM_aist.ConfigAdmin.ConfigAdmin.isExist
def isExist(self, param_name)
Check the existence of configuration parameters.
Definition: ConfigAdmin.py:583
OpenRTM_aist.ConfigAdmin.ConfigAdmin.getActiveId
def getActiveId(self)
Get ID of active configuration set.
Definition: ConfigAdmin.py:645
OpenRTM_aist.ConfigAdmin.ConfigAdmin._active
_active
Definition: ConfigAdmin.py:344
OpenRTM_aist.ConfigAdmin.ConfigAdmin.find_conf.__init__
def __init__(self, name)
Definition: ConfigAdmin.py:1575
OpenRTM_aist.NVUtil.append
def append(dest, src)
Definition: NVUtil.py:386
OpenRTM_aist.ConfigAdmin.ConfigAdmin.onUpdate
def onUpdate(self, config_set)
When the configuration parameter is updated, it is called.
Definition: ConfigAdmin.py:1431
OpenRTM_aist.ConfigAdmin.OnRemoveConfigurationSetCallback.__call__
def __call__(self, config_set)
Definition: ConfigAdmin.py:68


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Mon Apr 21 2025 02:45:06