Add type checking macros for all rpm python type objects
authorPanu Matilainen <pmatilai@redhat.com>
Tue, 22 Sep 2009 21:06:13 +0000 (00:06 +0300)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 22 Sep 2009 21:06:13 +0000 (00:06 +0300)
python/header-py.h
python/rpmds-py.h
python/rpmfi-py.h
python/rpmmi-py.h
python/rpmps-py.h
python/rpmte-py.h
python/rpmts-py.h
python/spec-py.h

index 2eb6229..51f176b 100644 (file)
@@ -7,6 +7,8 @@ typedef struct hdrObject_s hdrObject;
 
 extern PyTypeObject hdr_Type;
 
+#define hdrObject_Check(v)     ((v)->ob_type == &hdr_Type)
+
 extern PyObject * pyrpmError;
 
 PyObject * hdr_Wrap(Header h);
index 8fb8375..a00eb7d 100644 (file)
@@ -7,6 +7,8 @@ typedef struct rpmdsObject_s rpmdsObject;
 
 extern PyTypeObject rpmds_Type;
 
+#define rpmdsObject_Check(v)   ((v)->ob_type == &rpmds_Type)
+
 rpmds dsFromDs(rpmdsObject * ds);
 
 PyObject * rpmds_Wrap(rpmds ds);
index 6147d6d..faa292b 100644 (file)
@@ -7,6 +7,8 @@ typedef struct rpmfiObject_s rpmfiObject;
 
 extern PyTypeObject rpmfi_Type;
 
+#define rpmfiObject_Check(v)   ((v)->ob_type == &rpmfi_Type)
+
 rpmfi fiFromFi(rpmfiObject * fi);
 
 PyObject * rpmfi_Wrap(rpmfi fi);
index b832c2d..e5410d6 100644 (file)
@@ -5,6 +5,8 @@ typedef struct rpmmiObject_s rpmmiObject;
 
 extern PyTypeObject rpmmi_Type;
 
+#define rpmmiObject_Check(v)   ((v)->ob_type == &rpmmi_Type)
+
 PyObject * rpmmi_Wrap(rpmdbMatchIterator mi, PyObject *s);
 
 #endif
index 350bccd..de7af09 100644 (file)
@@ -7,6 +7,8 @@ typedef struct rpmpsObject_s rpmpsObject;
 
 extern PyTypeObject rpmps_Type;
 
+#define rpmpsObject_Check(v)   ((v)->ob_type == &rpmps_Type)
+
 rpmps psFromPs(rpmpsObject * ps);
 
 PyObject * rpmps_Wrap(rpmps ps);
index e6bfda9..0a273ed 100644 (file)
@@ -7,6 +7,8 @@ typedef struct rpmteObject_s rpmteObject;
 
 extern PyTypeObject rpmte_Type;
 
+#define rpmteObject_Check(v)   ((v)->ob_type == &rpmte_Type)
+
 PyObject * rpmte_Wrap(rpmte te);
 
 #endif
index cad663e..956a11b 100644 (file)
@@ -7,6 +7,8 @@ typedef struct rpmtsObject_s rpmtsObject;
 
 extern PyTypeObject rpmts_Type;
 
+#define rpmtsObject_Check(v)   ((v)->ob_type == &rpmts_Type)
+
 /* XXX These names/constants have been removed from the rpmlib API. */
 enum {
    RPMDEP_SENSE_REQUIRES,              /*!< requirement not satisfied. */
index 0ed16e6..25eac76 100644 (file)
@@ -7,6 +7,8 @@ typedef struct specObject_s specObject;
 
 extern PyTypeObject spec_Type;
 
+#define specObject_Check(v)    ((v)->ob_type == &spec_Type)
+
 rpmSpec specFromSpec(specObject * spec);
 
 PyObject * spec_Wrap(rpmSpec spec);