summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mattermost/rsc/google/chat.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mattermost/rsc/google/chat.go')
-rw-r--r--vendor/github.com/mattermost/rsc/google/chat.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/mattermost/rsc/google/chat.go b/vendor/github.com/mattermost/rsc/google/chat.go
new file mode 100644
index 000000000..8e9ae1c50
--- /dev/null
+++ b/vendor/github.com/mattermost/rsc/google/chat.go
@@ -0,0 +1,39 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package google
+
+import "github.com/mattermost/rsc/xmpp"
+
+type ChatID struct {
+ ID string
+ Email string
+ Status xmpp.Status
+ StatusMsg string
+}
+
+type ChatSend struct {
+ ID *ChatID
+ Msg xmpp.Chat
+}
+
+func (g *Client) ChatRecv(cid *ChatID) (*xmpp.Chat, error) {
+ var msg xmpp.Chat
+ if err := g.client.Call("goog.ChatRecv", cid, &msg); err != nil {
+ return nil, err
+ }
+ return &msg, nil
+}
+
+func (g *Client) ChatStatus(cid *ChatID) error {
+ return g.client.Call("goog.ChatRecv", cid, &Empty{})
+}
+
+func (g *Client) ChatSend(cid *ChatID, msg *xmpp.Chat) error {
+ return g.client.Call("goog.ChatSend", &ChatSend{cid, *msg}, &Empty{})
+}
+
+func (g *Client) ChatRoster(cid *ChatID) error {
+ return g.client.Call("goog.ChatRoster", cid, &Empty{})
+}