1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns=
"http://www.w3.org/1999/xhtml">
4 <meta http-equiv=
"Content-Type" content=
"text/xhtml;charset=UTF-8"/>
5 <meta http-equiv=
"X-UA-Compatible" content=
"IE=9"/>
6 <meta name=
"generator" content=
"Doxygen 1.8.10"/>
7 <title>Property proxy API: src/php_propro_api.h Source File
</title>
8 <link href=
"tabs.css" rel=
"stylesheet" type=
"text/css"/>
9 <script type=
"text/javascript" src=
"jquery.js"></script>
10 <script type=
"text/javascript" src=
"dynsections.js"></script>
11 <link href=
"navtree.css" rel=
"stylesheet" type=
"text/css"/>
12 <script type=
"text/javascript" src=
"resize.js"></script>
13 <script type=
"text/javascript" src=
"navtreedata.js"></script>
14 <script type=
"text/javascript" src=
"navtree.js"></script>
15 <script type=
"text/javascript">
16 $(document).ready(initResizable);
17 $(window).load(resizeHeight);
19 <link href=
"search/search.css" rel=
"stylesheet" type=
"text/css"/>
20 <script type=
"text/javascript" src=
"search/searchdata.js"></script>
21 <script type=
"text/javascript" src=
"search/search.js"></script>
22 <script type=
"text/javascript">
23 $(document).ready(function() { init_search(); });
25 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css" />
28 <div id=
"top"><!-- do not remove this div, it is closed by doxygen! -->
30 <table cellspacing=
"0" cellpadding=
"0">
32 <tr style=
"height: 56px;">
33 <td id=
"projectalign" style=
"padding-left: 0.5em;">
34 <div id=
"projectname">Property proxy API
36 <div id=
"projectbrief">A facility to manage extension object properties tied to C-struct members
</div>
42 <!-- end header part -->
43 <!-- Generated by Doxygen 1.8.10 -->
44 <script type=
"text/javascript">
45 var searchBox = new SearchBox(
"searchBox",
"search",false,'Search');
47 <div id=
"navrow1" class=
"tabs">
49 <li><a href=
"index.html"><span>Main
 Page
</span></a></li>
50 <li><a href=
"pages.html"><span>Related
 Pages
</span></a></li>
51 <li><a href=
"annotated.html"><span>Data
 Structures
</span></a></li>
52 <li class=
"current"><a href=
"files.html"><span>Files
</span></a></li>
54 <div id=
"MSearchBox" class=
"MSearchBoxInactive">
56 <img id=
"MSearchSelect" src=
"search/mag_sel.png"
57 onmouseover=
"return searchBox.OnSearchSelectShow()"
58 onmouseout=
"return searchBox.OnSearchSelectHide()"
60 <input type=
"text" id=
"MSearchField" value=
"Search" accesskey=
"S"
61 onfocus=
"searchBox.OnSearchFieldFocus(true)"
62 onblur=
"searchBox.OnSearchFieldFocus(false)"
63 onkeyup=
"searchBox.OnSearchFieldChange(event)"/>
64 </span><span class=
"right">
65 <a id=
"MSearchClose" href=
"javascript:searchBox.CloseResultsWindow()"><img id=
"MSearchCloseImg" border=
"0" src=
"search/close.png" alt=
""/></a>
71 <div id=
"navrow2" class=
"tabs2">
73 <li><a href=
"files.html"><span>File
 List
