aboutsummaryrefslogtreecommitdiff
path: root/example.go
diff options
context:
space:
mode:
Diffstat (limited to 'example.go')
-rw-r--r--example.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/example.go b/example.go
new file mode 100644
index 0000000..8e10090
--- /dev/null
+++ b/example.go
@@ -0,0 +1,49 @@
1package main
2
3import (
4 "encoding/json"
5 "fmt"
6 "github.com/mcrute/go-inform/inform"
7 "io/ioutil"
8 "os"
9)
10
11func main() {
12 fp, err := os.Open("data/test_files/1.bin")
13 if err != nil {
14 fmt.Println("Error loading file")
15 return
16 }
17 defer fp.Close()
18
19 kp, err := os.Open("data/device_keys.json")
20 if err != nil {
21 fmt.Println("Error loading key file")
22 return
23 }
24 defer kp.Close()
25
26 var keys map[string]string
27 kd, _ := ioutil.ReadAll(kp)
28 json.Unmarshal(kd, &keys)
29
30 codec := &inform.Codec{keys}
31
32 msg, err := codec.Unmarshal(fp)
33 if err != nil {
34 fmt.Println(err.Error())
35 return
36 }
37
38 fmt.Printf("%s", msg)
39
40 out, _ := os.Create("test.out")
41 defer out.Close()
42
43 pkt, err := codec.Marshal(msg)
44 if err != nil {
45 fmt.Println(err.Error())
46 return
47 }
48 out.Write(pkt)
49}