Class LauncherBackendImpl

java.lang.Object
pro.gravit.launcher.runtime.backend.LauncherBackendImpl
All Implemented Interfaces:
pro.gravit.launcher.core.backend.extensions.Extension, pro.gravit.launcher.core.backend.extensions.TextureUploadExtension, pro.gravit.launcher.core.backend.LauncherBackendAPI

public class LauncherBackendImpl extends Object implements pro.gravit.launcher.core.backend.LauncherBackendAPI, pro.gravit.launcher.core.backend.extensions.TextureUploadExtension
  • Nested Class Summary

    Nested classes/interfaces inherited from interface pro.gravit.launcher.core.backend.LauncherBackendAPI

    pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings, pro.gravit.launcher.core.backend.LauncherBackendAPI.DownloadCallback, pro.gravit.launcher.core.backend.LauncherBackendAPI.Java, pro.gravit.launcher.core.backend.LauncherBackendAPI.LauncherInitData, pro.gravit.launcher.core.backend.LauncherBackendAPI.MainCallback, pro.gravit.launcher.core.backend.LauncherBackendAPI.ReadyProfile, pro.gravit.launcher.core.backend.LauncherBackendAPI.ResourceLayer, pro.gravit.launcher.core.backend.LauncherBackendAPI.RunCallback, pro.gravit.launcher.core.backend.LauncherBackendAPI.ServerPingInfo
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser>
    authorize(String login, pro.gravit.launcher.core.api.method.AuthMethodPassword password)
     
    CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.ReadyProfile>
    downloadProfile(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile, pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings settings, pro.gravit.launcher.core.backend.LauncherBackendAPI.DownloadCallback callback)
     
    CompletableFuture<List<pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile>>
     
    fetchTexture(pro.gravit.launcher.core.api.model.Texture texture)
     
    CompletableFuture<pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.TextureUploadInfo>
     
    pro.gravit.launcher.core.api.method.AuthMethod
     
    pro.gravit.launcher.core.api.features.AuthFeatureAPI.AuthToken
     
    CompletableFuture<List<pro.gravit.launcher.core.backend.LauncherBackendAPI.Java>>
     
    List<pro.gravit.launcher.core.backend.LauncherBackendAPI.Java>
     
    <T extends pro.gravit.launcher.core.backend.extensions.Extension>
    T
    getExtension(Class<T> clazz)
     
    pro.gravit.launcher.core.api.model.UserPermissions
     
    pro.gravit.launcher.core.api.model.SelfUser
     
     
    pro.gravit.launcher.core.backend.UserSettings
    getUserSettings(String name, Function<String, pro.gravit.launcher.core.backend.UserSettings> ifNotExist)
     
    boolean
    hasPermission(String permission)
     
    CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.LauncherInitData>
     
     
    boolean
    isArchAvailable(pro.gravit.utils.helper.JVMHelper.ARCH arch)
     
    boolean
     
    pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings
    makeClientProfileSettings(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile)
     
    pro.gravit.launcher.core.backend.LauncherBackendAPI.ResourceLayer
    makeResourceLayer(List<Path> overlayList)
     
    CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.ServerPingInfo>
    pingServer(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile)
     
     
    void
    registerUserSettings(String name, Class<? extends pro.gravit.launcher.core.backend.UserSettings> clazz)
     
    void
    saveClientProfileSettings(pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings settings)
     
    void
    selectAuthMethod(pro.gravit.launcher.core.api.method.AuthMethod method)
     
    void
    setCallback(pro.gravit.launcher.core.backend.LauncherBackendAPI.MainCallback callback)
     
    void
     
    CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser>
     
    CompletableFuture<pro.gravit.launcher.core.api.model.Texture>
    uploadTexture(String name, byte[] bytes, pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.UploadSettings settings)
     
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LauncherBackendImpl

      public LauncherBackendImpl()
  • Method Details

    • setCallback

      public void setCallback(pro.gravit.launcher.core.backend.LauncherBackendAPI.MainCallback callback)
      Specified by:
      setCallback in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • init

      public CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.LauncherInitData> init()
      Specified by:
      init in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getAuthToken

      public pro.gravit.launcher.core.api.features.AuthFeatureAPI.AuthToken getAuthToken()
    • getAuthMethod

      public pro.gravit.launcher.core.api.method.AuthMethod getAuthMethod()
    • selectAuthMethod

      public void selectAuthMethod(pro.gravit.launcher.core.api.method.AuthMethod method)
      Specified by:
      selectAuthMethod in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • tryAuthorize

      public CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser> tryAuthorize()
      Specified by:
      tryAuthorize in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • authorize

      public CompletableFuture<pro.gravit.launcher.core.api.model.SelfUser> authorize(String login, pro.gravit.launcher.core.api.method.AuthMethodPassword password)
      Specified by:
      authorize in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • userExit

      public CompletableFuture<Void> userExit()
      Specified by:
      userExit in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • fetchProfiles

      public CompletableFuture<List<pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile>> fetchProfiles()
      Specified by:
      fetchProfiles in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • makeClientProfileSettings

      public pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings makeClientProfileSettings(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile)
      Specified by:
      makeClientProfileSettings in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • saveClientProfileSettings

      public void saveClientProfileSettings(pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings settings)
      Specified by:
      saveClientProfileSettings in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • downloadProfile

      public CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.ReadyProfile> downloadProfile(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile, pro.gravit.launcher.core.backend.LauncherBackendAPI.ClientProfileSettings settings, pro.gravit.launcher.core.backend.LauncherBackendAPI.DownloadCallback callback)
      Specified by:
      downloadProfile in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • fetchTexture

      public CompletableFuture<byte[]> fetchTexture(pro.gravit.launcher.core.api.model.Texture texture)
      Specified by:
      fetchTexture in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getAvailableJava

      public CompletableFuture<List<pro.gravit.launcher.core.backend.LauncherBackendAPI.Java>> getAvailableJava()
      Specified by:
      getAvailableJava in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getCustomJava

      public List<pro.gravit.launcher.core.backend.LauncherBackendAPI.Java> getCustomJava()
    • isArchAvailable

      public boolean isArchAvailable(pro.gravit.utils.helper.JVMHelper.ARCH arch)
    • pingServer

      public CompletableFuture<pro.gravit.launcher.core.backend.LauncherBackendAPI.ServerPingInfo> pingServer(pro.gravit.launcher.core.api.features.ProfileFeatureAPI.ClientProfile profile)
      Specified by:
      pingServer in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • registerUserSettings

      public void registerUserSettings(String name, Class<? extends pro.gravit.launcher.core.backend.UserSettings> clazz)
      Specified by:
      registerUserSettings in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getUserSettings

      public pro.gravit.launcher.core.backend.UserSettings getUserSettings(String name, Function<String, pro.gravit.launcher.core.backend.UserSettings> ifNotExist)
      Specified by:
      getUserSettings in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getPermissions

      public pro.gravit.launcher.core.api.model.UserPermissions getPermissions()
      Specified by:
      getPermissions in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • hasPermission

      public boolean hasPermission(String permission)
      Specified by:
      hasPermission in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getUsername

      public String getUsername()
      Specified by:
      getUsername in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getSelfUser

      public pro.gravit.launcher.core.api.model.SelfUser getSelfUser()
      Specified by:
      getSelfUser in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • isTestMode

      public boolean isTestMode()
      Specified by:
      isTestMode in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • makeResourceLayer

      public pro.gravit.launcher.core.backend.LauncherBackendAPI.ResourceLayer makeResourceLayer(List<Path> overlayList)
      Specified by:
      makeResourceLayer in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • getExtension

      public <T extends pro.gravit.launcher.core.backend.extensions.Extension> T getExtension(Class<T> clazz)
      Specified by:
      getExtension in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • shutdown

      public void shutdown()
      Specified by:
      shutdown in interface pro.gravit.launcher.core.backend.LauncherBackendAPI
    • fetchTextureUploadInfo

      public CompletableFuture<pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.TextureUploadInfo> fetchTextureUploadInfo()
      Specified by:
      fetchTextureUploadInfo in interface pro.gravit.launcher.core.backend.extensions.TextureUploadExtension
    • uploadTexture

      public CompletableFuture<pro.gravit.launcher.core.api.model.Texture> uploadTexture(String name, byte[] bytes, pro.gravit.launcher.core.api.features.TextureUploadFeatureAPI.UploadSettings settings)
      Specified by:
      uploadTexture in interface pro.gravit.launcher.core.backend.extensions.TextureUploadExtension
    • processHardware

      public CompletableFuture<Void> processHardware()
    • initVfsDirectory

      public Path initVfsDirectory()