mirror of
https://github.com/CalcProgrammer1/OpenRGB.git
synced 2026-02-14 17:21:26 -05:00
Rework API interface passed into plugins from ResourceManagerInterface to OpenRGBPluginAPIInterface
This commit is contained in:
@@ -17,17 +17,35 @@
|
||||
class PluginManagerInterface
|
||||
{
|
||||
public:
|
||||
virtual unsigned int GetPluginCount() = 0;
|
||||
virtual std::string GetPluginDescription(unsigned int plugin_idx) = 0;
|
||||
virtual std::string GetPluginName(unsigned int plugin_idx) = 0;
|
||||
virtual unsigned int GetPluginProtocolVersion(unsigned int plugin_idx) = 0;
|
||||
virtual std::string GetPluginVersion(unsigned int plugin_idx) = 0;
|
||||
/*-----------------------------------------------------*\
|
||||
| Plugin Information |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual unsigned int GetPluginCount() = 0;
|
||||
virtual std::string GetPluginDescription(unsigned int plugin_idx) = 0;
|
||||
virtual std::string GetPluginName(unsigned int plugin_idx) = 0;
|
||||
virtual unsigned int GetPluginProtocolVersion(unsigned int plugin_idx) = 0;
|
||||
virtual std::string GetPluginVersion(unsigned int plugin_idx) = 0;
|
||||
|
||||
virtual void LoadPlugins() = 0;
|
||||
virtual void UnloadPlugins() = 0;
|
||||
/*-----------------------------------------------------*\
|
||||
| Plugin-Created RGBControllers |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual std::vector<RGBController *> GetRGBControllers() = 0;
|
||||
|
||||
virtual void OnProfileAboutToLoad() = 0;
|
||||
virtual void OnProfileLoad(nlohmann::json profile_data) = 0;
|
||||
virtual nlohmann::json OnProfileSave() = 0;
|
||||
virtual unsigned char * OnSDKCommand(unsigned int plugin_idx, unsigned int pkt_id, unsigned char * pkt_data, unsigned int * pkt_size) = 0;
|
||||
/*-----------------------------------------------------*\
|
||||
| Plugin Management |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual void LoadPlugins() = 0;
|
||||
virtual void UnloadPlugins() = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Plugin Profile Integration |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual void OnProfileAboutToLoad() = 0;
|
||||
virtual void OnProfileLoad(nlohmann::json profile_data) = 0;
|
||||
virtual nlohmann::json OnProfileSave() = 0;
|
||||
|
||||
/*-----------------------------------------------------*\
|
||||
| Plugin SDK Integration |
|
||||
\*-----------------------------------------------------*/
|
||||
virtual unsigned char * OnSDKCommand(unsigned int plugin_idx, unsigned int pkt_id, unsigned char * pkt_data, unsigned int * pkt_size) = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user