2016-09-30 14:19:47 -07:00
|
|
|
package samechannelgateway
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/42wim/matterbridge/bridge/config"
|
|
|
|
)
|
|
|
|
|
|
|
|
type SameChannelGateway struct {
|
2018-11-13 14:30:56 -08:00
|
|
|
config.Config
|
2016-09-30 14:19:47 -07:00
|
|
|
}
|
|
|
|
|
2018-11-13 14:30:56 -08:00
|
|
|
func New(cfg config.Config) *SameChannelGateway {
|
2017-04-01 08:24:19 -07:00
|
|
|
return &SameChannelGateway{Config: cfg}
|
2016-09-30 14:19:47 -07:00
|
|
|
}
|
|
|
|
|
2017-04-01 08:24:19 -07:00
|
|
|
func (sgw *SameChannelGateway) GetConfig() []config.Gateway {
|
|
|
|
var gwconfigs []config.Gateway
|
|
|
|
cfg := sgw.Config
|
2018-11-13 14:30:56 -08:00
|
|
|
for _, gw := range cfg.ConfigValues().SameChannelGateway {
|
2017-04-01 08:24:19 -07:00
|
|
|
gwconfig := config.Gateway{Name: gw.Name, Enable: gw.Enable}
|
|
|
|
for _, account := range gw.Accounts {
|
|
|
|
for _, channel := range gw.Channels {
|
|
|
|
gwconfig.InOut = append(gwconfig.InOut, config.Bridge{Account: account, Channel: channel, SameChannel: true})
|
|
|
|
}
|
2016-09-30 14:19:47 -07:00
|
|
|
}
|
2017-04-01 08:24:19 -07:00
|
|
|
gwconfigs = append(gwconfigs, gwconfig)
|
2016-09-30 14:19:47 -07:00
|
|
|
}
|
2017-04-01 08:24:19 -07:00
|
|
|
return gwconfigs
|
2016-11-11 06:23:22 -08:00
|
|
|
}
|