|
|
|
package client
|
|
|
|
|
|
|
|
type (
|
|
|
|
ZelloCodecHeader struct {
|
|
|
|
SampleRate uint16
|
|
|
|
FramesPerPaket int
|
|
|
|
FrameSize int
|
|
|
|
|
|
|
|
PacketDuration int
|
|
|
|
}
|
|
|
|
ZelloLocation struct {
|
|
|
|
Latitude float64 `json:"latitude"`
|
|
|
|
Longitude float64 `json:"longitude"`
|
|
|
|
FormatedAddress string `json:"formatted_address"`
|
|
|
|
Accuracy float64 `json:"accuracy"`
|
|
|
|
}
|
|
|
|
ZelloCommand struct {
|
|
|
|
Command string `json:"command"`
|
|
|
|
Sequence int64 `json:"seq"`
|
|
|
|
}
|
|
|
|
ZelloResponse struct {
|
|
|
|
Sequence int64 `json:"seq"`
|
|
|
|
Command string `json:"command"`
|
|
|
|
}
|
|
|
|
ZelloResponsePacked struct {
|
|
|
|
ZelloResponse ZelloResponse
|
|
|
|
Raw map[string]interface{}
|
|
|
|
}
|
|
|
|
// Actual Cmds
|
|
|
|
ZelloLogonReq struct {
|
|
|
|
ZelloCommand
|
|
|
|
Username string `json:"username"`
|
|
|
|
Password string `json:"password"`
|
|
|
|
|
|
|
|
Channels []string `json:"channels,omitempty"`
|
|
|
|
AuthToken string `json:"auth_token,omitempty"`
|
|
|
|
ListenOnly bool `json:"listen_only,omitempty"`
|
|
|
|
|
|
|
|
PlatformType string `json:"platform_type,omitempty"`
|
|
|
|
PlatformName string `json:"platform_name,omitempty"`
|
|
|
|
}
|
|
|
|
ZelloLogonResp struct {
|
|
|
|
ZelloResponse
|
|
|
|
Success bool `json:"success"`
|
|
|
|
ErrorMsg string `json:"error,omitempty"`
|
|
|
|
}
|
|
|
|
// start_stream
|
|
|
|
ZelloStartStreamReq struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
Type string `json:"type"`
|
|
|
|
Codec string `json:"codec"`
|
|
|
|
CodecHeader string `json:"codec_header"`
|
|
|
|
PacketDuration float64 `json:"packet_duration"`
|
|
|
|
For string `json:"for,omitempty"`
|
|
|
|
}
|
|
|
|
ZelloStartStreamResp struct {
|
|
|
|
ZelloResponse
|
|
|
|
Success bool `json:"success"`
|
|
|
|
ErrorMsg string `json:"error,omitempty"`
|
|
|
|
StreamID int64 `json:"stream_id"`
|
|
|
|
}
|
|
|
|
// stop_stream
|
|
|
|
ZelloStopStreamReq struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
StreamID int64 `json:"stream_id"`
|
|
|
|
}
|
|
|
|
|
|
|
|
//Messages
|
|
|
|
ZelloSendTextMessage struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
Text string `json:"text"`
|
|
|
|
For string `json:"for,omitempty"`
|
|
|
|
}
|
|
|
|
ZelloSendLocation struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
ZelloLocation
|
|
|
|
For string `json:"for,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// Events
|
|
|
|
ZelloOnStreamStartEvent struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
StreamID int64 `json:"stream_id"`
|
|
|
|
Codec string `json:"codec"`
|
|
|
|
Type string `json:"type"`
|
|
|
|
From string `json:"from"`
|
|
|
|
CodecHeader string `json:"codec_header"`
|
|
|
|
PacketDuration float64 `json:"packet_duration"`
|
|
|
|
}
|
|
|
|
ZelloOnChannelStatusEvent struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
Status string `json:"status"`
|
|
|
|
UsersOnline float64 `json:"users_online"`
|
|
|
|
ImagesSupported bool `json:"images_supported"`
|
|
|
|
TextingSupported bool `json:"texting_supported"`
|
|
|
|
LocationsSupported bool `json:"locations_supported"`
|
|
|
|
}
|
|
|
|
ZelloOnStreamStopEvent struct {
|
|
|
|
ZelloCommand
|
|
|
|
StreamID int64 `json:"stream_id"`
|
|
|
|
}
|
|
|
|
ZelloOnTextMessageEvent struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
From string `json:"from"`
|
|
|
|
For string `json:"for,omitempty"`
|
|
|
|
MessageID int64 `json:"message_id"`
|
|
|
|
Text string `json:"text"`
|
|
|
|
}
|
|
|
|
ZelloOnLocationEvent struct {
|
|
|
|
ZelloCommand
|
|
|
|
Channel string `json:"channel"`
|
|
|
|
From string `json:"from"`
|
|
|
|
For string `json:"for,omitempty"`
|
|
|
|
MessageID int64 `json:"message_id"`
|
|
|
|
ZelloLocation
|
|
|
|
}
|
|
|
|
)
|