Develop a plugin system for Gazette.
Gazette needs a plugin system to support 3rd party services.
Blueprint information
- Status:
- Started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- Santiago Ocamica
- Definition:
- Approved
- Series goal:
- None
- Implementation:
-
Beta Available
- Milestone target:
- None
- Started by
- Santiago Ocamica
- Completed by
Whiteboard
Using DSO's (Dynamically Shared Objects) and GModule seems a good idea. Here's a sample from the vala documentation: https:/
- santi698
IMO our first work item would be writing a nice API. We could abstract as much as possible to the Service class and provide higher level subclasses such as TextService(For displaying text with a title), and whatever may be useful.
- santi698
Work Items
Work items:
Make a service library for 3rd party services to link against: DONE
Create a class to load and unload services (loading DONE, unloading TODO): INPROGRESS
Port all existing services to the new API: DONE
Package the library separately from gazette. (gazette-dev package): TODO
Dependency tree
![](deptree.png)
* Blueprints in grey have been implemented.