</span></a></li>
74 <li><a href=
"globals.html"><span>Globals
</span></a></li>
78 <div id=
"side-nav" class=
"ui-resizable side-nav-resizable">
80 <div id=
"nav-tree-contents">
81 <div id=
"nav-sync" class=
"sync"></div>
84 <div id=
"splitbar" style=
"-moz-user-select:none;"
85 class=
"ui-resizable-handle">
88 <script type=
"text/javascript">
89 $(document).ready(function(){initNavTree('php__propro__api_8h_source.html','');});
91 <div id=
"doc-content">
92 <!-- window showing the filter options -->
93 <div id=
"MSearchSelectWindow"
94 onmouseover=
"return searchBox.OnSearchSelectShow()"
95 onmouseout=
"return searchBox.OnSearchSelectHide()"
96 onkeydown=
"return searchBox.OnSearchSelectKey(event)">
99 <!-- iframe showing the search results (closed by default) -->
100 <div id=
"MSearchResultsWindow">
101 <iframe src=
"javascript:void(0)" frameborder=
"0"
102 name=
"MSearchResults" id=
"MSearchResults">
107 <div class=
"headertitle">
108 <div class=
"title">php_propro_api.h
</div> </div>
110 <div class=
"contents">
111 <a href=
"php__propro__api_8h.html">Go to the documentation of this file.
</a><div class=
"fragment"><div class=
"line"><a name=
"l00001"></a><span class=
"lineno"> 1</span> <span class=
"comment">/*
</span></div>
112 <div class=
"line"><a name=
"l00002"></a><span class=
"lineno"> 2</span> <span class=
"comment"> +--------------------------------------------------------------------+
</span></div>
113 <div class=
"line"><a name=
"l00003"></a><span class=
"lineno"> 3</span> <span class=
"comment"> | PECL :: propro |
</span></div>
114 <div class=
"line"><a name=
"l00004"></a><span class=
"lineno"> 4</span> <span class=
"comment"> +--------------------------------------------------------------------+
</span></div>
115 <div class=
"line"><a name=
"l00005"></a><span class=
"lineno"> 5</span> <span class=
"comment"> | Redistribution and use in source and binary forms, with or without |
</span></div>
116 <div class=
"line"><a name=
"l00006"></a><span class=
"lineno"> 6</span> <span class=
"comment"> | modification, are permitted provided that the conditions mentioned |
</span></div>
117 <div class=
"line"><a name=
"l00007"></a><span class=
"lineno"> 7</span> <span class=
"comment"> | in the accompanying LICENSE file are met. |
</span></div>
118 <div class=
"line"><a name=
"l00008"></a><span class=
"lineno"> 8</span> <span class=
"comment"> +--------------------------------------------------------------------+
</span></div>
119 <div class=
"line"><a name=
"l00009"></a><span class=
"lineno"> 9</span> <span class=
"comment"> | Copyright (c)
2013 Michael Wallner
<mike@php.net
> |
</span></div>
120 <div class=
"line"><a name=
"l00010"></a><span class=
"lineno"> 10</span> <span class=
"comment"> +--------------------------------------------------------------------+
</span></div>
121 <div class=
"line"><a name=
"l00011"></a><span class=
"lineno"> 11</span> <span class=
"comment">*/
</span></div>
122 <div class=
"line"><a name=
"l00012"></a><span class=
"lineno"> 12</span> </div>
123 <div class=
"line"><a name=
"l00013"></a><span class=
"lineno"> 13</span> <span class=
"preprocessor">#ifndef PHP_PROPRO_API_H
</span></div>
124 <div class=
"line"><a name=
"l00014"></a><span class=
"lineno"> 14</span> <span class=
"preprocessor">#define PHP_PROPRO_API_H
</span></div>
125 <div class=
"line"><a name=
"l00015"></a><span class=
"lineno"> 15</span> </div>
126 <div class=
"line"><a name=
"l00016"></a><span class=
"lineno"> 16</span> <span class=
"preprocessor">#include
"<a class=
"code" href=
"php__propro_8h.html">php_propro.h
</a>"</span></div>
127 <div class=
"line"><a name=
"l00017"></a><span class=
"lineno"> 17</span> </div>
128 <div class=
"line"><a name=
"l00023"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html"> 23</a></span> <span class=
"keyword">struct
</span><a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy
</a> {
</div>
129 <div class=
"line"><a name=
"l00025"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#abf9d59d0c1f5a609ab54ff152f357765"> 25</a></span>  zval
<a class=
"code" href=
"php__propro__api_8h.html#abf9d59d0c1f5a609ab54ff152f357765">container
</a>;
</div>
130 <div class=
"line"><a name=
"l00027"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#aac4300df933c19b6b7aa722a15795f36"> 27</a></span>  zend_string *
<a class=
"code" href=
"php__propro__api_8h.html#aac4300df933c19b6b7aa722a15795f36">member
</a>;
</div>
131 <div class=
"line"><a name=
"l00028"></a><span class=
"lineno"> 28</span> };
</div>
132 <div class=
"line"><a name=
"l00029"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#ac27c374d9d0cf65b52b16ea407df9eac"> 29</a></span> <span class=
"keyword">typedef
</span> <span class=
"keyword">struct
</span><a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy
</a> <a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy_t
</a>;
</div>
133 <div class=
"line"><a name=
"l00030"></a><span class=
"lineno"> 30</span> </div>
134 <div class=
"line"><a name=
"l00064"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html"> 64</a></span> <span class=
"keyword">struct
</span><a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object
</a> {
</div>
135 <div class=
"line"><a name=
"l00066"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#a87b08fb8c8dd5a44bccfac6fb81d2103"> 66</a></span>  <a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy_t
</a> *
<a class=
"code" href=
"php__propro__api_8h.html#a87b08fb8c8dd5a44bccfac6fb81d2103">proxy
</a>;
</div>
136 <div class=
"line"><a name=
"l00068"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#ad1a0287b6853433cfc810434934b99c1"> 68</a></span>  zval
<a class=
"code" href=
"php__propro__api_8h.html#ad1a0287b6853433cfc810434934b99c1">parent
</a>;
</div>
137 <div class=
"line"><a name=
"l00070"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#a613d3470bf10261b3903e12d1b94f635"> 70</a></span>  zend_object
<a class=
"code" href=
"php__propro__api_8h.html#a613d3470bf10261b3903e12d1b94f635">zo
</a>;
</div>
138 <div class=
"line"><a name=
"l00071"></a><span class=
"lineno"> 71</span> };
</div>
139 <div class=
"line"><a name=
"l00072"></a><span class=
"lineno"><a class=
"line" href=
"php__propro__api_8h.html#aaf59f3ba6014a701909054115f812451"> 72</a></span> <span class=
"keyword">typedef
</span> <span class=
"keyword">struct
</span><a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object
</a> <a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object_t
</a>;
</div>
140 <div class=
"line"><a name=
"l00073"></a><span class=
"lineno"> 73</span> </div>
141 <div class=
"line"><a name=
"l00084"></a><span class=
"lineno"> 84</span> <a class=
"code" href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a> <a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy_t
</a> *
<a class=
"code" href=
"php__propro__api_8h.html#ad2dad42ea474be0ba431df4008fde138">php_property_proxy_init
</a>(zval *container,
</div>
142 <div class=
"line"><a name=
"l00085"></a><span class=
"lineno"> 85</span>  zend_string *member);
</div>
143 <div class=
"line"><a name=
"l00086"></a><span class=
"lineno"> 86</span> </div>
144 <div class=
"line"><a name=
"l00094"></a><span class=
"lineno"> 94</span> <a class=
"code" href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a> <span class=
"keywordtype">void
</span> <a class=
"code" href=
"php__propro__api_8h.html#ae185a0f79aac26679cf1dd0de2e46f57">php_property_proxy_free
</a>(
<a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy_t
</a> **
<a class=
"code" href=
"php__propro__api_8h.html#a87b08fb8c8dd5a44bccfac6fb81d2103">proxy
</a>);
</div>
145 <div class=
"line"><a name=
"l00095"></a><span class=
"lineno"> 95</span> </div>
146 <div class=
"line"><a name=
"l00100"></a><span class=
"lineno"> 100</span> <a class=
"code" href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a> zend_class_entry *
<a class=
"code" href=
"php__propro__api_8h.html#a15c4fce513dc952c575cd72332835aa4">php_property_proxy_get_class_entry
</a>(
<span class=
"keywordtype">void
</span>);
</div>
147 <div class=
"line"><a name=
"l00101"></a><span class=
"lineno"> 101</span> </div>
148 <div class=
"line"><a name=
"l00107"></a><span class=
"lineno"> 107</span> <a class=
"code" href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a> zend_object *
<a class=
"code" href=
"php__propro__api_8h.html#aba1cb72c167c0affaee91be0230fb3b6">php_property_proxy_object_new
</a>(zend_class_entry *ce);
</div>
149 <div class=
"line"><a name=
"l00108"></a><span class=
"lineno"> 108</span> </div>
150 <div class=
"line"><a name=
"l00115"></a><span class=
"lineno"> 115</span> <a class=
"code" href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a> <a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object_t
</a> *
<a class=
"code" href=
"php__propro__api_8h.html#ab06eb7c51b9c4495596548c978e25c6e">php_property_proxy_object_new_ex
</a>(
</div>
151 <div class=
"line"><a name=
"l00116"></a><span class=
"lineno"> 116</span>  zend_class_entry *ce,
<a class=
"code" href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy_t
</a> *
<a class=
"code" href=
"php__propro__api_8h.html#a87b08fb8c8dd5a44bccfac6fb81d2103">proxy
</a>);
</div>
152 <div class=
"line"><a name=
"l00117"></a><span class=
"lineno"> 117</span> </div>
153 <div class=
"line"><a name=
"l00118"></a><span class=
"lineno"> 118</span> <span class=
"preprocessor">#endif
</span><span class=
"comment">/* PHP_PROPRO_API_H */
</span><span class=
"preprocessor"></span></div>
154 <div class=
"line"><a name=
"l00119"></a><span class=
"lineno"> 119</span> </div>
155 <div class=
"line"><a name=
"l00120"></a><span class=
"lineno"> 120</span> </div>
156 <div class=
"line"><a name=
"l00121"></a><span class=
"lineno"> 121</span> <span class=
"comment">/*
</span></div>
157 <div class=
"line"><a name=
"l00122"></a><span class=
"lineno"> 122</span> <span class=
"comment"> * Local variables:
</span></div>
158 <div class=
"line"><a name=
"l00123"></a><span class=
"lineno"> 123</span> <span class=
"comment"> * tab-width:
4</span></div>
159 <div class=
"line"><a name=
"l00124"></a><span class=
"lineno"> 124</span> <span class=
"comment"> * c-basic-offset:
4</span></div>
160 <div class=
"line"><a name=
"l00125"></a><span class=
"lineno"> 125</span> <span class=
"comment"> * End:
</span></div>
161 <div class=
"line"><a name=
"l00126"></a><span class=
"lineno"> 126</span> <span class=
"comment"> * vim600: noet sw=
4 ts=
4 fdm=marker
</span></div>
162 <div class=
"line"><a name=
"l00127"></a><span class=
"lineno"> 127</span> <span class=
"comment"> * vim
<600: noet sw=
4 ts=
4</span></div>
163 <div class=
"line"><a name=
"l00128"></a><span class=
"lineno"> 128</span> <span class=
"comment"> */
</span></div>
164 <div class=
"ttc" id=
"php__propro__api_8h_html_abf9d59d0c1f5a609ab54ff152f357765"><div class=
"ttname"><a href=
"php__propro__api_8h.html#abf9d59d0c1f5a609ab54ff152f357765">php_property_proxy::container
</a></div><div class=
"ttdeci">zval container
</div><div class=
"ttdoc">The container holding the property.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
25</div></div>
165 <div class=
"ttc" id=
"php__propro__api_8h_html_ad1a0287b6853433cfc810434934b99c1"><div class=
"ttname"><a href=
"php__propro__api_8h.html#ad1a0287b6853433cfc810434934b99c1">php_property_proxy_object::parent
</a></div><div class=
"ttdeci">zval parent
</div><div class=
"ttdoc">Any parent property proxy object.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
68</div></div>
166 <div class=
"ttc" id=
"php__propro_8h_html"><div class=
"ttname"><a href=
"php__propro_8h.html">php_propro.h
</a></div></div>
167 <div class=
"ttc" id=
"php__propro__api_8h_html_aac4300df933c19b6b7aa722a15795f36"><div class=
"ttname"><a href=
"php__propro__api_8h.html#aac4300df933c19b6b7aa722a15795f36">php_property_proxy::member
</a></div><div class=
"ttdeci">zend_string * member
</div><div class=
"ttdoc">The name of the proxied property.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
27</div></div>
168 <div class=
"ttc" id=
"php__propro__api_8h_html_ab06eb7c51b9c4495596548c978e25c6e"><div class=
"ttname"><a href=
"php__propro__api_8h.html#ab06eb7c51b9c4495596548c978e25c6e">php_property_proxy_object_new_ex
</a></div><div class=
"ttdeci">php_property_proxy_object_t * php_property_proxy_object_new_ex(zend_class_entry *ce, php_property_proxy_t *proxy)
</div><div class=
"ttdoc">Instantiate a new php\PropertyProxy with proxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.c:
148</div></div>
169 <div class=
"ttc" id=
"php__propro__api_8h_html_a15c4fce513dc952c575cd72332835aa4"><div class=
"ttname"><a href=
"php__propro__api_8h.html#a15c4fce513dc952c575cd72332835aa4">php_property_proxy_get_class_entry
</a></div><div class=
"ttdeci">zend_class_entry * php_property_proxy_get_class_entry(void)
</div><div class=
"ttdoc">Get the zend_class_entry of php\PropertyProxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.c:
56</div></div>
170 <div class=
"ttc" id=
"php__propro__api_8h_html_ae185a0f79aac26679cf1dd0de2e46f57"><div class=
"ttname"><a href=
"php__propro__api_8h.html#ae185a0f79aac26679cf1dd0de2e46f57">php_property_proxy_free
</a></div><div class=
"ttdeci">void php_property_proxy_free(php_property_proxy_t **proxy)
</div><div class=
"ttdoc">Destroy and free a property proxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.c:
43</div></div>
171 <div class=
"ttc" id=
"php__propro__api_8h_html_structphp__property__proxy"><div class=
"ttname"><a href=
"php__propro__api_8h.html#structphp__property__proxy">php_property_proxy
</a></div><div class=
"ttdoc">The internal property proxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
23</div></div>
172 <div class=
"ttc" id=
"php__propro__api_8h_html_a87b08fb8c8dd5a44bccfac6fb81d2103"><div class=
"ttname"><a href=
"php__propro__api_8h.html#a87b08fb8c8dd5a44bccfac6fb81d2103">php_property_proxy_object::proxy
</a></div><div class=
"ttdeci">php_property_proxy_t * proxy
</div><div class=
"ttdoc">The actual property proxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
66</div></div>
173 <div class=
"ttc" id=
"php__propro__api_8h_html_ad2dad42ea474be0ba431df4008fde138"><div class=
"ttname"><a href=
"php__propro__api_8h.html#ad2dad42ea474be0ba431df4008fde138">php_property_proxy_init
</a></div><div class=
"ttdeci">php_property_proxy_t * php_property_proxy_init(zval *container, zend_string *member)
</div><div class=
"ttdoc">Create a property proxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.c:
33</div></div>
174 <div class=
"ttc" id=
"php__propro__api_8h_html_structphp__property__proxy__object"><div class=
"ttname"><a href=
"php__propro__api_8h.html#structphp__property__proxy__object">php_property_proxy_object
</a></div><div class=
"ttdoc">The userland object.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
64</div></div>
175 <div class=
"ttc" id=
"php__propro__api_8h_html_a613d3470bf10261b3903e12d1b94f635"><div class=
"ttname"><a href=
"php__propro__api_8h.html#a613d3470bf10261b3903e12d1b94f635">php_property_proxy_object::zo
</a></div><div class=
"ttdeci">zend_object zo
</div><div class=
"ttdoc">The std zend_object.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.h:
70</div></div>
176 <div class=
"ttc" id=
"php__propro_8h_html_a2f9402fc8e099586c92779877100bcf5"><div class=
"ttname"><a href=
"php__propro_8h.html#a2f9402fc8e099586c92779877100bcf5">PHP_PROPRO_API
</a></div><div class=
"ttdeci">#define PHP_PROPRO_API
</div><div class=
"ttdef"><b>Definition:
</b> php_propro.h:
26</div></div>
177 <div class=
"ttc" id=
"php__propro__api_8h_html_aba1cb72c167c0affaee91be0230fb3b6"><div class=
"ttname"><a href=
"php__propro__api_8h.html#aba1cb72c167c0affaee91be0230fb3b6">php_property_proxy_object_new
</a></div><div class=
"ttdeci">zend_object * php_property_proxy_object_new(zend_class_entry *ce)
</div><div class=
"ttdoc">Instantiate a new php\PropertyProxy.
</div><div class=
"ttdef"><b>Definition:
</b> php_propro_api.c:
169</div></div>
178 </div><!-- fragment --></div><!-- contents -->
179 </div><!-- doc-content -->
180 <!-- start footer part -->
181 <div id=
"nav-path" class=
"navpath"><!-- id is needed for treeview function! -->
183 <li class=
"navelem"><a class=
"el" href=
"dir_68267d1309a1af8e8297ef4c3efbcdba.html">src
</a></li><li class=
"navelem"><a class=
"el" href=
"php__propro__api_8h.html">php_propro_api.h
</a></li>
184 <li class=
"footer">Generated by
185 <a href=
"http://www.doxygen.org/index.html">
186 <img class=
"footer" src=
"doxygen.png" alt=
"doxygen"/></a> 1.8.10 </li>