abu_ilya Geplaatst: 14 juli 2006 Geplaatst: 14 juli 2006 Om een plugin op te starten vanaf de commandolijn (voor testdoeleinden) kan je het volgende doen op de dreambox: wget -q -O- http://root:myrootpass@127.0.0.1/cgi-bin/startPlugin?name=pluginname.cfg gezien hier gebruik gemaakt wordt van een cgi lijkt het me dat het ook moet mogelijk zijn dit eenvoudiger rechtstreeks te doen vanaf de commandolijn. Weet iemand hier hoe? abu_ilya p.s. ik zoek _niet_ naar click en point "grafische omgevingen als oplossing"
oudeis Geplaatst: 14 juli 2006 Geplaatst: 14 juli 2006 Ik heb de sources nog niet bekeken, maar volgens mij wordt er geen gebruik gemaakt van cgi (al doet het pad dat wel vermoeden). De webserver is geintegreerd in enigma, als dit pad wordt meegegeven, wordt de bijbehorende methode in de webserver uitgevoerd, die vervolgens de enigma-plugin start. Alles blijft dus binnen enigma zelf. - Ruud
abu_ilya Geplaatst: 15 juli 2006 Auteur Geplaatst: 15 juli 2006 Citaat: Ik heb de sources nog niet bekeken, maar volgens mij wordt er geen gebruik gemaakt van cgi (al doet het pad dat wel vermoeden). De webserver is geintegreerd in enigma, als dit pad wordt meegegeven, wordt de bijbehorende methode in de webserver uitgevoerd, die vervolgens de enigma-plugin start. Alles blijft dus binnen enigma zelf. - Ruud waar kan ik die sources vinden? abu_ilya
oudeis Geplaatst: 15 juli 2006 Geplaatst: 15 juli 2006 Sources vind je op cvs.tuxbox.org (instructies en meer info vind je hier op het forum - even zoeken) De webinterface bestaat uit de enigma_dyn* modules. Relevant voor plugins is enigma_dyn_misc Code: static eString startPlugin(eString request, eString dirpath, eString opt, eHTTPConnection *content){ std::map<eString, eString> opts = getRequestOptions(opt, '&'); if (opts.find("name") == opts.end()) return "E: no plugin name given"; eZapPlugins plugins(-1); eString path; if (opts.find("path") != opts.end()) { path = opts["path"]; if (path.length() && (path[path.length()-1] != '/')) path += '/'; } if (ePluginThread::getInstance()) ePluginThread::getInstance()->kill(true); return plugins.execPluginByName((path + opts["name"]).c_str());}dyn_resolver->addDyn("GET", "/cgi-bin/startPlugin", startPlugin, lockWeb); Laatste regel koppelt de methode startPlugin aan een GET request voor /cgi-bin/startPlugin. Lijkt me dat wget de enige manier is om via de cmdline wat te doen.
Aanbevolen berichten
Maak een account aan of log in om te reageren
Je moet een lid zijn om een reactie te kunnen achterlaten
Account aanmaken
Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!
Registreer een nieuwe accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen