blob: 2945b4075bd214226d2433ba6e4e13c6eb0b3027 [file] [log] [blame]
Zonr Changa41ce1d2010-10-06 02:23:12 +08001#ifndef _SLANG_COMPILER_RS_EXPORTABLE_HPP
2#define _SLANG_COMPILER_RS_EXPORTABLE_HPP
3
4#include "slang_rs_context.h"
5
6namespace slang {
7
8class RSExportable {
9public:
10 enum Kind {
11 EX_FUNC,
12 EX_TYPE,
13 EX_VAR
14 };
15
16private:
17 Kind mK;
18
19protected:
20 RSExportable(RSContext *Context, RSExportable::Kind K) : mK(K) {
21 Context->newExportable(this);
22 return;
23 }
24
25public:
26 inline Kind getKind() const { return mK; }
27
28 virtual ~RSExportable() { }
29};
30
31}
32
33#endif // _SLANG_COMPILER_RS_EXPORTABLE_HPP