From 28ad3c8e6a7d435bc64a47be259c656b19181094 Mon Sep 17 00:00:00 2001 From: mappu Date: Sat, 2 Apr 2016 14:27:48 +1300 Subject: [PATCH] libnmdc: reintroduce sample client as part of main package --- src/libnmdc/libnmdc_sample.go | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/libnmdc/libnmdc_sample.go diff --git a/src/libnmdc/libnmdc_sample.go b/src/libnmdc/libnmdc_sample.go new file mode 100644 index 0000000..45b08f9 --- /dev/null +++ b/src/libnmdc/libnmdc_sample.go @@ -0,0 +1,38 @@ +// +build ignore + +// This sample file demonstrates use of the libnmdc.go library. It's excluded +// when building the library package, but you can run it via `go run libnmdc_sample.go`. + +package main + +import ( + "fmt" + "libnmdc" +) + +func main() { + + opts := libnmdc.HubConnectionOptions{ + Address: "127.0.0.1", + Self: libnmdc.UserInfo{Nick: "slowpoke9"}, + } + hub := opts.Connect() + + for { + event := <-hub.OnEvent + switch event.EventType { + case libnmdc.EVENT_CONNECTION_STATE_CHANGED: + fmt.Printf("Connection -- %s (%s)\n", event.StateChange.Format(), event.Message) + + case libnmdc.EVENT_PUBLIC: + fmt.Printf("Message from '%s': '%s'\n", event.Nick, event.Message) + if event.Message == "how are you" { + hub.SayPublic("good thanks!") + } + + default: + fmt.Printf("%+v\n", event) + + } + } +}