Remove from EXTRA_DIST files we'd already be distributing
[dbus-python-phuang.git] / _dbus_bindings / types-internal.h
blobdab603d1c1354319ec9024b44d79db0ea6e13b79
1 /* D-Bus types: implementation internals
3 * Copyright (C) 2006 Collabora Ltd.
5 * Licensed under the Academic Free License version 2.1
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
25 #include <Python.h>
26 #include <stdint.h>
28 #include "dbus_bindings-internal.h"
30 #ifndef DBUS_BINDINGS_TYPES_INTERNAL_H
31 #define DBUS_BINDINGS_TYPES_INTERNAL_H
33 extern PyTypeObject DBusPyIntBase_Type;
34 DEFINE_CHECK(DBusPyIntBase)
36 typedef struct {
37 PyIntObject base;
38 long variant_level;
39 } DBusPyIntBase;
41 extern PyTypeObject DBusPyLongBase_Type;
42 DEFINE_CHECK(DBusPyLongBase)
44 extern PyTypeObject DBusPyFloatBase_Type;
45 DEFINE_CHECK(DBusPyFloatBase)
47 typedef struct {
48 PyFloatObject base;
49 long variant_level;
50 } DBusPyFloatBase;
52 extern PyTypeObject DBusPyStrBase_Type;
53 DEFINE_CHECK(DBusPyStrBase)
55 dbus_int16_t dbus_py_int16_range_check(PyObject *);
56 dbus_uint16_t dbus_py_uint16_range_check(PyObject *);
57 dbus_int32_t dbus_py_int32_range_check(PyObject *);
58 dbus_uint32_t dbus_py_uint32_range_check(PyObject *);
60 #if defined(DBUS_HAVE_INT64) && defined(HAVE_LONG_LONG)
61 # define DBUS_PYTHON_64_BIT_WORKS 1
62 dbus_int64_t dbus_py_int64_range_check(PyObject *);
63 dbus_uint64_t dbus_py_uint64_range_check(PyObject *);
64 #else
65 # undef DBUS_PYTHON_64_BIT_WORKS
66 #endif /* defined(DBUS_HAVE_INT64) && defined(HAVE_LONG_LONG) */
68 extern PyObject *dbus_py_variant_level_const;
69 extern PyObject *dbus_py_signature_const;
70 extern PyObject *dbus_py__dbus_object_path__const;
72 typedef struct {
73 PyListObject super;
74 PyObject *signature;
75 long variant_level;
76 } DBusPyArray;
78 typedef struct {
79 PyDictObject super;
80 PyObject *signature;
81 long variant_level;
82 } DBusPyDict;
84 #endif