From 114a878c64ce6f8223cfd22d76a20eb16d177e5e Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdevelop@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- languages/ruby/app_templates/dcopservice/app.cpp | 30 ++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 languages/ruby/app_templates/dcopservice/app.cpp (limited to 'languages/ruby/app_templates/dcopservice/app.cpp') diff --git a/languages/ruby/app_templates/dcopservice/app.cpp b/languages/ruby/app_templates/dcopservice/app.cpp new file mode 100644 index 00000000..8d6af02d --- /dev/null +++ b/languages/ruby/app_templates/dcopservice/app.cpp @@ -0,0 +1,30 @@ +#include + +#include +#include +#include +#include + +int main(int argc, char **argv) { + KInstance * instance = new KInstance("%{APPNAMELC}"); + QString appdir = ::locate("data", "%{APPNAMELC}/main.rb", instance); + delete instance; + if (appdir.isNull()) { + qFatal("Error: Can't find \"%{APPNAMELC}/main.rb\"\n"); + } + QFileInfo program(appdir); + + char ** rubyargs = (char **) calloc(argc+4, sizeof(char *)); + rubyargs[0] = strdup(argv[0]); + rubyargs[1] = strdup("-KU"); + rubyargs[2] = strdup(QString("-C%1").arg(program.dirPath()).latin1()); + rubyargs[3] = strdup(QString("-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(); +} -- cgit v1.2.3