-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCoderToolboxExtension.kt
38 lines (36 loc) · 1.79 KB
/
CoderToolboxExtension.kt
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
package com.coder.toolbox
import com.jetbrains.toolbox.api.core.PluginSecretStore
import com.jetbrains.toolbox.api.core.PluginSettingsStore
import com.jetbrains.toolbox.api.core.ServiceLocator
import com.jetbrains.toolbox.api.core.diagnostics.Logger
import com.jetbrains.toolbox.api.localization.LocalizableStringFactory
import com.jetbrains.toolbox.api.remoteDev.RemoteDevExtension
import com.jetbrains.toolbox.api.remoteDev.RemoteProvider
import com.jetbrains.toolbox.api.remoteDev.connection.ClientHelper
import com.jetbrains.toolbox.api.remoteDev.states.EnvironmentStateColorPalette
import com.jetbrains.toolbox.api.remoteDev.ui.EnvironmentUiPageManager
import com.jetbrains.toolbox.api.ui.ToolboxUi
import kotlinx.coroutines.CoroutineScope
import okhttp3.OkHttpClient
/**
* Entry point into the extension.
*/
class CoderToolboxExtension : RemoteDevExtension {
// All services must be passed in here and threaded as necessary.
override fun createRemoteProviderPluginInstance(serviceLocator: ServiceLocator): RemoteProvider {
return CoderRemoteProvider(
CoderToolboxContext(
serviceLocator.getService(ToolboxUi::class.java),
serviceLocator.getService(EnvironmentUiPageManager::class.java),
serviceLocator.getService(EnvironmentStateColorPalette::class.java),
serviceLocator.getService(ClientHelper::class.java),
serviceLocator.getService(CoroutineScope::class.java),
serviceLocator.getService(Logger::class.java),
serviceLocator.getService(LocalizableStringFactory::class.java),
serviceLocator.getService(PluginSettingsStore::class.java),
serviceLocator.getService(PluginSecretStore::class.java),
),
OkHttpClient(),
)
}
}