You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pytde/sip/tdecore/kcmdlineargs.sip

265 lines
7.0 KiB

//
// Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
// Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
// may also apply
// Generated by preSip
// module tdecore 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