diff options
Diffstat (limited to 'vendor/github.com/mattermost/rsc/google/chat.go')
-rw-r--r-- | vendor/github.com/mattermost/rsc/google/chat.go | 39 |
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{}) +} |