1/*2Maddy Mail Server - Composable all-in-one email server.3Copyright © 2019-2020 Max Mazurov <fox.cpp@disroot.org>, Maddy Mail Server contributors45This program is free software: you can redistribute it and/or modify6it under the terms of the GNU General Public License as published by7the Free Software Foundation, either version 3 of the License, or8(at your option) any later version.910This program is distributed in the hope that it will be useful,11but WITHOUT ANY WARRANTY; without even the implied warranty of12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13GNU General Public License for more details.1415You should have received a copy of the GNU General Public License16along with this program. If not, see <https://www.gnu.org/licenses/>.17*/1819package msgpipeline2021import (22 "github.com/foxcpp/maddy/framework/config"23 "github.com/foxcpp/maddy/framework/log"24 "github.com/foxcpp/maddy/framework/module"25)2627type Module struct {28 instName string29 log log.Logger30 *MsgPipeline31}3233func NewModule(modName, instName string, aliases, inlineArgs []string) (module.Module, error) {34 return &Module{35 log: log.Logger{Name: "msgpipeline"},36 instName: instName,37 }, nil38}3940func (m *Module) Init(cfg *config.Map) error {41 var hostname string42 cfg.String("hostname", true, true, "", &hostname)43 cfg.Bool("debug", true, false, &m.log.Debug)44 cfg.AllowUnknown()45 other, err := cfg.Process()46 if err != nil {47 return err48 }4950 p, err := New(cfg.Globals, other)51 if err != nil {52 return err53 }54 m.MsgPipeline = p55 m.MsgPipeline.Log = m.log5657 return nil58}5960func (m *Module) Name() string {61 return "msgpipeline"62}6364func (m *Module) InstanceName() string {65 return m.instName66}6768func init() {69 module.Register("msgpipeline", NewModule)70}