Property proxy API
A facility to manage extension object properties tied to C-struct members
php_propro_api.h
Go to the documentation of this file.
1 /*
2  +--------------------------------------------------------------------+
3  | PECL :: propro |
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_PROPRO_API_H
14 #define PHP_PROPRO_API_H
15 
16 #include "php_propro.h"
17 
25  zval container;
27  zend_string *member;
28 };
30 
68  zval parent;
70  zend_object zo;
71 };
73 
85  zend_string *member);
86 
95 
100 PHP_PROPRO_API zend_class_entry *php_property_proxy_get_class_entry(void);
101 
107 PHP_PROPRO_API zend_object *php_property_proxy_object_new(zend_class_entry *ce);
108 
116  zend_class_entry *ce, php_property_proxy_t *proxy);
117 
118 #endif /* PHP_PROPRO_API_H */
119 
120 
121 /*
122  * Local variables:
123  * tab-width: 4
124  * c-basic-offset: 4
125  * End:
126  * vim600: noet sw=4 ts=4 fdm=marker
127  * vim<600: noet sw=4 ts=4
128  */
zval container
The container holding the property.
Definition: php_propro_api.h:25
zval parent
Any parent property proxy object.
Definition: php_propro_api.h:68
zend_string * member
The name of the proxied property.
Definition: php_propro_api.h:27
php_property_proxy_object_t * php_property_proxy_object_new_ex(zend_class_entry *ce, php_property_proxy_t *proxy)
Instantiate a new php\PropertyProxy with proxy.
Definition: php_propro_api.c:148
zend_class_entry * php_property_proxy_get_class_entry(void)
Get the zend_class_entry of php\PropertyProxy.
Definition: php_propro_api.c:56
void php_property_proxy_free(php_property_proxy_t **proxy)
Destroy and free a property proxy.
Definition: php_propro_api.c:43
The internal property proxy.
Definition: php_propro_api.h:23
php_property_proxy_t * proxy
The actual property proxy.
Definition: php_propro_api.h:66
php_property_proxy_t * php_property_proxy_init(zval *container, zend_string *member)
Create a property proxy.
Definition: php_propro_api.c:33
The userland object.
Definition: php_propro_api.h:64
zend_object zo
The std zend_object.
Definition: php_propro_api.h:70
#define PHP_PROPRO_API
Definition: php_propro.h:26
zend_object * php_property_proxy_object_new(zend_class_entry *ce)
Instantiate a new php\PropertyProxy.
Definition: php_propro_api.c:169