Add getPluginByClass interface

Summary:
This deprecates the `getPlugin(String)` method and introduces
a `getPluginByClass(Class<T>)` instead which avoids having
to `instanceof`-check and then cast the result, which provides
a nicer experience for Java users.

Reviewed By: jknoxville

Differential Revision: D13277568

fbshipit-source-id: fb7b5b8c0180470ef0ad322559b5b7424520848b
This commit is contained in:
Pascal Hartig
2018-12-05 08:01:38 -08:00
committed by Facebook Github Bot
parent 606d689cae
commit 214f112c14
4 changed files with 45 additions and 21 deletions

View File

@@ -331,17 +331,18 @@ class JFlipperClient : public jni::HybridClass<JFlipperClient> {
static void registerNatives() {
registerHybrid({
makeNativeMethod("init", JFlipperClient::init),
makeNativeMethod("getInstance", JFlipperClient::getInstance),
makeNativeMethod("start", JFlipperClient::start),
makeNativeMethod("stop", JFlipperClient::stop),
makeNativeMethod("addPlugin", JFlipperClient::addPlugin),
makeNativeMethod("removePlugin", JFlipperClient::removePlugin),
makeNativeMethod("subscribeForUpdates", JFlipperClient::subscribeForUpdates),
makeNativeMethod("unsubscribe", JFlipperClient::unsubscribe),
makeNativeMethod("getPlugin", JFlipperClient::getPlugin),
makeNativeMethod("getState", JFlipperClient::getState),
makeNativeMethod("getStateSummary", JFlipperClient::getStateSummary),
makeNativeMethod("init", JFlipperClient::init),
makeNativeMethod("getInstance", JFlipperClient::getInstance),
makeNativeMethod("start", JFlipperClient::start),
makeNativeMethod("stop", JFlipperClient::stop),
makeNativeMethod("addPluginNative", JFlipperClient::addPlugin),
makeNativeMethod("removePluginNative", JFlipperClient::removePlugin),
makeNativeMethod(
"subscribeForUpdates", JFlipperClient::subscribeForUpdates),
makeNativeMethod("unsubscribe", JFlipperClient::unsubscribe),
makeNativeMethod("getPlugin", JFlipperClient::getPlugin),
makeNativeMethod("getState", JFlipperClient::getState),
makeNativeMethod("getStateSummary", JFlipperClient::getStateSummary),
});
}