Commit 38742cb1 authored by Michal 'vorner' Vaner's avatar Michal 'vorner' Vaner
Browse files

[1643] Split the add_remote_config gut to a function

parent c8739afa
......@@ -327,19 +327,10 @@ class ModuleCCSession(ConfigData):
and return an answer created with create_answer()"""
self._command_handler = command_handler
def add_remote_config(self, spec_file_name, config_update_callback = None):
"""Gives access to the configuration of a different module.
These remote module options can at this moment only be
accessed through get_remote_config_value(). This function
also subscribes to the channel of the remote module name
to receive the relevant updates. It is not possible to
specify your own handler for this right now.
start() must have been called on this CCSession
prior to the call to this method.
Returns the name of the module."""
module_spec = isc.config.module_spec_from_file(spec_file_name)
def _add_remote_config_internal(self, module_spec, config_update_callback=None):
module_cfg = ConfigData(module_spec)
module_name = module_spec.get_module_name()
self._session.group_subscribe(module_name)
# Get the current config for that module now
......@@ -362,8 +353,22 @@ class ModuleCCSession(ConfigData):
# all done, add it
self._remote_module_configs[module_name] = module_cfg
self._remote_module_callbacks[module_name] = config_update_callback
return module_name
def add_remote_config(self, spec_file_name, config_update_callback = None):
"""Gives access to the configuration of a different module.
These remote module options can at this moment only be
accessed through get_remote_config_value(). This function
also subscribes to the channel of the remote module name
to receive the relevant updates. It is not possible to
specify your own handler for this right now, but you can
specify a callback that is called after the change happened.
start() must have been called on this CCSession
prior to the call to this method.
Returns the name of the module."""
module_spec = isc.config.module_spec_from_file(spec_file_name)
self._add_remote_config_internal(module_spec, config_update_callback)
return module_spec.get_module_name()
def remove_remote_config(self, module_name):
"""Removes the remote configuration access for this module"""
if module_name in self._remote_module_configs:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment