package rpcs

import (
	"sparrow/pkg/protocol"
)

type ArgsSetStatus struct {
	DeviceId string
	Status   []protocol.SubData
}
type ReplySetStatus ReplyEmptyResult

type ArgsGetStatus struct {
	Id          string
	ProductId   string
	VendorId    string
	SubDeviceId string
	Key         string
}
type ReplyGetStatus struct {
	Status []protocol.SubData
}

type ArgsSendCommand struct {
	DeviceId  string
	SubDevice string
	Cmd       string
	WaitTime  uint32
	Params    map[string]interface{}
}
type ArgsPublishMessage struct {
	Topic   string
	Payload []byte
}

type ReplySendCommand ReplyEmptyResult

type ArgsDeviceUpgrade struct {
	DeviceId    string
	SudDeviceId string
	Url         string
	Md5         string
	Version     string
	FileSize    int64
}

type ArgsSendByteData struct {
	DeviceId  string
	SubDevice string
	Cmd       string
	WaitTime  uint32
	Data      []byte
	Params    map[string]interface{}
}

type ArgsUpgrade4G struct {
	DeviceId string
	FileId   string
	FileSize int64
}

type ChunkUpgrade struct {
	DeviceId string
	FileId   int
	FileSize int64
	Size     int64
	Offset   int
}

type ReplyStatus struct {
	Status string
}

type ReplayInfo struct {
	Info string
}

type ReplayEvent struct {
	Event string
}

type ArgsGetWeather struct {
	Location string
}

type ReplayWeatherInfo struct {
	Info string
}

type ArgsSetWeather struct {
	Location string
	Info     string
}
