Hallo,
ich wollte mich auch mal an der Erweiterung von TVBrowser beteiligen und hätte folgende Fragen:
1. warum findet der BeanShell Filter aufs verrecken nicht das TVRaterPlugin?
ich wollte nen Filter bauen der mir nur Sendungen ausspuckt die ne gute bewertung haben. Ich würde nur ungerne versuchen wollen aus den einer Sendung zugewiesenen Icons schlau zu werden... Irgendwelche Tipps?
2. auf welchem Wege kann ich mit anderen Plugins Interagieren. Nach http://wiki.tvbrowser.org/index.php/Das ... gins.28.29 soll ich ja getActivatedPlugins() benutzen, welches jedoch keine Plugins sondern nur deren Proxies (PluginAccess) zurückgibt, was mir nicht erlaubt konkrete Funktionalitäten von Plugins zu benutzen (z.B. "TVRaterPlugin.getDatabase()"). Wäre eine getPlugin() Methode für PluginAccess nicht sinnvoll?
Fragen zum neuen Pluginkonzept
Hmm, womit die möglichkeiten arg eingeschränkt sind... Wie wärs denn um eine Erweiterung über die bestimmte Schnittstellen abgefragt werden können (ähnlich wie bei Eclipse). So könnte ein Plugin funktionalität nach draussen Freigeben (in Form von Schnittstellen) bliebe aber noch veränderbar (solange es weiter besagte Schnittstellen Freigibt).. Konkret dachte ich an etwas in diesem Sinne:
die art des Interfaces müsste natürlich immer gleich sein, aber das liesse sich ja durch ordentliche Planung realisieren
Wobei natürlich die Frage im Raum steht wie notwendig inter-plugin kommunikation iss... ich fänds schon sinnvoll, natürlich forciert das kompatibilitätsprobleme zwischen den plugins
Code: Alles auswählen
interface PluginAccess{
...
Object queryInterface(String interface);
...
}
Wobei natürlich die Frage im Raum steht wie notwendig inter-plugin kommunikation iss... ich fänds schon sinnvoll, natürlich forciert das kompatibilitätsprobleme zwischen den plugins
Eine Möglichkeit zur Kommunikation ist geblieben ... :Anonymous hat geschrieben:Hmm, womit die möglichkeiten arg eingeschränkt sind...
Code: Alles auswählen
public boolean canReceivePrograms();
public void receivePrograms(Program[]);
Problematisch ist dieses Verfahren, wenn man dasselbe Plugin mit mehreren zueinander inkompatibelen TV-Browser-Versionen anbieten will. (1.0.1 vs. 2.x) Eine Eclipse-artige Lösung wäre hier auf lange Sicht neckisch.
Eigene implementationen von Program sind aber nicht gerade Ratsam...die sorgen dafür das es eventuell an anderen stellen "knallt" bei der Übergabe.
QueryInterface ist ja auch nich vieeel besser, da dort beide Plugins immernoch wissen müssen, was wer kann. Finde ich auch nich sooo elegant.
Plugins sollen nix voneinander wissen. Ist zwar etwas krass, aber nur so kann man gewährleisten, das alles funktioniert. Alles andere ist von der Wartung von uns nicht mehr leistbar.
QueryInterface ist ja auch nich vieeel besser, da dort beide Plugins immernoch wissen müssen, was wer kann. Finde ich auch nich sooo elegant.
Plugins sollen nix voneinander wissen. Ist zwar etwas krass, aber nur so kann man gewährleisten, das alles funktioniert. Alles andere ist von der Wartung von uns nicht mehr leistbar.