]> granicus.if.org Git - php/commitdiff
cleanup common code
authorRob Richards <rrichards@php.net>
Fri, 20 Jun 2003 14:08:56 +0000 (14:08 +0000)
committerRob Richards <rrichards@php.net>
Fri, 20 Jun 2003 14:08:56 +0000 (14:08 +0000)
ext/dom/php_dom.h
ext/dom/xml_common.h

index b99a15c5d0b8b796fc7a64999e9dbc1c0a8c1251..fb0e22c08cab3f9a677efe2a349dc0ba0107f6b7 100644 (file)
 #ifndef PHP_DOM_H
 #define PHP_DOM_H
 
-#if HAVE_DOM
+extern zend_module_entry dom_module_entry;
+#define dom_module_ptr &dom_module_entry
+
+#ifdef ZTS
+#include "TSRM.h"
+#endif
+
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
 #include <libxml/tree.h>
    Can be checked with phpversion("dom");
 */
 #define DOM_API_VERSION "20030413"
-        
-extern zend_module_entry dom_module_entry;
-
-#define dom_module_ptr &dom_module_entry
 
 #include "dom_fe.h"
 
 void php_dom_set_object(dom_object *wrapper, void *obj TSRMLS_DC);
 dom_object *dom_object_get_data(xmlNodePtr obj);
+zend_object_value dom_objects_new(zend_class_entry *class_type TSRMLS_DC);
 void php_dom_throw_error(int error_code, zval **retval TSRMLS_DC);
 void node_free_resource(xmlNodePtr node TSRMLS_DC);
 void node_list_unlink(xmlNodePtr node TSRMLS_DC);
@@ -72,19 +75,31 @@ void php_dom_create_implementation(zval **retval  TSRMLS_DC);
 int dom_hierarchy(xmlNodePtr parent, xmlNodePtr child);
 int dom_has_feature(char *feature, char *version);
 
+#define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \
+INIT_CLASS_ENTRY(ce, name, funcs); \
+ce.create_object = dom_objects_new; \
+entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);
+
+#define DOM_GET_OBJ(__ptr, __id, __prtype, __intern) { \
+       __intern = (dom_object *)zend_object_store_get_object(__id TSRMLS_CC); \
+       if (!(__ptr = (__prtype)__intern->ptr)) { \
+               php_error(E_WARNING, "Couldn't fetch %s", __intern->std.ce->name);\
+               RETURN_NULL();\
+       } \
+}
+
 #define DOM_NO_ARGS() \
        if (ZEND_NUM_ARGS() != 0) { \
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Expects exactly 0 parameters, %d given", ZEND_NUM_ARGS()); \
                return; \
        }
 
+#define DOM_NOT_IMPLEMENTED() \
+       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Not yet implemented"); \
+       return;
+
 PHP_MINIT_FUNCTION(dom);
 PHP_MSHUTDOWN_FUNCTION(dom);
 PHP_MINFO_FUNCTION(dom);
-#else
-#define dom_module_ptr NULL
-
-#endif /* HAVE_DOM */
-#define phpext_dom_ptr dom_module_ptr
 
 #endif /* _PHP_DIR_H */
index b114106ec64cbacfd2a9f4c0ef423e45ac6cf85f..a2e6b2c5a027b73d93c02124696e214e89daaca7 100644 (file)
@@ -52,36 +52,18 @@ typedef struct _dom_object {
 #endif /* DOM_EXPORTS */
 #endif /* PHP_WIN32 */
 
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
 #define PHP_DOM_EXPORT(__type) PHPAPI __type
 
 PHP_DOM_EXPORT(zval *) php_dom_create_object(xmlNodePtr obj, int *found, zval *in, zval* return_value, dom_object *domobj TSRMLS_DC);
-PHP_DOM_EXPORT(void) dom_objects_clone(void *object, void **object_clone TSRMLS_DC);
-void dom_objects_dtor(void *object, zend_object_handle handle TSRMLS_DC);
 PHP_DOM_EXPORT(zval *) dom_read_property(zval *object, zval *member TSRMLS_DC);
 PHP_DOM_EXPORT(void) dom_write_property(zval *object, zval *member, zval *value TSRMLS_DC);
-zend_object_value dom_objects_new(zend_class_entry *class_type TSRMLS_DC);
-void dom_unregister_node(xmlNodePtr nodep TSRMLS_DC);
-zend_object_handlers dom_object_handlers;
 
 #define DOM_XMLNS_NAMESPACE \
     (const xmlChar *) "http://www.w3.org/2000/xmlns/"
 
-#define DOM_NOT_IMPLEMENTED() \
-       php_error_docref(NULL TSRMLS_CC, E_WARNING, "Not yet implemented"); \
-       return;
-    
-#define REGISTER_DOM_CLASS(ce, name, parent_ce, funcs, entry) \
-INIT_CLASS_ENTRY(ce, name, funcs); \
-ce.create_object = dom_objects_new; \
-entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);
-
-#define DOM_GET_OBJ(__ptr, __id, __prtype, __intern) { \
-       __intern = (dom_object *)zend_object_store_get_object(__id TSRMLS_CC); \
-       if (!(__ptr = (__prtype)__intern->ptr)) { \
+#define NODE_GET_OBJ(__ptr, __id, __prtype, __intern) { \
+       __intern = (node_object *)zend_object_store_get_object(__id TSRMLS_CC); \
+       if (!(__ptr = (__prtype)__intern->node)) { \
                php_error(E_WARNING, "Couldn't fetch %s", __intern->std.ce->name);\
                RETURN_NULL();\
        } \
@@ -97,15 +79,12 @@ entry = zend_register_internal_class_ex(&ce, parent_ce, NULL TSRMLS_CC);
        } \
 }
 
-#define DOM_DOMOBJ_NEW(zval, obj, ret, domobject) \
+#define DOM_RET_OBJ(zval, obj, ret, domobject) \
        if (NULL == (zval = php_dom_create_object(obj, ret, zval, return_value, domobject TSRMLS_CC))) { \
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot create required DOM object"); \
                RETURN_FALSE; \
        }
 
-#define DOM_RET_OBJ(zval, obj, ret, domobject) \
-       DOM_DOMOBJ_NEW(zval, obj, ret, domobject);
-
 #define DOM_GET_THIS(zval) \
        if (NULL == (zval = getThis())) { \
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Underlying object missing"); \