aboutsummaryrefslogtreecommitdiff
path: root/primedev/plugins/interfaces/IPluginId.h
diff options
context:
space:
mode:
Diffstat (limited to 'primedev/plugins/interfaces/IPluginId.h')
-rw-r--r--primedev/plugins/interfaces/IPluginId.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/primedev/plugins/interfaces/IPluginId.h b/primedev/plugins/interfaces/IPluginId.h
new file mode 100644
index 00000000..dc4c548b
--- /dev/null
+++ b/primedev/plugins/interfaces/IPluginId.h
@@ -0,0 +1,31 @@
+#ifndef IPLUGIN_ID_H
+#define IPLUGIN_ID_H
+
+#include <stdint.h>
+#include "squirrel/squirrelclasstypes.h"
+
+#define PLUGIN_ID_VERSION "PluginId001"
+
+// an identifier for the type of string data requested from the plugin
+enum class PluginString : int
+{
+ NAME = 0,
+ LOG_NAME = 1,
+ DEPENDENCY_NAME = 2,
+};
+
+// an identifier for the type of bitflag requested from the plugin
+enum class PluginField : int
+{
+ CONTEXT = 0,
+};
+
+// an interface that is required from every plugin to query data about it
+class IPluginId
+{
+public:
+ virtual const char* GetString(PluginString prop) = 0;
+ virtual int64_t GetField(PluginField prop) = 0;
+};
+
+#endif