package zello

@Suppress("unused")
interface ZelloEvent {
    fun onChannelStatus(channel: String, status: String, userOnline: Int, error: String? = null, errorType: String? = null)
    fun onAudioData(streamID: Int, from:String, For: String, channel: String, data: ByteArray)
    fun onThumbnailImage(imageID: Int, from:String, For: String, channel: String, data: ByteArray, timestamp: Long)
    fun onFullImage(imageID: Int,from: String, For: String, channel: String,  data: ByteArray, timestamp: Long)
    fun onTextMessage(messageID: Int, from: String, For: String, channel: String, text: String, timestamp: Long)
    fun onLocation(messageID: Int, from: String, For: String, channel: String,  latitude: Double, longitude: Double, address:String, accuracy: Double, timestamp: Long )
    fun onConnected()
    fun onDisconnected(reason: String)
    fun onError(errorMessage: String)
    fun onStartStreaming(from: String, For: String, channel: String)
    fun onStopStreaming(from: String, For: String, channel: String)
    fun onStreamingData(from: String, For: String, channel: String, data: ByteArray)
}