X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=v1.0.x%2Fphp__propro_8h_source.html;h=ae07d928f0c566152d6fb788ff230e7704a142af;hb=3fe393f093ada1856dffecb79388be0c33712307;hp=af87d4c4d9145231e52bd9aa2ad96e472477c951;hpb=1d9bb866738b09085bc6f387e83690c16d26c762;p=m6w6%2Fext-propro diff --git a/v1.0.x/php__propro_8h_source.html b/v1.0.x/php__propro_8h_source.html index af87d4c..ae07d92 100644 --- a/v1.0.x/php__propro_8h_source.html +++ b/v1.0.x/php__propro_8h_source.html @@ -3,22 +3,24 @@ - + Property proxy API: php_propro.h Source File + + @@ -28,7 +30,7 @@ -
+
Property proxy API
A facility to manage extension object properties tied to C-struct members
@@ -38,13 +40,14 @@
- + +
@@ -118,83 +121,40 @@ $(document).ready(function(){initNavTree('php__propro_8h_source.html','');});
11 */
12 
13 #ifndef PHP_PROPRO_H
-
14 #define PHP_PROPRO_H
-
15 
-
16 #ifndef DOXYGEN
-
17 
-
18 extern zend_module_entry propro_module_entry;
-
19 #define phpext_propro_ptr &propro_module_entry
-
20 
-
21 #define PHP_PROPRO_VERSION "1.0.0"
-
22 
-
23 #ifdef PHP_WIN32
-
24 # define PHP_PROPRO_API __declspec(dllexport)
-
25 #elif defined(__GNUC__) && __GNUC__ >= 4
-
26 # define PHP_PROPRO_API extern __attribute__ ((visibility("default")))
-
27 #else
-
28 # define PHP_PROPRO_API extern
-
29 #endif
-
30 
-
31 #ifdef ZTS
-
32 # include <TSRM/TSRM.h>
-
33 #endif
-
34 
-
35 #endif
-
36 
-
42 struct php_property_proxy {
-
44  zval *container;
-
46  char *member_str;
-
48  size_t member_len;
-
49 };
-
50 typedef struct php_property_proxy php_property_proxy_t;
-
51 
-
97 struct php_property_proxy_object {
-
99  zend_object zo;
-
101  zend_object_value zv;
-
103  php_property_proxy_t *proxy;
-
105  struct php_property_proxy_object *parent;
-
106 };
-
107 typedef struct php_property_proxy_object php_property_proxy_object_t;
-
108 
-
120 PHP_PROPRO_API php_property_proxy_t *php_property_proxy_init(zval *container,
-
121  const char *member_str, size_t member_len TSRMLS_DC);
-
122 
-
130 PHP_PROPRO_API void php_property_proxy_free(php_property_proxy_t **proxy);
-
131 
-
136 PHP_PROPRO_API zend_class_entry *php_property_proxy_get_class_entry(void);
-
137 
-
143 PHP_PROPRO_API zend_object_value php_property_proxy_object_new(
-
144  zend_class_entry *ce TSRMLS_DC);
-
145 
-
153 PHP_PROPRO_API zend_object_value php_property_proxy_object_new_ex(
-
154  zend_class_entry *ce, php_property_proxy_t *proxy,
-
155  php_property_proxy_object_t **ptr TSRMLS_DC);
-
156 
-
157 #endif /* PHP_PROPRO_H */
-
158 
-
159 
-
160 /*
-
161  * Local variables:
-
162  * tab-width: 4
-
163  * c-basic-offset: 4
-
164  * End:
-
165  * vim600: noet sw=4 ts=4 fdm=marker
-
166  * vim<600: noet sw=4 ts=4
-
167  */
-
The internal property proxy.
Definition: php_propro.h:42
-
char * member_str
The name of the proxied property.
Definition: php_propro.h:46
-
php_property_proxy_t * php_property_proxy_init(zval *container, const char *member_str, size_t member_len)
Create a property proxy.
-
php_property_proxy_t * proxy
The actual property proxy.
Definition: php_propro.h:103
-
zend_object zo
The std zend_object.
Definition: php_propro.h:99
-
size_t member_len
The length of the name.
Definition: php_propro.h:48
-
zend_object_value php_property_proxy_object_new(zend_class_entry *ce)
Instantiate a new php\PropertyProxy.
-
zval * container
The container holding the property.
Definition: php_propro.h:44
-
zend_object_value php_property_proxy_object_new_ex(zend_class_entry *ce, php_property_proxy_t *proxy, php_property_proxy_object_t **ptr)
Instantiate a new php\PropertyProxy with proxy.
-
zend_object_value zv
The object value for easy zval creation.
Definition: php_propro.h:101
-
struct php_property_proxy_object * parent
A reference to any parent property proxy object.
Definition: php_propro.h:105
-
zend_class_entry * php_property_proxy_get_class_entry(void)
Get the zend_class_entry of php\PropertyProxy.
-
void php_property_proxy_free(php_property_proxy_t **proxy)
Destroy and free a property proxy.
-
The userland object.
Definition: php_propro.h:97
+
14 #define PHP_PROPRO_H
+
15 
+
16 extern zend_module_entry propro_module_entry;
+
17 #define phpext_propro_ptr &propro_module_entry
+
18 
+
19 #define PHP_PROPRO_VERSION "1.0.1"
+
20 
+
21 #ifdef PHP_WIN32
+
22 # define PHP_PROPRO_API __declspec(dllexport)
+
23 #elif defined(__GNUC__) && __GNUC__ >= 4
+
24 # define PHP_PROPRO_API extern __attribute__ ((visibility("default")))
+
25 #else
+
26 # define PHP_PROPRO_API extern
+
27 #endif
+
28 
+
29 #ifdef ZTS
+
30 # include <TSRM/TSRM.h>
+
31 #endif
+
32 
+
33 #include "php_propro_api.h"
+
34 
+
35 #endif /* PHP_PROPRO_H */
+
36 
+
37 
+
38 /*
+
39  * Local variables:
+
40  * tab-width: 4
+
41  * c-basic-offset: 4
+
42  * End:
+
43  * vim600: noet sw=4 ts=4 fdm=marker
+
44  * vim<600: noet sw=4 ts=4
+
45  */
+
+
zend_module_entry propro_module_entry
Definition: php_propro_api.c:565
@@ -203,7 +163,7 @@ $(document).ready(function(){initNavTree('php__propro_8h_source.html','');}); + doxygen 1.8.10