2 +--------------------------------------------------------------------+
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 +--------------------------------------------------------------------+
16 extern zend_module_entry propro_module_entry
;
17 #define phpext_propro_ptr &propro_module_entry
19 #define PHP_PROPRO_VERSION "1.0.0"
22 # define PHP_PROPRO_API __declspec(dllexport)
23 #elif defined(__GNUC__) && __GNUC__ >= 4
24 # define PHP_PROPRO_API __attribute__ ((visibility("default")))
26 # define PHP_PROPRO_API
30 # include <TSRM/TSRM.h>
33 typedef struct php_property_proxy
{
37 } php_property_proxy_t
;
39 typedef struct php_property_proxy_object
{
42 php_property_proxy_t
*proxy
;
43 struct php_property_proxy_object
*parent
;
44 } php_property_proxy_object_t
;
46 PHP_PROPRO_API php_property_proxy_t
*php_property_proxy_init(zval
*container
,
47 const char *member_str
, size_t member_len TSRMLS_DC
);
48 PHP_PROPRO_API
void php_property_proxy_free(php_property_proxy_t
**proxy
);
50 PHP_PROPRO_API zend_class_entry
*php_property_proxy_get_class_entry(void);
52 PHP_PROPRO_API zend_object_value
php_property_proxy_object_new(
53 zend_class_entry
*ce TSRMLS_DC
);
54 PHP_PROPRO_API zend_object_value
php_property_proxy_object_new_ex(
55 zend_class_entry
*ce
, php_property_proxy_t
*proxy
,
56 php_property_proxy_object_t
**ptr TSRMLS_DC
);
58 #endif /* PHP_PROPRO_H */
66 * vim600: noet sw=4 ts=4 fdm=marker
67 * vim<600: noet sw=4 ts=4