summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/mattermost/rsc/google/chat.go
blob: 8e9ae1c50507fab75f5c37f36c55d3e2a13a8888 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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{})
}