public override void handle(EzyArray data) { int pluginId = data.get <int>(0); EzyArray commandData = data.get <EzyArray>(1); String cmd = commandData.get <String>(0); EzyData responseData = commandData.get <EzyData>(1, null); EzyPlugin plugin = client.getPluginById(pluginId); if (plugin == null) { logger.info("receive message when has not joined plugin yet"); return; } EzyPluginDataHandler dataHandler = plugin.getDataHandler(cmd); if (dataHandler != null) { dataHandler.handle(plugin, responseData); } else { logger.warn("plugin: " + plugin.getName() + " has no handler for command: " + cmd); } }
public EzyPlugin getPluginById(int pluginId) { if (zone != null) { EzyPluginManager pluginManager = zone.getPluginManager(); EzyPlugin plugin = pluginManager.getPluginById(pluginId); return(plugin); } return(null); }
public EzyPlugin getPluginByName(String pluginName) { EzyPlugin plugin = null; if (pluginsByName.ContainsKey(pluginName)) { plugin = pluginsByName[pluginName]; } return(plugin); }
public EzyPlugin getPluginById(int pluginId) { EzyPlugin plugin = null; if (pluginsById.ContainsKey(pluginId)) { plugin = pluginsById[pluginId]; } return(plugin); }
public EzyPlugin getPlugin() { if (pluginList.Count == 0) { throw new ArgumentException("has no plugin in zone: " + zoneName); } EzyPlugin plugin = pluginList[0]; return(plugin); }
public override void handle(EzyArray data) { EzyZone zone = client.getZone(); EzyPluginManager pluginManager = zone.getPluginManager(); EzyPlugin plugin = newPlugin(zone, data); pluginManager.addPlugin(plugin); postHandle(plugin, data); logger.info("access plugin: " + plugin.getName() + " successfully"); }
public EzyPlugin removePlugin(int pluginId) { EzyPlugin plugin = null; if (pluginsById.ContainsKey(pluginId)) { plugin = pluginsById[pluginId]; pluginsById.Remove(pluginId); pluginsByName.Remove(plugin.getName()); pluginList.Remove(plugin); } return(plugin); }
public void addPlugin(EzyPlugin plugin) { this.pluginList.Add(plugin); this.pluginsById[plugin.getId()] = plugin; this.pluginsByName[plugin.getName()] = plugin; }
public void handle(EzyPlugin plugin, EzyData data) { process(plugin, (D)data); }
protected abstract void process(EzyPlugin plugin, D data);
protected virtual void postHandle(EzyPlugin plugin, EzyArray data) { }
protected override void process(EzyPlugin plugin, EzyObject data) { var result = data.get <int>("result"); spinResponseEvent?.Invoke(result); }
protected override void postHandle(EzyPlugin plugin, EzyArray data) { logger.debug("Completed setting up socket client!"); socketSetupCompletedEvent?.Invoke(); }