app_server DecorManager + DecorInfo patch
|Reported by:||looncraz||Owned by:||axeld|
|Has a Patch:||yes||Platform:||All|
Multiple changes in this one, all very tight knit so no real way to separate them, sorry.
- app_server: DecorManager: reduce responsibilities, remove DecorAddOn list
- Implement DecorInfo in interface ( libbe.so )
- Implement DecorInfoUtility to attain any and all information related to decorators
- Make changes to InterfaceDefs.cpp private functions to suit reduced server-side responsibilities
- Implement live previewing as part of modifications.
- Attach descriptive resources to each decorator to satiate DecorInfo
- Modify setdecor utility to use DecorInfoUtility, including preview.
- Modify Appearance Preflet to compile with DecorInfoUtility in preparation for further changes.
These modifications are designed to overcome the following short-falls in the current design:
- DecorManager scanned and loaded every decorator on boot
- DecorManager held said decorator in memory -forever-
- Newly installed or changed decorators could not be used without restart
- server-side list management, once fully added, would be inflexible
Attached, please find the patch in question.
Warning: This patch has been tested, but may not be perfect.