summaryrefslogtreecommitdiff
path: root/codegen
diff options
context:
space:
mode:
authorJonathan Blandford <jrb@gnome.org>2002-08-18 00:26:01 +0000
committerJonathan Blandford <jrb@src.gnome.org>2002-08-18 00:26:01 +0000
commit5613b947a84950d57bc9c519b04d279f91385aab (patch)
tree7e4238d42accda3b0420cd5718abbdfeeb310c01 /codegen
parent72c2d7c854611cc5020cfb16b852facfa7880830 (diff)
downloadpygtk-5613b947a84950d57bc9c519b04d279f91385aab.tar.gz
Add a time_t parameter type.
Sat Aug 17 20:02:43 2002 Jonathan Blandford <jrb@gnome.org> * codegen/argtypes.py (TimeTArg.write_param): Add a time_t parameter type. Sat Aug 17 19:59:02 2002 Jonathan Blandford <jrb@gnome.org> * gnome/ui.defs: s/GnomeDataEdit/GnomeDateEdit
Diffstat (limited to 'codegen')
-rw-r--r--codegen/argtypes.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/codegen/argtypes.py b/codegen/argtypes.py
index 92fa3434..840afb57 100644
--- a/codegen/argtypes.py
+++ b/codegen/argtypes.py
@@ -188,6 +188,18 @@ class IntArg(ArgType):
info.varlist.add('int', 'ret')
info.codeafter.append(' return PyInt_FromLong(ret);')
+class TimeTArg(ArgType):
+ def write_param(self, ptype, pname, pdflt, pnull, info):
+ if pdflt:
+ info.varlist.add('time_t', pname + ' = ' + pdflt)
+ else:
+ info.varlist.add('time_t', pname)
+ info.arglist.append(pname)
+ info.add_parselist('i', ['&' + pname], [pname])
+ def write_return(self, ptype, ownsreturn, info):
+ info.varlist.add('time_t', 'ret')
+ info.codeafter.append(' return PyInt_FromLong(ret);')
+
class ULongArg(ArgType):
dflt = ' if (py_%(name)s)\n' \
' %(name)s = PyLong_AsUnsignedLong(py_%(name)s);\n'
@@ -736,6 +748,9 @@ matcher.register('guint16', arg)
matcher.register('gint16', arg)
matcher.register('gint32', arg)
+arg = TimeTArg()
+matcher.register('time_t', arg)
+
# If the system maxint is smaller than unsigned int, we need to use
# Long objects with PyLong_AsUnsignedLong
if sys.maxint >= (1L << 32):