package computician.janusclientapi; import org.json.JSONException; import org.json.JSONObject; /** * Created by ben.trent on 6/25/2015. */ public class JanusAttachPluginTransaction implements ITransactionCallbacks { private final IJanusAttachPluginCallbacks callbacks; private final JanusSupportedPluginPackages plugin; private final IJanusPluginCallbacks pluginCallbacks; public JanusAttachPluginTransaction(IJanusAttachPluginCallbacks callbacks, JanusSupportedPluginPackages plugin, IJanusPluginCallbacks pluginCallbacks) { this.callbacks = callbacks; this.plugin = plugin; this.pluginCallbacks = pluginCallbacks; } public TransactionType getTransactionType() { return TransactionType.attach; } @Override public void reportSuccess(JSONObject obj) { try { JanusMessageType type = JanusMessageType.fromString(obj.getString("janus")); if (type != JanusMessageType.success) { callbacks.onCallbackError(obj.getJSONObject("error").getString("reason")); } else { callbacks.attachPluginSuccess(obj, plugin, pluginCallbacks); } } catch (JSONException ex) { callbacks.onCallbackError(ex.getMessage()); } } }