Package 

Interface RuntimeFfiInterface


  • 
    public interface RuntimeFfiInterface
    
                        

    Slim wrapper around HolochainRuntime, with types compatible with Uniffi-generated FFI bindings.

    • Method Summary

      Modifier and Type Method Description
      abstract Unit authorizeAppClient(String clientId, String installedAppId) Authorize a client to call the given app id
      abstract Unit disableApp(String installedAppId) Disable an installed app
      abstract AppInfoFfi enableApp(String installedAppId) Enable an installed app
      abstract AppAuthFfi ensureAppWebsocket(String installedAppId) Get or create an app websocket with an authentication for the given app id
      abstract AppInfoFfi installApp(InstallAppPayloadFfi payload) Install an app
      abstract Boolean isAppClientAuthorized(String clientId, String installedAppId) Is this client authorized to call the given app id?
      abstract Boolean isAppInstalled(String installedAppId) Is an app with the given installed_app_id installed on the conductor
      abstract List<AppInfoFfi> listApps() List apps installed on the conductor
      abstract AppAuthFfi setupApp(InstallAppPayloadFfi payload, Boolean enableAfterInstall) Full process to setup an appCheck if app is installed, if not install it, then optionally enable it.
      abstract ZomeCallFfi signZomeCall(ZomeCallUnsignedFfi zomeCallUnsigned) Sign a zome call
      abstract Unit stop() Shutdown the holochain conductor
      abstract Unit uninstallApp(String installedAppId) Uninstall an app
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • enableApp

         abstract AppInfoFfi enableApp(String installedAppId)

        Enable an installed app

      • ensureAppWebsocket

         abstract AppAuthFfi ensureAppWebsocket(String installedAppId)

        Get or create an app websocket with an authentication for the given app id

      • installApp

         abstract AppInfoFfi installApp(InstallAppPayloadFfi payload)

        Install an app

      • isAppInstalled

         abstract Boolean isAppInstalled(String installedAppId)

        Is an app with the given installed_app_id installed on the conductor

      • listApps

         abstract List<AppInfoFfi> listApps()

        List apps installed on the conductor

      • setupApp

         abstract AppAuthFfi setupApp(InstallAppPayloadFfi payload, Boolean enableAfterInstall)

        Full process to setup an app

        Check if app is installed, if not install it, then optionally enable it. Then ensure there is an app websocket and authentication for it.

        If an app is already installed, it will not be enabled. It is only enabled after a successful install. The reasoning is that if an app is disabled after that point, it is assumed to have been manually disabled in the admin interface, which we don't want to override.

      • signZomeCall

         abstract ZomeCallFfi signZomeCall(ZomeCallUnsignedFfi zomeCallUnsigned)

        Sign a zome call

      • stop

         abstract Unit stop()

        Shutdown the holochain conductor