moar tests
[m6w6/ext-pq] / src / php_pq_object.h
1 /*
2 +--------------------------------------------------------------------+
3 | PECL :: pq |
4 +--------------------------------------------------------------------+
5 | Redistribution and use in source and binary forms, with or without |
6 | modification, are permitted provided that the conditions mentioned |
7 | in the accompanying LICENSE file are met. |
8 +--------------------------------------------------------------------+
9 | Copyright (c) 2013, Michael Wallner <mike@php.net> |
10 +--------------------------------------------------------------------+
11 */
12
13 #ifndef PHP_PQ_OBJECT_H
14 #define PHP_PQ_OBJECT_H
15
16 typedef struct php_pq_object {
17 zend_object zo;
18 zend_object_value zv;
19 HashTable *prophandler;
20 void *intern;
21 } php_pq_object_t;
22
23 typedef void (*php_pq_object_prophandler_func_t)(zval *object, void *o, zval *return_value TSRMLS_DC);
24
25 typedef struct php_pq_object_prophandler {
26 php_pq_object_prophandler_func_t read;
27 php_pq_object_prophandler_func_t write;
28 } php_pq_object_prophandler_t;
29
30 void php_pq_object_to_zval(void *o, zval **zv TSRMLS_DC);
31 void php_pq_object_to_zval_no_addref(void *o, zval **zv TSRMLS_DC);
32 void php_pq_object_addref(void *o TSRMLS_DC);
33 void php_pq_object_delref(void *o TSRMLS_DC);
34 HashTable *php_pq_object_debug_info(zval *object, int *temp TSRMLS_DC);
35 HashTable *php_pq_object_properties(zval *object TSRMLS_DC);
36 zend_class_entry *ancestor(zend_class_entry *ce);
37 zval *php_pq_object_read_prop(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC);
38 void php_pq_object_write_prop(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC);
39
40 #endif
41
42 /*
43 * Local variables:
44 * tab-width: 4
45 * c-basic-offset: 4
46 * End:
47 * vim600: noet sw=4 ts=4 fdm=marker
48 * vim<600: noet sw=4 ts=4
49 */