X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=html%2Fphp__propro_8h_source.html;fp=html%2Fphp__propro_8h_source.html;h=42ee8494091967080707fa1a7579d74a475be687;hb=36da2074d28309d1704b47e121f432fcdaf8a245;hp=0000000000000000000000000000000000000000;hpb=6efaa7c324c0bb32883fa7439182d5f8d0736f6b;p=m6w6%2Fext-propro diff --git a/html/php__propro_8h_source.html b/html/php__propro_8h_source.html new file mode 100644 index 0000000..42ee849 --- /dev/null +++ b/html/php__propro_8h_source.html @@ -0,0 +1,210 @@ + + + + + + +Property proxy API: php_propro.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
Property proxy API +
+
A facility to manage extension object properties tied to C-struct members
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+ All Data Structures Files Functions Variables Typedefs
+ + +
+ +
+ +
+
+
php_propro.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_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 
+ +
44  zval *container;
+
46  char *member_str;
+
48  size_t member_len;
+
49 };
+ +
51 
+ +
99  zend_object zo;
+
101  zend_object_value zv;
+ + +
106 };
+ +
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
+
+
+ + + +