2016-09-30 21:19:47 +00:00
|
|
|
package samechannelgateway
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/42wim/matterbridge/bridge/config"
|
|
|
|
)
|
|
|
|
|
|
|
|
type SameChannelGateway struct {
|
2018-11-13 22:30:56 +00:00
|
|
|
config.Config
|
2016-09-30 21:19:47 +00:00
|
|
|
}
|
|
|
|
|
2018-11-13 22:30:56 +00:00
|
|
|
func New(cfg config.Config) *SameChannelGateway {
|
2017-04-01 15:24:19 +00:00
|
|
|
return &SameChannelGateway{Config: cfg}
|
2016-09-30 21:19:47 +00:00
|
|
|
}
|
|
|
|
|
2017-04-01 15:24:19 +00:00
|
|
|
func (sgw *SameChannelGateway) GetConfig() []config.Gateway {
|
|
|
|
var gwconfigs []config.Gateway
|
|
|
|
cfg := sgw.Config
|
2018-11-13 22:30:56 +00:00
|
|
|
for _, gw := range cfg.ConfigValues().SameChannelGateway {
|
2017-04-01 15:24:19 +00: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 21:19:47 +00:00
|
|
|
}
|
2017-04-01 15:24:19 +00:00
|
|
|
gwconfigs = append(gwconfigs, gwconfig)
|
2016-09-30 21:19:47 +00:00
|
|
|
}
|
2017-04-01 15:24:19 +00:00
|
|
|
return gwconfigs
|
2016-11-11 14:23:22 +00:00
|
|
|
}
|