Skip to content

Commit ae6ff5a

Browse files
committed
update(extensions): .NET functions
1 parent 52573e6 commit ae6ff5a

File tree

3 files changed

+33
-3
lines changed

3 files changed

+33
-3
lines changed

src/extensions/extension.cpp

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,22 @@
77

88
typedef void* (*GetExtensionCls)();
99

10+
typedef int(CORECLR_DELEGATE_CALLTYPE* load_file_fn)(void* context, const char* filePath, int len);
11+
typedef void(CORECLR_DELEGATE_CALLTYPE* remove_file_fn)(void* context);
12+
typedef void(CORECLR_DELEGATE_CALLTYPE* interpret_as_string_fn)(void* object, int type, const char* out, int len);
13+
typedef void* (CORECLR_DELEGATE_CALLTYPE* allocate_pointer_fn)(int size, int count);
14+
typedef uint64_t(CORECLR_DELEGATE_CALLTYPE* get_plugin_memory_fn)(void* context);
15+
typedef void(CORECLR_DELEGATE_CALLTYPE* execute_function_fn)(void* ctx, void* pctx);
16+
typedef void(CORECLR_DELEGATE_CALLTYPE* state_fn)(int state);
17+
18+
extern load_file_fn loadFile;
19+
extern interpret_as_string_fn interpretAsString;
20+
extern remove_file_fn removeFile;
21+
extern allocate_pointer_fn allocatePointer;
22+
extern get_plugin_memory_fn getMemory;
23+
extern execute_function_fn execFunction;
24+
extern state_fn set_state;
25+
1026
Extension::Extension(std::string name)
1127
{
1228
m_name = name;
@@ -148,4 +164,18 @@ std::string Extension::GetError()
148164
bool Extension::HasError()
149165
{
150166
return m_errored;
151-
}
167+
}
168+
169+
EXT_API void* swiftly_GetDotnetPointer(int kind)
170+
{
171+
if (kind == 1) return (void*)loadFile;
172+
else if (kind == 2) return (void*)interpretAsString;
173+
else if (kind == 3) return (void*)removeFile;
174+
else if (kind == 4) return (void*)allocatePointer;
175+
else if (kind == 5) return (void*)getMemory;
176+
else if (kind == 6) return (void*)execFunction;
177+
else if (kind == 7) return (void*)set_state;
178+
else return nullptr;
179+
}
180+
181+
void* GetDotnetPointer(int kind) { return nullptr; }

vendor/embedder

vendor/swiftly-ext

0 commit comments

Comments
 (0)