Capabilities now per-connection thing, new connection structure and proper MODE READER stub.

This commit is contained in:
2019-09-10 01:07:36 +05:00
parent 28ddc32368
commit f5b1f9d9f9
3 changed files with 133 additions and 39 deletions

View File

@@ -6,7 +6,6 @@ import (
// local
"develop.pztrn.name/gonews/gonews/eventer"
"develop.pztrn.name/gonews/gonews/networker"
)
var capabilities = []string{
@@ -16,13 +15,14 @@ var capabilities = []string{
func Initialize() {
log.Println("Initializing capabilities command...")
// Global capabilities adder.
eventer.AddEventHandler(&eventer.EventHandler{
Command: "internal/capability_add",
Handler: addCapability,
})
eventer.AddEventHandler(&eventer.EventHandler{
Command: "commands/capabilities",
Command: "internal/capabilities",
Handler: handler,
})
}
@@ -33,12 +33,18 @@ func addCapability(data interface{}) interface{} {
return nil
}
func handler(data interface{}) interface{} {
dataToReturn := "Capability list:\r\n"
//func handler(data interface{}) interface{} {
// dataToReturn := "Capability list:\r\n"
//
// for _, cap := range capabilities {
// dataToReturn += cap + "\r\n"
// }
// dataToReturn += ".\r\n"
// return &networker.Reply{Code: "101", Data: dataToReturn}
//}
for _, cap := range capabilities {
dataToReturn += cap + "\r\n"
}
dataToReturn += ".\r\n"
return &networker.Reply{Code: "101", Data: dataToReturn}
func handler(data interface{}) interface{} {
caps := make([]string, len(capabilities))
copy(caps, capabilities)
return caps
}