aboutsummaryrefslogtreecommitdiff
path: root/primedev/plugins/interfaces/IPluginId.h
blob: 0b025224b527f13e2bde019d73e8946c01ad6bc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#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,
	COLOR = 1,
};

// 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