forked from genofire/unified-push-xmpp
49 lines
1.0 KiB
Go
49 lines
1.0 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
"errors"
|
|
|
|
"github.com/bdlm/log"
|
|
"unifiedpush.org/go/np2p_dbus/distributor"
|
|
)
|
|
|
|
var dbus *distributor.DBus
|
|
|
|
func main() {
|
|
dbus = distributor.NewDBus("org.unifiedpush.Distributor.xmpp")
|
|
dbus.StartHandling(handler{})
|
|
|
|
log.Info("startup")
|
|
|
|
// Wait for INT/TERM
|
|
sigs := make(chan os.Signal, 1)
|
|
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
|
sig := <-sigs
|
|
log.Infof("received %s", sig)
|
|
}
|
|
|
|
type handler struct {
|
|
}
|
|
|
|
func (h handler) Register(appName, token string) (string,string,error) {
|
|
log.WithFields(map[string]interface{}{
|
|
"name": appName,
|
|
"token": token,
|
|
}).Info("distributor-register")
|
|
endpoint := "https://up.chat.sum7.eu/UP?appid="+appName+"&token="+token
|
|
if endpoint != "" {
|
|
return endpoint, "", nil
|
|
}
|
|
return "", "reason to app", errors.New("Unknown error")
|
|
}
|
|
func (h handler) Unregister(token string) {
|
|
log.WithFields(map[string]interface{}{
|
|
"token": token,
|
|
}).Info("distributor-unregister")
|
|
appID := ""
|
|
_ = dbus.NewConnector(appID).Unregistered(token)
|
|
}
|