Files
w3dhub_linux_launcher/lib/worker/api.rb

92 lines
2.8 KiB
Ruby

# Helper for launcher frontend to safely communicate with launcher backend
module W3DHubLauncher
class Worker
class Api
# downloads requested resource, returns raw string
def self.fetch_url
end
# downloads requested resource, periodically reporting progress until completion, returning path for file on disk
def self.download_url(url, path, method = :get, headers = nil, body = nil, &block)
Worker::Request.new(:download_url, { url: url, path: path, method: method, headers: headers, body: body }, &block)
end
def self.dns_resolution(&block)
Worker::Request.new(:dns_resolution, "", &block)
end
# returns user account data
#
# automatically handles signing in / refreshing token (DOES NOT remove account data if failed to refresh token due to network timeout)
def self.account
end
# returns launcher settings
def self.settings
end
# returns raw json of launcher settings
def self.load_settings(&block)
Worker::Request.new(:load_settings, "", &block)
end
# write updated launcher settings
def self.update_settings(settings, &block)
Worker::Request.new(:update_settings, settings.to_json, &block)
end
# returns list of available applications
#
# if updated list is requested, return cached version immediately and then the updated list later.
def self.applications(&block)
W3DHubLauncher::Worker::Request.new(:w3dhub_api_call, { call: :fetch_applications }, &block)
end
# returns current list of servers as reported from GSH / cache
def self.servers
end
# returns news for application
def self.news(category = "launcher-home", &block)
Worker::Request.new(:news, category, &block)
end
# returns news for application
def self.events(app_id, &block)
Worker::Request.new(:events, app_id, &block)
end
# request installation of application
#
# periodically reports progress until completion
def self.install_application(app_id, channel_id)
end
# request update of application
#
# periodically reports progress until completion
def self.update_application(app_id, channel_id)
end
# request repair of application
#
# periodically reports progress until completion
def self.repair_application(app_id, channel_id)
end
# request relocation of application
#
# periodically reports progress until completion
def self.move_application(app_id, channel_id)
end
# request removal of application
#
# periodically reports progress until completion
def self.uninstall_application(app_id, channel_id)
end
end
end
end