summaryrefslogtreecommitdiff
path: root/platform/remoteDev-util/src/com/intellij/remoteDev/thinClientLink/ClientLinkModels.kt
blob: 11179bb3ea49d6bfb7a1625e969e701dfa767fb0 (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
40
41
42
43
package com.intellij.remoteDev.thinClientLink

import kotlinx.serialization.Serializable

@Serializable
sealed class GtwToClientMessage {
  @Serializable
  data class UpdateLink(val newLink: String, val forceReconnect: Boolean) : GtwToClientMessage()

  @Serializable
  object GatewayReconnecting : GtwToClientMessage()

  // invoke backend restart
  @Serializable
  object RestartReady : GtwToClientMessage()

  @Serializable
  object GatewayClose : GtwToClientMessage()

  @Serializable
  data class GatewayLogs(val gtwLogs: String) : GtwToClientMessage()
}


@Serializable
sealed class ClientToGtwMessage {
  @Serializable
  object ClientClosing : ClientToGtwMessage()

  // ask GTW to prepare restart flag and response with RestartReady
  @Serializable
  object ClientRestart : ClientToGtwMessage()

  @Serializable
  object ClientAsksLogs : ClientToGtwMessage()

  @Serializable
  data class ProjectOpenFailed(val exitCode: Int) : ClientToGtwMessage()

  @Serializable
  object Ping : ClientToGtwMessage()
}