zentrales Applikation Register

  • Moin Moin zusammen,
    hab ne Idee aus einem Problem heraus geboren. Wie einige Wissen bin ich dabei einen Emailclient zu schreiben. Und da in Emails z.T. ja Dateien angehängt sind, tauchte die Frage hier auf, was man mit diesen anstellen könnte. Klar, irgendwo speichern auch der Box ist klar.


    Wenn man aber nun ein Bild, ein MP3 , eine Textdatei oder auch ein IPKG müste man es erst speichern, dann den Emailclient schließen und es mit der entsprechenen App öffnen.


    Nun hatte ich versucht, bei einem Bild, den PicturePlayer direkt anzusprechen und ihn dazu zu bewegen, dieses Bild aus dem Anhang einer Email anzuzeigen. Bin allerding daran gescheitert, das ich keine entsprechende Funtion zum direkten Aufruf gefunden habe. Dito mit dem IPKG-Installer.


    So, nun zu dem Vorschlag. Wie wäre es, wenn man ein zentrales Register hätte, wo sich jede App mit Funktionen anmelden kann?


    Entweder man macht das über Extensions oder über MIME-Types.


    Ein Texteditor würde das so machen:
    AppRegister.addFuntion(AppRegister.OPEN,"text/plain",self.playfunc)
    AppRegister.addFuntion(AppRegister.EDIT,"text/plain",self.playfunc)


    Der IPKG-Installer:
    AppRegister.addFuntion(AppRegister.EDIT,"application/x-ipkg",self.playfunc)


    Der Medieplayer evtl. so:
    AppRegister.addFuntion(AppRegister.PLAY,"video/mpeg",self.playfunc)


    Der PicturePlayer
    AppRegister.addFuntion(AppRegister.PLAY,"image/jpeg",self.playfunc)



    So, und wenn nun eine Applikation eine Datei hat und dem User nun Funktionen zu dieser Datei anbieten will, ruft die das Appregister auf und dieses kümmert sich um alles weitere:


    AppRegister.handleRegest("image/jpeg",pathToFile)


    Wenn dort bei einem Dateityp nun mehrere Aktionen (speichern,abspielen) oder mehrere Applikationen (wenn zb. zwei Bilderviewer) vorhanden sind, fragt das Register beim User mit entsprechenden Dialogen nach, was mit der Datei passieren soll. Die Quellapp hat damit aber keine Sorgen mehr.


    Der Vorteil einer solchen Vorgehensweise läge in meinen Augen darin, das das Zusammenspiel zwischen verschiedenen Plugins und Systemfunktionen erleichtert werden könnte bzw. Synergieeffekte auftreten können.


    Ist im Endeffekt keine bahnbrechende Erfindung aber wäre doch nützlich.