diff options
Diffstat (limited to 'sip/kdecore/kcmdlineargs.sip')
-rw-r--r-- | sip/kdecore/kcmdlineargs.sip | 264 |
1 files changed, 264 insertions, 0 deletions
diff --git a/sip/kdecore/kcmdlineargs.sip b/sip/kdecore/kcmdlineargs.sip new file mode 100644 index 0000000..df430cf --- /dev/null +++ b/sip/kdecore/kcmdlineargs.sip @@ -0,0 +1,264 @@ +// +// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com> +// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson +// may also apply + + +// Generated by preSip +// module kdecore version KDE 3.5.3 + + +// This software is free software; you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation; either version 2 of +// the License, or (at your option) any later version. +// +// This software is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public +// License along with this library; see the file COPYING. +// If not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + +class KCmdLineOptions +{ +%TypeHeaderCode +#include <kcmdlineargs.h> +extern char **pyArgvToC(PyObject *argvlist,int *argcp); +extern void updatePyArgv(PyObject *argvlist,int argc,char **argv); +%End + + +public: + const char* name; + const char* description; + +%If ( KDE_3_5_3 - ) +// def is a Python keyword - use /PyName=/ +//pykwd const char* def; +%End + + +}; // class KCmdLineOptions + + +class KCmdLineArgs +{ +%TypeHeaderCode +#include <kcmdlineargs.h> +#include <qapplication.h> +%End + + +public: + +%If ( KDE_3_2_0 - ) + static void init (SIP_PYLIST, const char*, const char*, const char*, const char*, bool = 0) [void (int, char**, const char*, const char*, const char*, const char*, bool = 0)]; +%MethodCode +//takes _argc | (int) | _argv | (char) | _appname | (char) | programName | (char) | _description | (char) | _version | (char) | noKApp | (bool = 0) + + int argc, nargc; + char **argv; + + // Convert the list. + + if ((argv = pyArgvToC(a0, &argc)) == NULL) + return NULL; + + // Create it now the arguments are right. + nargc = argc; + + Py_BEGIN_ALLOW_THREADS + KCmdLineArgs::init (nargc,argv, a1, a2, a3, a4, a5); + Py_END_ALLOW_THREADS + + // Now modify the original list. + + updatePyArgv (a0, argc, argv); +%End + +%End + + static void init (SIP_PYLIST, const char*, const char*, const char*, bool = 0) [void (int, char**, const char*, const char*, const char*, bool = 0)]; +%MethodCode +//takes _argv | (a Python list of strings which may be modified) | _appname | (char) | _description | (char) | _version | (char) | noKApp | (bool = False) + + int argc, nargc; + char **argv; + + // Convert the list. + + if ((argv = pyArgvToC(a0, &argc)) == NULL) + return NULL; + + // Create it now the arguments are right. + nargc = argc; + + Py_BEGIN_ALLOW_THREADS + KCmdLineArgs::init (nargc,argv, a1, a2, a3, a4); + Py_END_ALLOW_THREADS + + // Now modify the original list. + + updatePyArgv (a0, argc, argv); +%End + + static void init (SIP_PYLIST, const KAboutData*, bool = 0) [void (int, char**, const KAboutData*, bool = 0)]; +%MethodCode +//takes _argv | (a Python list of strings which may be modified) | about | (KAboutData) | noKApp | (bool = 0) + + int argc, nargc; //, iserr = 0; + char **argv; + + // Convert the list. + + if ((argv = pyArgvToC (a0, &argc)) == NULL) + return NULL; + + // Create it now the arguments are right. + nargc = argc; + + Py_BEGIN_ALLOW_THREADS + KCmdLineArgs::init (nargc, argv, a1, a2); + Py_END_ALLOW_THREADS + + // Now modify the original list. + + updatePyArgv (a0, argc, argv); +%End + + static void init (const KAboutData*); + static void addCmdLineOptions (SIP_PYLIST, const char* = 0, const char* = 0, const char* = 0) [void (const KCmdLineOptions*, const char* = 0, const char* = 0, const char* = 0)]; +%MethodCode +//takes options | (a Python list of tuples) | name | (char = 0) | id | (char = 0) | afterId | (char = 0) + +//doc +// A Pytbon list of tuples (name, description, default) is the first parameter +// instead of a KCmdLineOptions object (KCmdLineOptions is not used); +// NULL (or None) parameters to mark the end of the list are not required +//end + + int n; + + if ((n = PyList_Size (a0)) == 0) + return NULL; + + // opts is persistent + KCmdLineOptions *opts; + + Py_BEGIN_ALLOW_THREADS + opts = new KCmdLineOptions [n + 1]; + Py_END_ALLOW_THREADS + + int i, tsz; + for (i = 0; i < n; i++) + { + PyObject *tuple; + + if ((tuple = PyList_GetItem (a0, i)) != NULL) + { + tsz = PyTuple_Size (tuple); + PyObject *member; + + if (tsz == 0) + goto errorExit; + + member = PyTuple_GET_ITEM (tuple, 0); + if (PyString_Check (member)) + opts [i].name = PyString_AS_STRING (member); + else + goto errorExit; + + if (tsz > 1) + { + member = PyTuple_GET_ITEM (tuple, 1); + if PyString_Check (member) + opts [i].description = PyString_AS_STRING (member); + else + goto errorExit; + } + else + opts [i].description = NULL; + + + if (tsz > 2) + { + member = PyTuple_GET_ITEM (tuple, 2); + if PyString_Check (member) + opts [i].def = PyString_AS_STRING (member); + else + goto errorExit; + } + else + opts [i].def = NULL; + } + else + goto errorExit; + } + + // mark the end of the list + opts [n].name = NULL; + opts [n].description = NULL; + opts [n].def = NULL; + + Py_BEGIN_ALLOW_THREADS + KCmdLineArgs::addCmdLineOptions (opts, a1, a2, a3); + Py_END_ALLOW_THREADS + + Py_INCREF (Py_None); + return Py_None; + +errorExit: + delete opts; + return NULL; +%End + + static KCmdLineArgs* parsedArgs (const char* = 0); + static QString cwd (); + static const char* appName (); + static void usage (const char* = 0); + static void usage (const QString&); + static void enable_i18n (); + QCString getOption (const char*); + +%If ( KDE_3_1_4 - ) + QCStringList getOptionList (const char*) const; +%End + + bool isSet (const char*); + int count (); + const char* arg (int); + KURL url (int); + static KURL makeURL (const char*); + static void setCwd (char*); + void clear (); + +%If ( KDE_3_2_0 - ) + static void reset (); + static void loadAppArgs (QDataStream&); + +%If ( KDE_3_4_0 - ) + static void addTempFileOption (); + static bool isTempFileSet (); +%End + +%End + + +protected: + KCmdLineArgs (const KCmdLineOptions*, const char*, const char*); + ~KCmdLineArgs (); + +public: + +%If ( - KDE_3_1_3 ) + QValueList<QCString> getOptionList (const char*); +%End + + +}; // class KCmdLineArgs + |