summaryrefslogtreecommitdiff
path: root/src/module_list.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/module_list.lua')
-rw-r--r--src/module_list.lua16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/module_list.lua b/src/module_list.lua
index 26f2ff0..eb12b1f 100644
--- a/src/module_list.lua
+++ b/src/module_list.lua
@@ -58,20 +58,32 @@ module_list.output = nil
function module_list:init(opt)
local class, config = self:parse_config(opt.cmd_out)
if(not class) then return defines.KILL_DAEMON end
+ if(self.classes[class].properties.type ~= defines.OUT_MODULE and
+ self.classes[class].properties.type ~= defines.INOUT_MODULE) then
+ log.printf(log.ERROR, "module class '%s' cannot be used as output module", class);
+ return defines.KILL_DAEMON
+ end
log.printf(log.DEBUG, "output module class='%s'", class)
for k, v in pairs(config) do
log.printf(log.DEBUG, " config['%s'] = '%s'", k, v)
end
- self.output = self.classes[class]:new(config)
+ self.output = self.classes[class]:new(config, defines.OUT_MODULE)
for idx, input in ipairs(opt.cmd_ins) do
local class, config = self:parse_config(input)
if(not class) then return defines.KILL_DAEMON end
+ if(self.classes[class].properties.type ~= defines.IN_MODULE and
+ self.classes[class].properties.type ~= defines.INOUT_MODULE and
+ self.classes[class].properties.type ~= defines.MISC_MODULE) then
+ log.printf(log.ERROR, "module class '%s' cannot be used as input module", class);
+ return defines.KILL_DAEMON
+ end
+
log.printf(log.DEBUG, "input[%d] module class='%s'", idx, class)
for k, v in pairs(config) do
log.printf(log.DEBUG, " config['%s'] = '%s'", k, v)
end
- table.insert(self.inputs, self.classes[class]:new(config))
+ table.insert(self.inputs, self.classes[class]:new(config, defines.IN_MODULE))
end
return defines.OK