summaryrefslogtreecommitdiffstats
path: root/languages/ruby/app_templates/tdeapp/app.cpp
diff options
context:
space:
mode:
authorDarrell Anderson <humanreadable@yahoo.com>2014-03-02 20:05:33 +0100
committerSlávek Banko <slavek.banko@axis.cz>2014-03-02 20:05:33 +0100
commit722ce1efbac31c61b1d4b13f7e075c9f311e3e73 (patch)
treedb1b6b28566e5fe9accb4a688f7257673cecb080 /languages/ruby/app_templates/tdeapp/app.cpp
parentafb74575caf7dd8ccb6c235b1c8d788e320c19da (diff)
downloadtdevelop-722ce1efbac31c61b1d4b13f7e075c9f311e3e73.tar.gz
tdevelop-722ce1efbac31c61b1d4b13f7e075c9f311e3e73.zip
Finish renaming tdevelop components
Diffstat (limited to 'languages/ruby/app_templates/tdeapp/app.cpp')
-rw-r--r--languages/ruby/app_templates/tdeapp/app.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/languages/ruby/app_templates/tdeapp/app.cpp b/languages/ruby/app_templates/tdeapp/app.cpp
new file mode 100644
index 00000000..04770335
--- /dev/null
+++ b/languages/ruby/app_templates/tdeapp/app.cpp
@@ -0,0 +1,30 @@
+#include <ruby.h>
+
+#include <tqstring.h>
+#include <tqfileinfo.h>
+#include <kinstance.h>
+#include <kstandarddirs.h>
+
+int main(int argc, char **argv) {
+ TDEInstance * instance = new TDEInstance("%{APPNAMELC}");
+ TQString appdir = ::locate("data", "%{APPNAMELC}/main.rb", instance);
+ delete instance;
+ if (appdir.isNull()) {
+ tqFatal("Error: Can't find \"%{APPNAMELC}/main.rb\"\n");
+ }
+ TQFileInfo program(appdir);
+
+ char ** rubyargs = (char **) calloc(argc+4, sizeof(char *));
+ rubyargs[0] = strdup(argv[0]);
+ rubyargs[1] = strdup("-KU");
+ rubyargs[2] = strdup(TQString("-C%1").arg(program.dirPath()).latin1());
+ rubyargs[3] = strdup(TQString("-I%1").arg(program.dirPath()).latin1());
+ rubyargs[4] = strdup(program.fileName().latin1());
+ for (int i = 1; i < argc; i++) {
+ rubyargs[i+4] = argv[i];
+ }
+
+ ruby_init();
+ ruby_options(argc+4, rubyargs);
+ ruby_run();
+}