summaryrefslogtreecommitdiff
path: root/misc/scripts/makeargs.py
diff options
context:
space:
mode:
Diffstat (limited to 'misc/scripts/makeargs.py')
-rw-r--r--misc/scripts/makeargs.py82
1 files changed, 82 insertions, 0 deletions
diff --git a/misc/scripts/makeargs.py b/misc/scripts/makeargs.py
new file mode 100644
index 0000000000..2cd47ae087
--- /dev/null
+++ b/misc/scripts/makeargs.py
@@ -0,0 +1,82 @@
+
+text = """
+#define FUNC$numR(m_r,m_func,$argt)\\
+ virtual m_r m_func($argtp) { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ m_r ret;\\
+ command_queue.push_and_ret( visual_server, &VisualServer::m_func,$argp,&ret);\\
+ return ret;\\
+ } else {\\
+ return visual_server->m_func($argp);\\
+ }\\
+ }
+
+#define FUNC$numRC(m_r,m_func,$argt)\\
+ virtual m_r m_func($argtp) const { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ m_r ret;\\
+ command_queue.push_and_ret( visual_server, &VisualServer::m_func,$argp,&ret);\\
+ return ret;\\
+ } else {\\
+ return visual_server->m_func($argp);\\
+ }\\
+ }
+
+
+#define FUNC$numS(m_func,$argt)\\
+ virtual void m_func($argtp) { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ command_queue.push_and_sync( visual_server, &VisualServer::m_func,$argp);\\
+ } else {\\
+ visual_server->m_func($argp);\\
+ }\\
+ }
+
+#define FUNC$numSC(m_func,$argt)\\
+ virtual void m_func($argtp) const { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ command_queue.push_and_sync( visual_server, &VisualServer::m_func,$argp);\\
+ } else {\\
+ visual_server->m_func($argp);\\
+ }\\
+ }
+
+
+#define FUNC$num(m_func,$argt)\\
+ virtual void m_func($argtp) { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ command_queue.push( visual_server, &VisualServer::m_func,$argp);\\
+ } else {\\
+ visual_server->m_func($argp);\\
+ }\\
+ }
+
+#define FUNC$numC(m_func,$argt)\\
+ virtual void m_func($argtp) const { \\
+ if (Thread::get_caller_ID()!=server_thread) {\\
+ command_queue.push( visual_server, &VisualServer::m_func,$argp);\\
+ } else {\\
+ visual_server->m_func($argp);\\
+ }\\
+ }
+
+
+"""
+
+
+for i in range(1, 8):
+
+ tp = ""
+ p = ""
+ t = ""
+ for j in range(i):
+ if (j > 0):
+ tp += ", "
+ p += ", "
+ t += ", "
+ tp += ("m_arg" + str(j + 1) + " p" + str(j + 1))
+ p += ("p" + str(j + 1))
+ t += ("m_arg" + str(j + 1))
+
+ t = text.replace("$argtp", tp).replace("$argp", p).replace("$argt", t).replace("$num", str(i))
+ print(t)