martinrotter/textosaurus

Plugin architecture

martinrotter opened this issue · 2 comments

Create robust plugin architecture with reasonable API access from plugins to main app functionality.

  • Separate all application logic to own shared library "libtextosaurus".
  • Work on separating inner components of Textosaurus from each other to allow for cleaner code.
  • Link that library by main executable "textosaurus" and also all plugins will link that library as it will contain definitions of some classes used in plugin API.
  • Test everything on Linux and possibly Mac OS X too.
  • Enhance Tab abstraction layer.

Notes on future plugin implementations

  • All plugins will have to be shipped in form of x64 shared libraries (on Windows).
  • All plugins will link against same Qt version/architecture as main project.
  • When localization will come to implementation, plugins will have to bundle QM files into their libs directly and then provide their names and lang codes via API method call.l

Note that even after this issue gets solved, we might need some complex adjustments of plugin API in the future.

Plugin architecture

?

No prob.