From: Michael Wallner Date: Wed, 30 Sep 2015 12:49:32 +0000 (+0200) Subject: update master docs X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-raphf;a=commitdiff_plain;h=refs%2Fheads%2Fgh-pages update master docs --- diff --git a/master/BUGS b/master/BUGS new file mode 100644 index 0000000..75711d2 --- /dev/null +++ b/master/BUGS @@ -0,0 +1 @@ +Yay, now known and unresolved issues yet! diff --git a/master/CONTRIBUTING.md b/master/CONTRIBUTING.md new file mode 100644 index 0000000..968bd44 --- /dev/null +++ b/master/CONTRIBUTING.md @@ -0,0 +1,39 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct. By adopting this Code of Conduct, project +maintainers commit themselves to fairly and consistently applying these +principles to every aspect of managing this project. Project maintainers who do +not follow or enforce the Code of Conduct may be permanently removed from the +project team. + +This code of conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by opening an issue or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the +[Contributor Covenant](http://contributor-covenant.org), version 1.2.0, +available at http://contributor-covenant.org/version/1/2/0/. diff --git a/master/CONTRIBUTING_8md.html b/master/CONTRIBUTING_8md.html new file mode 100644 index 0000000..5ad6df0 --- /dev/null +++ b/master/CONTRIBUTING_8md.html @@ -0,0 +1,124 @@ + + + + + + +Resource and persistent handle factory API: CONTRIBUTING.md File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CONTRIBUTING.md File Reference
+
+
+
+
+ + + + diff --git a/master/LICENSE b/master/LICENSE new file mode 100644 index 0000000..c26019a --- /dev/null +++ b/master/LICENSE @@ -0,0 +1,22 @@ +Copyright (c) 2013, Michael Wallner . +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/master/README_8md.html b/master/README_8md.html new file mode 100644 index 0000000..543f3a2 --- /dev/null +++ b/master/README_8md.html @@ -0,0 +1,124 @@ + + + + + + +Resource and persistent handle factory API: README.md File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
README.md File Reference
+
+
+
+
+ + + + diff --git a/master/THANKS b/master/THANKS new file mode 100644 index 0000000..8167585 --- /dev/null +++ b/master/THANKS @@ -0,0 +1,4 @@ +Thanks go to the following people, who have contributed to this project: + +Anatol Belski +Remi Collet diff --git a/master/TODO b/master/TODO new file mode 100644 index 0000000..5e3d935 --- /dev/null +++ b/master/TODO @@ -0,0 +1 @@ +* TTL diff --git a/master/annotated.html b/master/annotated.html new file mode 100644 index 0000000..20b02a2 --- /dev/null +++ b/master/annotated.html @@ -0,0 +1,133 @@ + + + + + + +Resource and persistent handle factory API: Data Structures + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + +
 Cphp_persistent_handle_factoryDefinition of a persistent handle factory
 Cphp_persistent_handle_listPersistent handles storage
 Cphp_persistent_handle_providerDefinition of a persistent handle provider
 Cphp_resource_factoryThe resource factory
 Cphp_resource_factory_opsThe resource ops consisting of a ctor, a copy ctor and a dtor
+
+
+
+ + + + diff --git a/master/annotated_dup.js b/master/annotated_dup.js new file mode 100644 index 0000000..d7873eb --- /dev/null +++ b/master/annotated_dup.js @@ -0,0 +1,8 @@ +var annotated_dup = +[ + [ "php_persistent_handle_factory", "php__raphf__api_8h.html#structphp__persistent__handle__factory", "php__raphf__api_8h_structphp__persistent__handle__factory" ], + [ "php_persistent_handle_list", "php__raphf__api_8h.html#structphp__persistent__handle__list", "php__raphf__api_8h_structphp__persistent__handle__list" ], + [ "php_persistent_handle_provider", "php__raphf__api_8h.html#structphp__persistent__handle__provider", "php__raphf__api_8h_structphp__persistent__handle__provider" ], + [ "php_resource_factory", "structphp__resource__factory.html", "structphp__resource__factory" ], + [ "php_resource_factory_ops", "php__raphf__api_8h.html#structphp__resource__factory__ops", "php__raphf__api_8h_structphp__resource__factory__ops" ] +]; \ No newline at end of file diff --git a/master/arrowdown.png b/master/arrowdown.png new file mode 100644 index 0000000..0b63f6d Binary files /dev/null and b/master/arrowdown.png differ diff --git a/master/arrowright.png b/master/arrowright.png new file mode 100644 index 0000000..c6ee22f Binary files /dev/null and b/master/arrowright.png differ diff --git a/master/bc_s.png b/master/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/master/bc_s.png differ diff --git a/master/bdwn.png b/master/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/master/bdwn.png differ diff --git a/master/classes.html b/master/classes.html new file mode 100644 index 0000000..e6de8f7 --- /dev/null +++ b/master/classes.html @@ -0,0 +1,133 @@ + + + + + + +Resource and persistent handle factory API: Data Structure Index + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+ +
+ + + + diff --git a/master/closed.png b/master/closed.png new file mode 100644 index 0000000..98cc2c9 Binary files /dev/null and b/master/closed.png differ diff --git a/master/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/master/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000..e401418 --- /dev/null +++ b/master/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,134 @@ + + + + + + +Resource and persistent handle factory API: src Directory Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
src Directory Reference
+
+
+
+Directory dependency graph for src:
+
+
src
+ + + +
+ + + + + + +

+Files

file  php_raphf_api.c
 
file  php_raphf_api.h [code]
 
+
+
+ + + + diff --git a/master/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/master/dir_68267d1309a1af8e8297ef4c3efbcdba.js new file mode 100644 index 0000000..849f32c --- /dev/null +++ b/master/dir_68267d1309a1af8e8297ef4c3efbcdba.js @@ -0,0 +1,5 @@ +var dir_68267d1309a1af8e8297ef4c3efbcdba = +[ + [ "php_raphf_api.c", "php__raphf__api_8c.html", "php__raphf__api_8c" ], + [ "php_raphf_api.h", "php__raphf__api_8h.html", "php__raphf__api_8h" ] +]; \ No newline at end of file diff --git a/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map new file mode 100644 index 0000000..8d8c2e1 --- /dev/null +++ b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map @@ -0,0 +1,3 @@ + + + diff --git a/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 new file mode 100644 index 0000000..bde1bd9 --- /dev/null +++ b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 @@ -0,0 +1 @@ +7a70b70504fc7536b3850e506e5e71ee \ No newline at end of file diff --git a/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png new file mode 100644 index 0000000..7ee64bd Binary files /dev/null and b/master/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png differ diff --git a/master/doc.png b/master/doc.png new file mode 100644 index 0000000..17edabf Binary files /dev/null and b/master/doc.png differ diff --git a/master/doxygen.css b/master/doxygen.css new file mode 100644 index 0000000..b2c94ac --- /dev/null +++ b/master/doxygen.css @@ -0,0 +1,1454 @@ +/* The standard CSS for doxygen 1.8.10 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/master/doxygen.png b/master/doxygen.png new file mode 100644 index 0000000..3ff17d8 Binary files /dev/null and b/master/doxygen.png differ diff --git a/master/dynsections.js b/master/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/master/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +Resource and persistent handle factory API: File List + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 12]
+ + + + +
  src
 php_raphf_api.c
 php_raphf_api.h
 php_raphf.h
+
+
+
+ + + + diff --git a/master/files.js b/master/files.js new file mode 100644 index 0000000..4f66139 --- /dev/null +++ b/master/files.js @@ -0,0 +1,5 @@ +var files = +[ + [ "src", "dir_68267d1309a1af8e8297ef4c3efbcdba.html", "dir_68267d1309a1af8e8297ef4c3efbcdba" ], + [ "php_raphf.h", "php__raphf_8h.html", "php__raphf_8h" ] +]; \ No newline at end of file diff --git a/master/folderclosed.png b/master/folderclosed.png new file mode 100644 index 0000000..bb8ab35 Binary files /dev/null and b/master/folderclosed.png differ diff --git a/master/folderopen.png b/master/folderopen.png new file mode 100644 index 0000000..d6c7f67 Binary files /dev/null and b/master/folderopen.png differ diff --git a/master/functions.html b/master/functions.html new file mode 100644 index 0000000..38d6188 --- /dev/null +++ b/master/functions.html @@ -0,0 +1,174 @@ + + + + + + +Resource and persistent handle factory API: Data Fields + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+
+
+ + + + diff --git a/master/functions_vars.html b/master/functions_vars.html new file mode 100644 index 0000000..655a89f --- /dev/null +++ b/master/functions_vars.html @@ -0,0 +1,174 @@ + + + + + + +Resource and persistent handle factory API: Data Fields - Variables + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/master/globals.html b/master/globals.html new file mode 100644 index 0000000..88df4b1 --- /dev/null +++ b/master/globals.html @@ -0,0 +1,294 @@ + + + + + + +Resource and persistent handle factory API: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- z -

+
+
+ + + + diff --git a/master/globals_defs.html b/master/globals_defs.html new file mode 100644 index 0000000..ad701f8 --- /dev/null +++ b/master/globals_defs.html @@ -0,0 +1,148 @@ + + + + + + +Resource and persistent handle factory API: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/master/globals_func.html b/master/globals_func.html new file mode 100644 index 0000000..187e0a1 --- /dev/null +++ b/master/globals_func.html @@ -0,0 +1,234 @@ + + + + + + +Resource and persistent handle factory API: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+ + +

- s -

+ + +

- z -

+
+
+ + + + diff --git a/master/globals_type.html b/master/globals_type.html new file mode 100644 index 0000000..e1e24fa --- /dev/null +++ b/master/globals_type.html @@ -0,0 +1,160 @@ + + + + + + +Resource and persistent handle factory API: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/master/globals_vars.html b/master/globals_vars.html new file mode 100644 index 0000000..59e21b0 --- /dev/null +++ b/master/globals_vars.html @@ -0,0 +1,137 @@ + + + + + + +Resource and persistent handle factory API: Globals + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/master/graph_legend.html b/master/graph_legend.html new file mode 100644 index 0000000..debc9c4 --- /dev/null +++ b/master/graph_legend.html @@ -0,0 +1,180 @@ + + + + + + +Resource and persistent handle factory API: Graph Legend + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

1 /*! Invisible class because of truncation */
+
2 class Invisible { };
+
3 
+
4 /*! Truncated class, inheritance relation is hidden */
+
5 class Truncated : public Invisible { };
+
6 
+
7 /* Class not documented with doxygen comments */
+
8 class Undocumented { };
+
9 
+
10 /*! Class that is inherited using public inheritance */
+
11 class PublicBase : public Truncated { };
+
12 
+
13 /*! A template class */
+
14 template<class T> class Templ { };
+
15 
+
16 /*! Class that is inherited using protected inheritance */
+
17 class ProtectedBase { };
+
18 
+
19 /*! Class that is inherited using private inheritance */
+
20 class PrivateBase { };
+
21 
+
22 /*! Class that is used by the Inherited class */
+
23 class Used { };
+
24 
+
25 /*! Super class that inherits a number of other classes */
+
26 class Inherited : public PublicBase,
+
27  protected ProtectedBase,
+
28  private PrivateBase,
+
29  public Undocumented,
+
30  public Templ<int>
+
31 {
+
32  private:
+
33  Used *m_usedClass;
+
34 };
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a gray border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/master/graph_legend.md5 b/master/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/master/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/master/graph_legend.png b/master/graph_legend.png new file mode 100644 index 0000000..f542f62 Binary files /dev/null and b/master/graph_legend.png differ diff --git a/master/index.html b/master/index.html new file mode 100644 index 0000000..9c04390 --- /dev/null +++ b/master/index.html @@ -0,0 +1,141 @@ + + + + + + +Resource and persistent handle factory API: Main Page + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Resource and persistent handle factory API Documentation
+
+
+

![Build Status](https://travis-ci.org/m6w6/ext-raphf.svg?branch=v1.1.x)

+

The "Resource and Persistent Handle Factory" extension provides facilities to manage those in a convenient manner.

+

Documentation

+

See the online markdown reference.

+

Known issues are listed in BUGS and future ideas can be found in TODO.

+

Installing

+

PECL

+
pecl install raphf
+

PHARext

+

Watch out for PECL replicates and pharext packages attached to releases.

+

Checkout

+
git clone github.com:m6w6/ext-raphf
+cd ext-raphf
+/path/to/phpize
+./configure --with-php-config=/path/to/php-config
+make
+sudo make install
+

ChangeLog

+

A comprehensive list of changes can be obtained from the PECL website.

+

License

+

ext-raphf is licensed under the 2-Clause-BSD license, which can be found in the accompanying LICENSE file.

+

Contributing

+

All forms of contribution are welcome! Please see the bundled ./CONTRIBUTING.md "CONTRIBUTING" note for the general principles followed.

+

The list of past and current contributors is maintained in THANKS.

+
+
+ + + + diff --git a/master/jquery.js b/master/jquery.js new file mode 100644 index 0000000..1f4d0b4 --- /dev/null +++ b/master/jquery.js @@ -0,0 +1,68 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + +
+
+
Contributor Code of Conduct
+
+
+

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

+

We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

+

Examples of unacceptable behavior by participants include:

+
    +
  • The use of sexualized language or imagery
  • +
  • Personal attacks
  • +
  • Trolling or insulting/derogatory comments
  • +
  • Public or private harassment
  • +
  • Publishing other's private information, such as physical or electronic addresses, without explicit permission
  • +
  • Other unethical or unprofessional conduct.
  • +
+

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.

+

This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

+

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.

+

This Code of Conduct is adapted from the Contributor Covenant, version 1.2.0, available at http://contributor-covenant.org/version/1/2/0/.

+
+ + + + + diff --git a/master/nav_f.png b/master/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/master/nav_f.png differ diff --git a/master/nav_g.png b/master/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/master/nav_g.png differ diff --git a/master/nav_h.png b/master/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/master/nav_h.png differ diff --git a/master/navtree.css b/master/navtree.css new file mode 100644 index 0000000..1a868b3 --- /dev/null +++ b/master/navtree.css @@ -0,0 +1,143 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background:url("splitbar.png") repeat scroll right center transparent; + cursor:e-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/master/navtree.js b/master/navtree.js new file mode 100644 index 0000000..9df45a7 --- /dev/null +++ b/master/navtree.js @@ -0,0 +1,523 @@ +var navTreeSubIndices = new Array(); + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("img"); + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.width = 16; + imgNode.height = 22; + imgNode.border = 0; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.src = node.relpath+"arrowright.png"; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + imgNode.src = node.relpath+"arrowright.png"; + } else { + var span = document.createElement("span"); + span.style.display = 'inline-block'; + span.style.width = 16*(level+1)+'px'; + span.style.height = '22px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + if (node.isLast) { + node.plus_img.src = node.relpath+"arrowdown.png"; + } else { + node.plus_img.src = node.relpath+"arrowdown.png"; + } + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.src = node.relpath+"arrowdown.png"; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("img"); + o.node.plus_img.src = relpath+"arrowright.png"; + o.node.plus_img.width = 16; + o.node.plus_img.height = 22; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/ + + + + + +Resource and persistent handle factory API: Related Pages + + + + + + + + + + + + + + + +
+
+
+ + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+ + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Related Pages
+
+
+
Here is a list of all related documentation pages:
+
+
+ + + + diff --git a/master/php__raphf_8h.html b/master/php__raphf_8h.html new file mode 100644 index 0000000..161a6f3 --- /dev/null +++ b/master/php__raphf_8h.html @@ -0,0 +1,214 @@ + + + + + + +Resource and persistent handle factory API: php_raphf.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
php_raphf.h File Reference
+
+
+
#include "php_raphf_api.h"
+
+Include dependency graph for php_raphf.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + + + + + +

+Macros

#define phpext_raphf_ptr   &raphf_module_entry
 
#define PHP_RAPHF_VERSION   "2.0.0dev"
 
#define PHP_RAPHF_API   extern
 
+ + + +

+Variables

zend_module_entry raphf_module_entry
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define PHP_RAPHF_API   extern
+
+ +
+
+ +
+
+ + + + +
#define PHP_RAPHF_VERSION   "2.0.0dev"
+
+ +

Referenced by PHP_MINFO_FUNCTION().

+ +
+
+ +
+
+ + + + +
#define phpext_raphf_ptr   &raphf_module_entry
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
zend_module_entry raphf_module_entry
+
+ +
+
+
+
+ + + + diff --git a/master/php__raphf_8h.js b/master/php__raphf_8h.js new file mode 100644 index 0000000..61c4284 --- /dev/null +++ b/master/php__raphf_8h.js @@ -0,0 +1,7 @@ +var php__raphf_8h = +[ + [ "PHP_RAPHF_API", "php__raphf_8h.html#a379b9663dc302070f84fafdc4c48d7eb", null ], + [ "PHP_RAPHF_VERSION", "php__raphf_8h.html#ad71962d03ef6d7009f69765ad54f8857", null ], + [ "phpext_raphf_ptr", "php__raphf_8h.html#a41a94f99848b07699e3fde33180208c1", null ], + [ "raphf_module_entry", "php__raphf_8h.html#a42f904573a2c5b1eba6ccd6604269f99", null ] +]; \ No newline at end of file diff --git a/master/php__raphf_8h__dep__incl.map b/master/php__raphf_8h__dep__incl.map new file mode 100644 index 0000000..5356c95 --- /dev/null +++ b/master/php__raphf_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf_8h__dep__incl.md5 b/master/php__raphf_8h__dep__incl.md5 new file mode 100644 index 0000000..8af8911 --- /dev/null +++ b/master/php__raphf_8h__dep__incl.md5 @@ -0,0 +1 @@ +60b0cf3d65947e666aedee3f163b230d \ No newline at end of file diff --git a/master/php__raphf_8h__dep__incl.png b/master/php__raphf_8h__dep__incl.png new file mode 100644 index 0000000..2ca8bd8 Binary files /dev/null and b/master/php__raphf_8h__dep__incl.png differ diff --git a/master/php__raphf_8h__incl.map b/master/php__raphf_8h__incl.map new file mode 100644 index 0000000..9829270 --- /dev/null +++ b/master/php__raphf_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf_8h__incl.md5 b/master/php__raphf_8h__incl.md5 new file mode 100644 index 0000000..84ce980 --- /dev/null +++ b/master/php__raphf_8h__incl.md5 @@ -0,0 +1 @@ +941c1fa88cb1a085a590a5faacfc4b07 \ No newline at end of file diff --git a/master/php__raphf_8h__incl.png b/master/php__raphf_8h__incl.png new file mode 100644 index 0000000..aaf27b6 Binary files /dev/null and b/master/php__raphf_8h__incl.png differ diff --git a/master/php__raphf_8h_source.html b/master/php__raphf_8h_source.html new file mode 100644 index 0000000..fc452b0 --- /dev/null +++ b/master/php__raphf_8h_source.html @@ -0,0 +1,171 @@ + + + + + + +Resource and persistent handle factory API: php_raphf.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
php_raphf.h
+
+
+Go to the documentation of this file.
1 /*
+
2  +--------------------------------------------------------------------+
+
3  | PECL :: raphf |
+
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_RAPHF_H
+
14 #define PHP_RAPHF_H
+
15 
+
16 extern zend_module_entry raphf_module_entry;
+
17 #define phpext_raphf_ptr &raphf_module_entry
+
18 
+
19 #define PHP_RAPHF_VERSION "2.0.0dev"
+
20 
+
21 #ifdef PHP_WIN32
+
22 # define PHP_RAPHF_API __declspec(dllexport)
+
23 #elif defined(__GNUC__) && __GNUC__ >= 4
+
24 # define PHP_RAPHF_API extern __attribute__ ((visibility("default")))
+
25 #else
+
26 # define PHP_RAPHF_API extern
+
27 #endif
+
28 
+
29 #ifdef ZTS
+
30 # include "TSRM.h"
+
31 #endif
+
32 
+
33 #include "php_raphf_api.h"
+
34 
+
35 #endif /* PHP_RAPHF_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 raphf_module_entry
Definition: php_raphf_api.c:670
+ +
+
+ + + + diff --git a/master/php__raphf__api_8c.html b/master/php__raphf__api_8c.html new file mode 100644 index 0000000..8583e7c --- /dev/null +++ b/master/php__raphf__api_8c.html @@ -0,0 +1,1230 @@ + + + + + + +Resource and persistent handle factory API: src/php_raphf_api.c File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
php_raphf_api.c File Reference
+
+
+
#include "php.h"
+#include "php_ini.h"
+#include "ext/standard/info.h"
+#include "php_raphf.h"
+
+Include dependency graph for php_raphf_api.c:
+
+
+ + + + +
+
+ + + + + + + +

+Macros

#define PHP_RAPHF_TEST   0
 
#define PHP_RAPHF_G   (&raphf_globals)
 
#define PHP_RAPHF_DEBUG_PHANDLES   0
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

php_resource_factory_tphp_resource_factory_init (php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data))
 Initialize a resource factory. More...
 
unsigned php_resource_factory_addref (php_resource_factory_t *rf)
 Increase the refcount of the resource factory. More...
 
void php_resource_factory_dtor (php_resource_factory_t *f)
 Destroy the resource factory. More...
 
void php_resource_factory_free (php_resource_factory_t **f)
 Destroy and free the resource factory. More...
 
void * php_resource_factory_handle_ctor (php_resource_factory_t *f, void *init_arg)
 Construct a resource by the resource factory f. More...
 
void * php_resource_factory_handle_copy (php_resource_factory_t *f, void *handle)
 Create a copy of the resource handle. More...
 
void php_resource_factory_handle_dtor (php_resource_factory_t *f, void *handle)
 Destroy (and free) the resource. More...
 
php_resource_factory_tphp_persistent_handle_resource_factory_init (php_resource_factory_t *a, php_persistent_handle_factory_t *pf)
 Create a resource factory for persistent handles. More...
 
zend_bool php_resource_factory_is_persistent (php_resource_factory_t *a)
 Check whether a resource factory is a persistent handle resource factory. More...
 
ZEND_RESULT_CODE php_persistent_handle_provide (zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *))
 Register a persistent handle provider in MINIT. More...
 
php_persistent_handle_factory_tphp_persistent_handle_concede (php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire)
 Retrieve a persistent handle factory at runtime. More...
 
void php_persistent_handle_abandon (php_persistent_handle_factory_t *a)
 Abandon the persistent handle factory. More...
 
void * php_persistent_handle_acquire (php_persistent_handle_factory_t *a, void *init_arg)
 Acquire a persistent handle. More...
 
void * php_persistent_handle_accrete (php_persistent_handle_factory_t *a, void *handle)
 Copy a persistent handle. More...
 
void php_persistent_handle_release (php_persistent_handle_factory_t *a, void *handle)
 Release a persistent handle. More...
 
void php_persistent_handle_cleanup (zend_string *name, zend_string *ident)
 Clean persistent handles up. More...
 
HashTable * php_persistent_handle_statall (HashTable *ht)
 Retrieve statistics about the current process/thread's persistent handles. More...
 
php_resource_factory_ops_tphp_persistent_handle_get_resource_factory_ops (void)
 Retrieve persistent handle resource factory ops. More...
 
 ZEND_END_ARG_INFO ()
 
 STD_PHP_INI_ENTRY ("raphf.persistent_handle.limit","-1", PHP_INI_SYSTEM, OnUpdateLong, persistent_handle.limit, zend_raphf_globals, raphf_globals) static HashTable *php_persistent_handles_global_hash
 
 PHP_MINIT_FUNCTION (raphf)
 
 PHP_MSHUTDOWN_FUNCTION (raphf)
 
 PHP_MINFO_FUNCTION (raphf)
 
+ + + + + +

+Variables

struct php_persistent_handle_globals persistent_handle
 
zend_module_entry raphf_module_entry
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define PHP_RAPHF_DEBUG_PHANDLES   0
+
+ +
+
+ + + +
+
+ + + + +
#define PHP_RAPHF_TEST   0
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
PHP_MINFO_FUNCTION (raphf )
+
+ +
+
+ +
+
+ + + + + + + + +
PHP_MINIT_FUNCTION (raphf )
+
+ +
+
+ +
+
+ + + + + + + + +
PHP_MSHUTDOWN_FUNCTION (raphf )
+
+ +
+
+ +
+
+ + + + + + + + +
void php_persistent_handle_abandon (php_persistent_handle_factory_ta)
+
+ +

Abandon the persistent handle factory.

+

Destroy a php_persistent_handle_factory created by php_persistent_handle_concede(). If the memory for the factory was allocated, it will automatically be free'd.

+
Parameters
+ + +
athe persistent handle factory to destroy
+
+
+ +

Referenced by php_persistent_handle_resource_factory_init(), and php_resource_factory_is_persistent().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_persistent_handle_accrete (php_persistent_handle_factory_ta,
void * handle 
)
+
+ +

Copy a persistent handle.

+

Let the underlying resource factory copy the handle.

+
Parameters
+ + + +
athe persistent handle factory
handlethe resource to accrete
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_persistent_handle_acquire (php_persistent_handle_factory_ta,
void * init_arg 
)
+
+ +

Acquire a persistent handle.

+

That is, either re-use a resource from the free list or create a new handle.

+

If a handle is acquired from the free list, the php_persistent_handle_factory::wakeup callback will be executed for that handle.

+
Parameters
+ + + +
athe persistent handle factory
init_argthe init_arg for php_resource_factory_handle_ctor()
+
+
+
Returns
the acquired resource
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_persistent_handle_cleanup (zend_string * name,
zend_string * ident 
)
+
+ +

Clean persistent handles up.

+

Destroy persistent handles of provider name and in subsidiary namespace ident.

+

If name is NULL, all persistent handles of all providers with a matching ident will be cleaned up.

+

If identr is NULL all persistent handles of the provider will be cleaned up.

+

Ergo, if both, name and ident are NULL, then all persistent handles will be cleaned up.

+

You must call this in MSHUTDOWN, if your resource factory ops hold a registered php_resource_factory::dtor, else the dtor will point to memory not any more available if the extension has already been unloaded.

+
Parameters
+ + + +
namethe provider name; may be NULL
identthe subsidiary namespace name; may be NULL
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
php_persistent_handle_factory_t* php_persistent_handle_concede (php_persistent_handle_factory_ta,
zend_string * name,
zend_string * ident,
php_persistent_handle_wakeup_t wakeup,
php_persistent_handle_retire_t retire 
)
+
+ +

Retrieve a persistent handle factory at runtime.

+

If a persistent handle provider has been registered for name, a new php_persistent_handle_factory creating resources in the ident namespace will be constructed.

+

The wakeup routine wakeup and the retire routine retire will be assigned to the new php_persistent_handle_factory.

+
Parameters
+ + + + + + +
apointer to a factory; allocated on the heap if NULL
namethe provider name, e.g. "http\Client\Curl"
identthe subsidiary namespace, e.g. "php.net:80"
wakeupany persistent handle wakeup routine
retireany persistent handle retire routine
+
+
+
Returns
a or an allocated persistent handle factory
+ +
+
+ +
+
+ + + + + + + + +
php_resource_factory_ops_t* php_persistent_handle_get_resource_factory_ops (void )
+
+ +

Retrieve persistent handle resource factory ops.

+

These ops can be used to mask a persistent handle factory as resource factory itself, so you can transparently use the resource factory API, both for persistent and non-persistent ressources.

+

Example:

php_resource_factory_t *create_my_rf(zend_string *persistent_id)
+
{
+ +
+
if (persistent_id) {
+ + +
zend_string *ns = zend_string_init("my", 2, 1);
+
+ +
pf = php_persistent_handle_concede(NULL, ns, persistent_id, NULL, NULL);
+ +
zend_string_release(ns);
+
} else {
+
rf = php_resource_factory_init(NULL, &myops, NULL, NULL);
+
}
+
return rf;
+
}
+
+

Referenced by php_persistent_handle_resource_factory_init().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ZEND_RESULT_CODE php_persistent_handle_provide (zend_string * name,
php_resource_factory_ops_tfops,
void * data,
void(*)(void *) dtor 
)
+
+ +

Register a persistent handle provider in MINIT.

+

Registers a factory provider for name_str with fops resource factory ops. Call this in your MINIT.

+

A php_resource_factory will be created with fops, data and dtor and will be stored together with a php_persistent_handle_list in the global raphf hash.

+

A php_persistent_handle_factory can then be retrieved by php_persistent_handle_concede() at runtime.

+
Parameters
+ + + + + +
namethe provider name, e.g. "http\Client\Curl"
fopsthe resource factory ops
dataopaque user data
dtordata destructor
+
+
+
Returns
SUCCESS/FAILURE
+ +

+Here is the call graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_persistent_handle_release (php_persistent_handle_factory_ta,
void * handle 
)
+
+ +

Release a persistent handle.

+

That is, either put it back into the free list for later re-use or clean it up with php_resource_factory_handle_dtor().

+

If a handle is put back into the free list, the php_persistent_handle_factory::retire callback will be executed for that handle.

+
Parameters
+ + + +
athe persistent handle factory
handlethe handle to release
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
php_resource_factory_t* php_persistent_handle_resource_factory_init (php_resource_factory_ta,
php_persistent_handle_factory_tpf 
)
+
+ +

Create a resource factory for persistent handles.

+

This will create a resource factory with persistent handle ops, which wraps the provided reource factory pf.

+
Parameters
+ + + +
athe persistent handle resource factory to initialize
pfthe resource factory to wrap
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
HashTable* php_persistent_handle_statall (HashTable * ht)
+
+ +

Retrieve statistics about the current process/thread's persistent handles.

+
Returns
a HashTable like:
1 [
+
2  "name" => [
+
3  "ident" => [
+
4  "used" => 1,
+
5  "free" => 0,
+
6  ]
+
7  ]
+
8 ]
+
+ +
+
+ +
+
+ + + + + + + + +
unsigned php_resource_factory_addref (php_resource_factory_trf)
+
+ +

Increase the refcount of the resource factory.

+
Parameters
+ + +
rfthe resource factory
+
+
+
Returns
the new refcount
+ +
+
+ +
+
+ + + + + + + + +
void php_resource_factory_dtor (php_resource_factory_tf)
+
+ +

Destroy the resource factory.

+

If the factory's refcount reaches 0, the dtor for data is called.

+
Parameters
+ + +
fthe resource factory
+
+
+ +

Referenced by php_persistent_handle_provide(), and php_resource_factory_free().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
void php_resource_factory_free (php_resource_factory_t ** f)
+
+ +

Destroy and free the resource factory.

+

Calls php_resource_factory_dtor() and frees f if the factory's refcount reached 0.

+
Parameters
+ + +
fthe resource factory
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_resource_factory_handle_copy (php_resource_factory_tf,
void * handle 
)
+
+ +

Create a copy of the resource handle.

+
Parameters
+ + + +
fthe resource factory
handlethe resource to copy
+
+
+
Returns
the copy
+ +

Referenced by php_persistent_handle_accrete().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_resource_factory_handle_ctor (php_resource_factory_tf,
void * init_arg 
)
+
+ +

Construct a resource by the resource factory f.

+
Parameters
+ + + +
fthe resource factory
init_argfor the resource constructor
+
+
+
Returns
the new resource
+ +

Referenced by php_persistent_handle_acquire().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_resource_factory_handle_dtor (php_resource_factory_tf,
void * handle 
)
+
+ +

Destroy (and free) the resource.

+
Parameters
+ + + +
fthe resource factory
handlethe resource to destroy
+
+
+ +

Referenced by php_persistent_handle_release().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
php_resource_factory_t* php_resource_factory_init (php_resource_factory_tf,
php_resource_factory_ops_tfops,
void * data,
void(*)(void *data) dtor 
)
+
+ +

Initialize a resource factory.

+

If you register a dtor for a resource factory used with a persistent handle provider, be sure to call php_persistent_handle_cleanup() for your registered provider in MSHUTDOWN, else the dtor will point to no longer available memory if the extension has already been unloaded.

+
Parameters
+ + + + + +
fthe factory to initialize; if NULL allocated on the heap
fopsthe resource ops to assign to the factory
dataopaque user data; may be NULL
dtora destructor for the data; may be NULL
+
+
+
Returns
f or an allocated resource factory
+ +

Referenced by php_persistent_handle_provide(), and php_persistent_handle_resource_factory_init().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
zend_bool php_resource_factory_is_persistent (php_resource_factory_ta)
+
+ +

Check whether a resource factory is a persistent handle resource factory.

+
Parameters
+ + +
athe resource factory to check
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
STD_PHP_INI_ENTRY ("raphf.persistent_handle.limit" ,
"-1" ,
PHP_INI_SYSTEM ,
OnUpdateLong ,
persistent_handle. limit,
zend_raphf_globals ,
raphf_globals  
)
+
+ +
+
+ +
+
+ + + + + + + +
ZEND_END_ARG_INFO ()
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
struct php_persistent_handle_globals persistent_handle
+
+ +
+
+ +
+
+ + + + +
zend_module_entry raphf_module_entry
+
+Initial value:
= {
+
STANDARD_MODULE_HEADER,
+
"raphf",
+
raphf_functions,
+
PHP_MINIT(raphf),
+
PHP_MSHUTDOWN(raphf),
+
NULL,
+
NULL,
+
PHP_MINFO(raphf),
+
"2.0.0dev" ,
+
ZEND_MODULE_GLOBALS(raphf),
+
PHP_GINIT(raphf),
+
PHP_GSHUTDOWN(raphf),
+
NULL,
+
STANDARD_MODULE_PROPERTIES_EX
+
}
+
+
+
+
+
+ + + + diff --git a/master/php__raphf__api_8c.js b/master/php__raphf__api_8c.js new file mode 100644 index 0000000..a98d2a5 --- /dev/null +++ b/master/php__raphf__api_8c.js @@ -0,0 +1,31 @@ +var php__raphf__api_8c = +[ + [ "PHP_RAPHF_DEBUG_PHANDLES", "php__raphf__api_8c.html#a4ac4e8587a25a7617a3bb1b2b246fe7f", null ], + [ "PHP_RAPHF_G", "php__raphf__api_8c.html#a5a6099bca8801bd4a502806ab49c1d1c", null ], + [ "PHP_RAPHF_TEST", "php__raphf__api_8c.html#a1a89ef4d87548194ddf4eba935ca72ea", null ], + [ "PHP_MINFO_FUNCTION", "php__raphf__api_8c.html#afe0b826f07940e0297395eb758b6dc63", null ], + [ "PHP_MINIT_FUNCTION", "php__raphf__api_8c.html#a98ef98eb514bf71723b22e93ef4fb099", null ], + [ "PHP_MSHUTDOWN_FUNCTION", "php__raphf__api_8c.html#a9bdad7e7a27b1cce6be5ec842da0c921", null ], + [ "php_persistent_handle_abandon", "php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2", null ], + [ "php_persistent_handle_accrete", "php__raphf__api_8c.html#ae8124f3f73e96e2193ae03c5519d2763", null ], + [ "php_persistent_handle_acquire", "php__raphf__api_8c.html#af6636e870497be0699d2781e5fc8a2a9", null ], + [ "php_persistent_handle_cleanup", "php__raphf__api_8c.html#a8368c07c20ecf1d4f06aa6a4e5849df8", null ], + [ "php_persistent_handle_concede", "php__raphf__api_8c.html#ab7cc28d4d1dcf715dc05069a0dcac11f", null ], + [ "php_persistent_handle_get_resource_factory_ops", "php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca", null ], + [ "php_persistent_handle_provide", "php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571", null ], + [ "php_persistent_handle_release", "php__raphf__api_8c.html#af08ee05c51d52200755d24f6f52df144", null ], + [ "php_persistent_handle_resource_factory_init", "php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03", null ], + [ "php_persistent_handle_statall", "php__raphf__api_8c.html#ae174fbe124d4cb6010e218a68379bd18", null ], + [ "php_resource_factory_addref", "php__raphf__api_8c.html#ae8be369197905047ffbd05c0ca80f245", null ], + [ "php_resource_factory_dtor", "php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847", null ], + [ "php_resource_factory_free", "php__raphf__api_8c.html#a7f012d685f5f7c08f50288b61232e689", null ], + [ "php_resource_factory_handle_copy", "php__raphf__api_8c.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4", null ], + [ "php_resource_factory_handle_ctor", "php__raphf__api_8c.html#a98d02dc80dd83095b8f901954350840c", null ], + [ "php_resource_factory_handle_dtor", "php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6", null ], + [ "php_resource_factory_init", "php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0", null ], + [ "php_resource_factory_is_persistent", "php__raphf__api_8c.html#a617d2cc656ab6427388b938597194ebb", null ], + [ "STD_PHP_INI_ENTRY", "php__raphf__api_8c.html#ad2aba389e88a1e9e11b7dae021bfddfc", null ], + [ "ZEND_END_ARG_INFO", "php__raphf__api_8c.html#a9337bda6793399d5917999063e1aa636", null ], + [ "persistent_handle", "php__raphf__api_8c.html#a385b722141c96392a35d8b6dfc29b0d3", null ], + [ "raphf_module_entry", "php__raphf__api_8c.html#a42f904573a2c5b1eba6ccd6604269f99", null ] +]; \ No newline at end of file diff --git a/master/php__raphf__api_8c__incl.map b/master/php__raphf__api_8c__incl.map new file mode 100644 index 0000000..1b731d4 --- /dev/null +++ b/master/php__raphf__api_8c__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8c__incl.md5 b/master/php__raphf__api_8c__incl.md5 new file mode 100644 index 0000000..58a9397 --- /dev/null +++ b/master/php__raphf__api_8c__incl.md5 @@ -0,0 +1 @@ +10973f3128de4ea37568652e3332285f \ No newline at end of file diff --git a/master/php__raphf__api_8c__incl.png b/master/php__raphf__api_8c__incl.png new file mode 100644 index 0000000..9dfd063 Binary files /dev/null and b/master/php__raphf__api_8c__incl.png differ diff --git a/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.map b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.map new file mode 100644 index 0000000..21d40c2 --- /dev/null +++ b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.md5 b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.md5 new file mode 100644 index 0000000..d3772be --- /dev/null +++ b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.md5 @@ -0,0 +1 @@ +3e4f4700015d0d38e216d39890539e97 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.png b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.png new file mode 100644 index 0000000..211b42b Binary files /dev/null and b/master/php__raphf__api_8c_a016b8a4159e698f915ab967711696847_icgraph.png differ diff --git a/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map new file mode 100644 index 0000000..0d72aa1 --- /dev/null +++ b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 new file mode 100644 index 0000000..3da95e8 --- /dev/null +++ b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 @@ -0,0 +1 @@ +68af83b87ffe8c7e9eba0dcbf048a53e \ No newline at end of file diff --git a/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png new file mode 100644 index 0000000..7da03f9 Binary files /dev/null and b/master/php__raphf__api_8c_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png differ diff --git a/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.map b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.map new file mode 100644 index 0000000..14ac716 --- /dev/null +++ b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.md5 b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.md5 new file mode 100644 index 0000000..ce9a2d8 --- /dev/null +++ b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.md5 @@ -0,0 +1 @@ +9a015ae9264ec8f744f4c4411fe02b65 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.png b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.png new file mode 100644 index 0000000..f3e8066 Binary files /dev/null and b/master/php__raphf__api_8c_a617d2cc656ab6427388b938597194ebb_cgraph.png differ diff --git a/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.map b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.map new file mode 100644 index 0000000..8804f88 --- /dev/null +++ b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 new file mode 100644 index 0000000..a582844 --- /dev/null +++ b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 @@ -0,0 +1 @@ +6017419b30a21c8ce2157f841e619535 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.png b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.png new file mode 100644 index 0000000..296a729 Binary files /dev/null and b/master/php__raphf__api_8c_a7f012d685f5f7c08f50288b61232e689_cgraph.png differ diff --git a/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map new file mode 100644 index 0000000..a6f4cb2 --- /dev/null +++ b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 new file mode 100644 index 0000000..3aba7e1 --- /dev/null +++ b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 @@ -0,0 +1 @@ +f4c96440a8ddba9baaa7b022bb13e9e1 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png new file mode 100644 index 0000000..9f4eb14 Binary files /dev/null and b/master/php__raphf__api_8c_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png differ diff --git a/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.map b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.map new file mode 100644 index 0000000..edae73e --- /dev/null +++ b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 new file mode 100644 index 0000000..3206918 --- /dev/null +++ b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 @@ -0,0 +1 @@ +1ed57715e98906ba277308cd13005f18 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.png b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.png new file mode 100644 index 0000000..8d22b79 Binary files /dev/null and b/master/php__raphf__api_8c_a97dbb9d342f33205b92374c586676bc6_icgraph.png differ diff --git a/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.map b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.map new file mode 100644 index 0000000..72386e7 --- /dev/null +++ b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.md5 b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.md5 new file mode 100644 index 0000000..476b9cc --- /dev/null +++ b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.md5 @@ -0,0 +1 @@ +26dd2addcf4d72c77d3f7535906db3b5 \ No newline at end of file diff --git a/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.png b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.png new file mode 100644 index 0000000..096ec75 Binary files /dev/null and b/master/php__raphf__api_8c_a98d02dc80dd83095b8f901954350840c_icgraph.png differ diff --git a/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map new file mode 100644 index 0000000..8282d1b --- /dev/null +++ b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 new file mode 100644 index 0000000..d161cd7 --- /dev/null +++ b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 @@ -0,0 +1 @@ +a267b048cf533f926c5de047a57d8b52 \ No newline at end of file diff --git a/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png new file mode 100644 index 0000000..b253e5f Binary files /dev/null and b/master/php__raphf__api_8c_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png differ diff --git a/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map new file mode 100644 index 0000000..884fad2 --- /dev/null +++ b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 new file mode 100644 index 0000000..0deb12e --- /dev/null +++ b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 @@ -0,0 +1 @@ +380617ffc9e23097f093417a5413e27d \ No newline at end of file diff --git a/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png new file mode 100644 index 0000000..a82e1ef Binary files /dev/null and b/master/php__raphf__api_8c_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png differ diff --git a/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.map b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.map new file mode 100644 index 0000000..2a75185 --- /dev/null +++ b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 new file mode 100644 index 0000000..e8e32c2 --- /dev/null +++ b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 @@ -0,0 +1 @@ +6943d4f2dc7a9314046a683b6170b9ab \ No newline at end of file diff --git a/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.png b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.png new file mode 100644 index 0000000..08612ef Binary files /dev/null and b/master/php__raphf__api_8c_ab7bc43582b0307526d80e83dba88c571_cgraph.png differ diff --git a/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.map b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.map new file mode 100644 index 0000000..0cea1a7 --- /dev/null +++ b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.md5 b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.md5 new file mode 100644 index 0000000..60f71c0 --- /dev/null +++ b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.md5 @@ -0,0 +1 @@ +b2594cc70b5ab90f4561bedbafae01d4 \ No newline at end of file diff --git a/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.png b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.png new file mode 100644 index 0000000..6623c75 Binary files /dev/null and b/master/php__raphf__api_8c_ad20f10c53e3f33756638da98819367f0_icgraph.png differ diff --git a/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map new file mode 100644 index 0000000..618b2ce --- /dev/null +++ b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 new file mode 100644 index 0000000..4ea78c1 --- /dev/null +++ b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 @@ -0,0 +1 @@ +60460ed804a56379297cfc5fb6652348 \ No newline at end of file diff --git a/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png new file mode 100644 index 0000000..770e0b1 Binary files /dev/null and b/master/php__raphf__api_8c_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png differ diff --git a/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.map b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.map new file mode 100644 index 0000000..44ad7df --- /dev/null +++ b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.md5 b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.md5 new file mode 100644 index 0000000..07b82b9 --- /dev/null +++ b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.md5 @@ -0,0 +1 @@ +1b8ef30916e2782bfe8a01bcd1b3410e \ No newline at end of file diff --git a/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.png b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.png new file mode 100644 index 0000000..3b4967b Binary files /dev/null and b/master/php__raphf__api_8c_af08ee05c51d52200755d24f6f52df144_cgraph.png differ diff --git a/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.map b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.map new file mode 100644 index 0000000..834b0d8 --- /dev/null +++ b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 new file mode 100644 index 0000000..d3d1ec7 --- /dev/null +++ b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 @@ -0,0 +1 @@ +40191b436267055b32d45413c95cec09 \ No newline at end of file diff --git a/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.png b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.png new file mode 100644 index 0000000..8632a25 Binary files /dev/null and b/master/php__raphf__api_8c_af6636e870497be0699d2781e5fc8a2a9_cgraph.png differ diff --git a/master/php__raphf__api_8h.html b/master/php__raphf__api_8h.html new file mode 100644 index 0000000..cec5624 --- /dev/null +++ b/master/php__raphf__api_8h.html @@ -0,0 +1,1388 @@ + + + + + + +Resource and persistent handle factory API: src/php_raphf_api.h File Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
php_raphf_api.h File Reference
+
+
+
#include "php_raphf.h"
+
+Include dependency graph for php_raphf_api.h:
+
+
+ + + +
+
+This graph shows which files directly or indirectly include this file:
+
+
+ + + + +
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  php_resource_factory_ops
 The resource ops consisting of a ctor, a copy ctor and a dtor. More...
 
struct  php_resource_factory
 The resource factory. More...
 
struct  php_persistent_handle_list
 Persistent handles storage. More...
 
struct  php_persistent_handle_provider
 Definition of a persistent handle provider. More...
 
struct  php_persistent_handle_factory
 Definition of a persistent handle factory. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef void *(* php_resource_factory_handle_ctor_t) (void *opaque, void *init_arg)
 A resource constructor. More...
 
typedef void *(* php_resource_factory_handle_copy_t) (void *opaque, void *handle)
 The copy constructor of a resource. More...
 
typedef void(* php_resource_factory_handle_dtor_t) (void *opaque, void *handle)
 The destructor of a resource. More...
 
typedef struct php_resource_factory_ops php_resource_factory_ops_t
 The resource ops consisting of a ctor, a copy ctor and a dtor. More...
 
typedef struct php_resource_factory php_resource_factory_t
 The resource factory. More...
 
typedef struct php_persistent_handle_list php_persistent_handle_list_t
 Persistent handles storage. More...
 
typedef struct php_persistent_handle_provider php_persistent_handle_provider_t
 Definition of a persistent handle provider. More...
 
typedef struct php_persistent_handle_factory php_persistent_handle_factory_t
 
typedef void(* php_persistent_handle_wakeup_t) (php_persistent_handle_factory_t *f, void **handle)
 Wakeup the persistent handle on re-acquisition. More...
 
typedef void(* php_persistent_handle_retire_t) (php_persistent_handle_factory_t *f, void **handle)
 Retire the persistent handle on release. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

php_resource_factory_tphp_resource_factory_init (php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data))
 Initialize a resource factory. More...
 
unsigned php_resource_factory_addref (php_resource_factory_t *rf)
 Increase the refcount of the resource factory. More...
 
void php_resource_factory_dtor (php_resource_factory_t *f)
 Destroy the resource factory. More...
 
void php_resource_factory_free (php_resource_factory_t **f)
 Destroy and free the resource factory. More...
 
void * php_resource_factory_handle_ctor (php_resource_factory_t *f, void *init_arg)
 Construct a resource by the resource factory f. More...
 
void * php_resource_factory_handle_copy (php_resource_factory_t *f, void *handle)
 Create a copy of the resource handle. More...
 
void php_resource_factory_handle_dtor (php_resource_factory_t *f, void *handle)
 Destroy (and free) the resource. More...
 
ZEND_RESULT_CODE php_persistent_handle_provide (zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *))
 Register a persistent handle provider in MINIT. More...
 
php_persistent_handle_factory_tphp_persistent_handle_concede (php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire)
 Retrieve a persistent handle factory at runtime. More...
 
void php_persistent_handle_abandon (php_persistent_handle_factory_t *a)
 Abandon the persistent handle factory. More...
 
void * php_persistent_handle_acquire (php_persistent_handle_factory_t *a, void *init_arg)
 Acquire a persistent handle. More...
 
void php_persistent_handle_release (php_persistent_handle_factory_t *a, void *handle)
 Release a persistent handle. More...
 
void * php_persistent_handle_accrete (php_persistent_handle_factory_t *a, void *handle)
 Copy a persistent handle. More...
 
php_resource_factory_ops_tphp_persistent_handle_get_resource_factory_ops (void)
 Retrieve persistent handle resource factory ops. More...
 
php_resource_factory_tphp_persistent_handle_resource_factory_init (php_resource_factory_t *a, php_persistent_handle_factory_t *pf)
 Create a resource factory for persistent handles. More...
 
zend_bool php_resource_factory_is_persistent (php_resource_factory_t *a)
 Check whether a resource factory is a persistent handle resource factory. More...
 
void php_persistent_handle_cleanup (zend_string *name, zend_string *ident)
 Clean persistent handles up. More...
 
HashTable * php_persistent_handle_statall (HashTable *ht)
 Retrieve statistics about the current process/thread's persistent handles. More...
 
+

Data Structure Documentation

+ +
+
+ + + + +
struct php_resource_factory_ops
+
+

The resource ops consisting of a ctor, a copy ctor and a dtor.

+

Define this ops and register them with php_persistent_handle_provide() in MINIT.

+
+ + + + + + + + + + +
Data Fields
+php_resource_factory_handle_copy_t +copy +The resource's copy constructor.
+php_resource_factory_handle_ctor_t +ctor +The resource constructor.
+php_resource_factory_handle_dtor_t +dtor +The resource's destructor.
+ +
+
+ +
+
+ + + + +
struct php_persistent_handle_list
+
+

Persistent handles storage.

+
+ + + + + + + +
Data Fields
+HashTable +free +Storage of free resources.
+ulong +used +Count of acquired resources.
+ +
+
+ +
+
+ + + + +
struct php_persistent_handle_provider
+
+

Definition of a persistent handle provider.

+

Holds a resource factory an a persistent handle list.

+
+Collaboration diagram for php_persistent_handle_provider:
+
+
Collaboration graph
+ + + + + +
[legend]
+ + + + + + + + +
Data Fields
+php_persistent_handle_list_t +list +The list of free handles.

Hash of "ident" => array(handles) entries. Persistent handles are acquired out of this list.

+
+php_resource_factory_t +rf +The resource factory.

New handles are created by this factory.

+
+ +
+
+ +
+
+ + + + +
struct php_persistent_handle_factory
+
+

Definition of a persistent handle factory.

+

php_persistent_handle_concede() will return a pointer to a php_persistent_handle_factory if a provider for the name has been registered with php_persistent_handle_provide().

+
+Collaboration diagram for php_persistent_handle_factory:
+
+
Collaboration graph
+ + + + + + +
[legend]
+ + + + + + + + + + + + + + + + + +
Data Fields
+unsigned +free_on_abandon:1 +Whether it has to be free'd on php_persistent_handle_abandon()
+zend_string * +ident +The ident for which this factory manages resources.
+php_persistent_handle_provider_t * +provider +The persistent handle provider.
+php_persistent_handle_retire_t +retire +The persistent handle retire routine; may be NULL.
+php_persistent_handle_wakeup_t +wakeup +The persistent handle wakeup routine; may be NULL.
+ +
+
+

Typedef Documentation

+ + + +
+
+ +

Persistent handles storage.

+ +
+
+ +
+
+ +

Definition of a persistent handle provider.

+

Holds a resource factory an a persistent handle list.

+ +
+
+ +
+
+ + + + +
typedef void(* php_persistent_handle_retire_t) (php_persistent_handle_factory_t *f, void **handle)
+
+ +

Retire the persistent handle on release.

+ +
+
+ +
+
+ + + + +
typedef void(* php_persistent_handle_wakeup_t) (php_persistent_handle_factory_t *f, void **handle)
+
+ +

Wakeup the persistent handle on re-acquisition.

+ +
+
+ +
+
+ + + + +
typedef void*(* php_resource_factory_handle_copy_t) (void *opaque, void *handle)
+
+ +

The copy constructor of a resource.

+
Parameters
+ + + +
opaquethe factory's data
handlethe (persistent) handle to copy
+
+
+ +
+
+ +
+
+ + + + +
typedef void*(* php_resource_factory_handle_ctor_t) (void *opaque, void *init_arg)
+
+ +

A resource constructor.

+
Parameters
+ + + +
opaqueis the data from php_persistent_handle_provide()
init_argis the init_arg from php_resource_factory_init()
+
+
+
Returns
the created (persistent) handle
+ +
+
+ +
+
+ + + + +
typedef void(* php_resource_factory_handle_dtor_t) (void *opaque, void *handle)
+
+ +

The destructor of a resource.

+
Parameters
+ + + +
opaquethe factory's data
handlethe handle to destroy
+
+
+ +
+
+ +
+
+ +

The resource ops consisting of a ctor, a copy ctor and a dtor.

+

Define this ops and register them with php_persistent_handle_provide() in MINIT.

+ +
+
+ +
+
+ + + + +
typedef struct php_resource_factory php_resource_factory_t
+
+ +

The resource factory.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void php_persistent_handle_abandon (php_persistent_handle_factory_ta)
+
+ +

Abandon the persistent handle factory.

+

Destroy a php_persistent_handle_factory created by php_persistent_handle_concede(). If the memory for the factory was allocated, it will automatically be free'd.

+
Parameters
+ + +
athe persistent handle factory to destroy
+
+
+ +

Referenced by php_persistent_handle_resource_factory_init(), and php_resource_factory_is_persistent().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_persistent_handle_accrete (php_persistent_handle_factory_ta,
void * handle 
)
+
+ +

Copy a persistent handle.

+

Let the underlying resource factory copy the handle.

+
Parameters
+ + + +
athe persistent handle factory
handlethe resource to accrete
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_persistent_handle_acquire (php_persistent_handle_factory_ta,
void * init_arg 
)
+
+ +

Acquire a persistent handle.

+

That is, either re-use a resource from the free list or create a new handle.

+

If a handle is acquired from the free list, the php_persistent_handle_factory::wakeup callback will be executed for that handle.

+
Parameters
+ + + +
athe persistent handle factory
init_argthe init_arg for php_resource_factory_handle_ctor()
+
+
+
Returns
the acquired resource
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_persistent_handle_cleanup (zend_string * name,
zend_string * ident 
)
+
+ +

Clean persistent handles up.

+

Destroy persistent handles of provider name and in subsidiary namespace ident.

+

If name is NULL, all persistent handles of all providers with a matching ident will be cleaned up.

+

If identr is NULL all persistent handles of the provider will be cleaned up.

+

Ergo, if both, name and ident are NULL, then all persistent handles will be cleaned up.

+

You must call this in MSHUTDOWN, if your resource factory ops hold a registered php_resource_factory::dtor, else the dtor will point to memory not any more available if the extension has already been unloaded.

+
Parameters
+ + + +
namethe provider name; may be NULL
identthe subsidiary namespace name; may be NULL
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
php_persistent_handle_factory_t* php_persistent_handle_concede (php_persistent_handle_factory_ta,
zend_string * name,
zend_string * ident,
php_persistent_handle_wakeup_t wakeup,
php_persistent_handle_retire_t retire 
)
+
+ +

Retrieve a persistent handle factory at runtime.

+

If a persistent handle provider has been registered for name, a new php_persistent_handle_factory creating resources in the ident namespace will be constructed.

+

The wakeup routine wakeup and the retire routine retire will be assigned to the new php_persistent_handle_factory.

+
Parameters
+ + + + + + +
apointer to a factory; allocated on the heap if NULL
namethe provider name, e.g. "http\Client\Curl"
identthe subsidiary namespace, e.g. "php.net:80"
wakeupany persistent handle wakeup routine
retireany persistent handle retire routine
+
+
+
Returns
a or an allocated persistent handle factory
+ +
+
+ +
+
+ + + + + + + + +
php_resource_factory_ops_t* php_persistent_handle_get_resource_factory_ops (void )
+
+ +

Retrieve persistent handle resource factory ops.

+

These ops can be used to mask a persistent handle factory as resource factory itself, so you can transparently use the resource factory API, both for persistent and non-persistent ressources.

+

Example:

php_resource_factory_t *create_my_rf(zend_string *persistent_id)
+
{
+ +
+
if (persistent_id) {
+ + +
zend_string *ns = zend_string_init("my", 2, 1);
+
+ +
pf = php_persistent_handle_concede(NULL, ns, persistent_id, NULL, NULL);
+ +
zend_string_release(ns);
+
} else {
+
rf = php_resource_factory_init(NULL, &myops, NULL, NULL);
+
}
+
return rf;
+
}
+
+

Referenced by php_persistent_handle_resource_factory_init().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ZEND_RESULT_CODE php_persistent_handle_provide (zend_string * name,
php_resource_factory_ops_tfops,
void * data,
void(*)(void *) dtor 
)
+
+ +

Register a persistent handle provider in MINIT.

+

Registers a factory provider for name_str with fops resource factory ops. Call this in your MINIT.

+

A php_resource_factory will be created with fops, data and dtor and will be stored together with a php_persistent_handle_list in the global raphf hash.

+

A php_persistent_handle_factory can then be retrieved by php_persistent_handle_concede() at runtime.

+
Parameters
+ + + + + +
namethe provider name, e.g. "http\Client\Curl"
fopsthe resource factory ops
dataopaque user data
dtordata destructor
+
+
+
Returns
SUCCESS/FAILURE
+ +

+Here is the call graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_persistent_handle_release (php_persistent_handle_factory_ta,
void * handle 
)
+
+ +

Release a persistent handle.

+

That is, either put it back into the free list for later re-use or clean it up with php_resource_factory_handle_dtor().

+

If a handle is put back into the free list, the php_persistent_handle_factory::retire callback will be executed for that handle.

+
Parameters
+ + + +
athe persistent handle factory
handlethe handle to release
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
php_resource_factory_t* php_persistent_handle_resource_factory_init (php_resource_factory_ta,
php_persistent_handle_factory_tpf 
)
+
+ +

Create a resource factory for persistent handles.

+

This will create a resource factory with persistent handle ops, which wraps the provided reource factory pf.

+
Parameters
+ + + +
athe persistent handle resource factory to initialize
pfthe resource factory to wrap
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
HashTable* php_persistent_handle_statall (HashTable * ht)
+
+ +

Retrieve statistics about the current process/thread's persistent handles.

+
Returns
a HashTable like:
1 [
+
2  "name" => [
+
3  "ident" => [
+
4  "used" => 1,
+
5  "free" => 0,
+
6  ]
+
7  ]
+
8 ]
+
+ +
+
+ +
+
+ + + + + + + + +
unsigned php_resource_factory_addref (php_resource_factory_trf)
+
+ +

Increase the refcount of the resource factory.

+
Parameters
+ + +
rfthe resource factory
+
+
+
Returns
the new refcount
+ +
+
+ +
+
+ + + + + + + + +
void php_resource_factory_dtor (php_resource_factory_tf)
+
+ +

Destroy the resource factory.

+

If the factory's refcount reaches 0, the dtor for data is called.

+
Parameters
+ + +
fthe resource factory
+
+
+ +

Referenced by php_persistent_handle_provide(), and php_resource_factory_free().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
void php_resource_factory_free (php_resource_factory_t ** f)
+
+ +

Destroy and free the resource factory.

+

Calls php_resource_factory_dtor() and frees f if the factory's refcount reached 0.

+
Parameters
+ + +
fthe resource factory
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_resource_factory_handle_copy (php_resource_factory_tf,
void * handle 
)
+
+ +

Create a copy of the resource handle.

+
Parameters
+ + + +
fthe resource factory
handlethe resource to copy
+
+
+
Returns
the copy
+ +

Referenced by php_persistent_handle_accrete().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* php_resource_factory_handle_ctor (php_resource_factory_tf,
void * init_arg 
)
+
+ +

Construct a resource by the resource factory f.

+
Parameters
+ + + +
fthe resource factory
init_argfor the resource constructor
+
+
+
Returns
the new resource
+ +

Referenced by php_persistent_handle_acquire().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void php_resource_factory_handle_dtor (php_resource_factory_tf,
void * handle 
)
+
+ +

Destroy (and free) the resource.

+
Parameters
+ + + +
fthe resource factory
handlethe resource to destroy
+
+
+ +

Referenced by php_persistent_handle_release().

+ +

+Here is the caller graph for this function:
+
+
+ + + +
+

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
php_resource_factory_t* php_resource_factory_init (php_resource_factory_tf,
php_resource_factory_ops_tfops,
void * data,
void(*)(void *data) dtor 
)
+
+ +

Initialize a resource factory.

+

If you register a dtor for a resource factory used with a persistent handle provider, be sure to call php_persistent_handle_cleanup() for your registered provider in MSHUTDOWN, else the dtor will point to no longer available memory if the extension has already been unloaded.

+
Parameters
+ + + + + +
fthe factory to initialize; if NULL allocated on the heap
fopsthe resource ops to assign to the factory
dataopaque user data; may be NULL
dtora destructor for the data; may be NULL
+
+
+
Returns
f or an allocated resource factory
+ +

Referenced by php_persistent_handle_provide(), and php_persistent_handle_resource_factory_init().

+ +

+Here is the caller graph for this function:
+
+
+ + + + +
+

+ +
+
+ +
+
+ + + + + + + + +
zend_bool php_resource_factory_is_persistent (php_resource_factory_ta)
+
+ +

Check whether a resource factory is a persistent handle resource factory.

+
Parameters
+ + +
athe resource factory to check
+
+
+ +

+Here is the call graph for this function:
+
+
+ + + +
+

+ +
+
+
+
+ + + + diff --git a/master/php__raphf__api_8h.js b/master/php__raphf__api_8h.js new file mode 100644 index 0000000..8fb8bd2 --- /dev/null +++ b/master/php__raphf__api_8h.js @@ -0,0 +1,52 @@ +var php__raphf__api_8h = +[ + [ "php_resource_factory_ops", "php__raphf__api_8h.html#structphp__resource__factory__ops", [ + [ "copy", "php__raphf__api_8h.html#a8094f85df976aff73148bc579ae72e38", null ], + [ "ctor", "php__raphf__api_8h.html#a044b07071758dbc53f87bfd212400ac0", null ], + [ "dtor", "php__raphf__api_8h.html#acb8a7a04b86f08db41a2d6232676c65c", null ] + ] ], + [ "php_resource_factory", "structphp__resource__factory.html", "structphp__resource__factory" ], + [ "php_persistent_handle_list", "php__raphf__api_8h.html#structphp__persistent__handle__list", [ + [ "free", "php__raphf__api_8h.html#a653a4a0e9c39ad942e9573e197f62974", null ], + [ "used", "php__raphf__api_8h.html#a119a44fd9f5ae066b6d77e7a35a25cd0", null ] + ] ], + [ "php_persistent_handle_provider", "php__raphf__api_8h.html#structphp__persistent__handle__provider", [ + [ "list", "php__raphf__api_8h.html#a4935f6446b1d4a2feb7a22dfc4e5d6d0", null ], + [ "rf", "php__raphf__api_8h.html#a8204714f100b74b028652951ca40abd3", null ] + ] ], + [ "php_persistent_handle_factory", "php__raphf__api_8h.html#structphp__persistent__handle__factory", [ + [ "free_on_abandon", "php__raphf__api_8h.html#a84ffa94401b9869e14c190be4bb1b6be", null ], + [ "ident", "php__raphf__api_8h.html#ab2446707ee5cb070fd3219e191b31769", null ], + [ "provider", "php__raphf__api_8h.html#a43aabcbe7ec4b5ff463f74cfcf788f51", null ], + [ "retire", "php__raphf__api_8h.html#a9299f3f0821061ad93d15c10cf735b6b", null ], + [ "wakeup", "php__raphf__api_8h.html#a6633b7c860e4538942e0367d64ed5af7", null ] + ] ], + [ "php_persistent_handle_factory_t", "php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17", null ], + [ "php_persistent_handle_list_t", "php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177", null ], + [ "php_persistent_handle_provider_t", "php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4", null ], + [ "php_persistent_handle_retire_t", "php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf", null ], + [ "php_persistent_handle_wakeup_t", "php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142", null ], + [ "php_resource_factory_handle_copy_t", "php__raphf__api_8h.html#a23b073aa7b8b7dd182b336b07494288f", null ], + [ "php_resource_factory_handle_ctor_t", "php__raphf__api_8h.html#abadff49d810f7ce220bd3537bdaecef7", null ], + [ "php_resource_factory_handle_dtor_t", "php__raphf__api_8h.html#a1b826c765392c93336db79bd6697e33d", null ], + [ "php_resource_factory_ops_t", "php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af", null ], + [ "php_resource_factory_t", "php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4", null ], + [ "php_persistent_handle_abandon", "php__raphf__api_8h.html#ab12ec2da7189e16fbed40a3b73bc9ee2", null ], + [ "php_persistent_handle_accrete", "php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763", null ], + [ "php_persistent_handle_acquire", "php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9", null ], + [ "php_persistent_handle_cleanup", "php__raphf__api_8h.html#a8368c07c20ecf1d4f06aa6a4e5849df8", null ], + [ "php_persistent_handle_concede", "php__raphf__api_8h.html#ab7cc28d4d1dcf715dc05069a0dcac11f", null ], + [ "php_persistent_handle_get_resource_factory_ops", "php__raphf__api_8h.html#a93458ab12d810f0fd545fb1464ba9eca", null ], + [ "php_persistent_handle_provide", "php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571", null ], + [ "php_persistent_handle_release", "php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144", null ], + [ "php_persistent_handle_resource_factory_init", "php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03", null ], + [ "php_persistent_handle_statall", "php__raphf__api_8h.html#ae174fbe124d4cb6010e218a68379bd18", null ], + [ "php_resource_factory_addref", "php__raphf__api_8h.html#ae8be369197905047ffbd05c0ca80f245", null ], + [ "php_resource_factory_dtor", "php__raphf__api_8h.html#a016b8a4159e698f915ab967711696847", null ], + [ "php_resource_factory_free", "php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689", null ], + [ "php_resource_factory_handle_copy", "php__raphf__api_8h.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4", null ], + [ "php_resource_factory_handle_ctor", "php__raphf__api_8h.html#a98d02dc80dd83095b8f901954350840c", null ], + [ "php_resource_factory_handle_dtor", "php__raphf__api_8h.html#a97dbb9d342f33205b92374c586676bc6", null ], + [ "php_resource_factory_init", "php__raphf__api_8h.html#ad20f10c53e3f33756638da98819367f0", null ], + [ "php_resource_factory_is_persistent", "php__raphf__api_8h.html#a617d2cc656ab6427388b938597194ebb", null ] +]; \ No newline at end of file diff --git a/master/php__raphf__api_8h__dep__incl.map b/master/php__raphf__api_8h__dep__incl.map new file mode 100644 index 0000000..7aea998 --- /dev/null +++ b/master/php__raphf__api_8h__dep__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8h__dep__incl.md5 b/master/php__raphf__api_8h__dep__incl.md5 new file mode 100644 index 0000000..f8770c3 --- /dev/null +++ b/master/php__raphf__api_8h__dep__incl.md5 @@ -0,0 +1 @@ +89c6bdda53e10bc9df5859ec89773ee6 \ No newline at end of file diff --git a/master/php__raphf__api_8h__dep__incl.png b/master/php__raphf__api_8h__dep__incl.png new file mode 100644 index 0000000..53d8f87 Binary files /dev/null and b/master/php__raphf__api_8h__dep__incl.png differ diff --git a/master/php__raphf__api_8h__incl.map b/master/php__raphf__api_8h__incl.map new file mode 100644 index 0000000..c210ddc --- /dev/null +++ b/master/php__raphf__api_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h__incl.md5 b/master/php__raphf__api_8h__incl.md5 new file mode 100644 index 0000000..752f844 --- /dev/null +++ b/master/php__raphf__api_8h__incl.md5 @@ -0,0 +1 @@ +c4329035ea94aae5743d076add772bc4 \ No newline at end of file diff --git a/master/php__raphf__api_8h__incl.png b/master/php__raphf__api_8h__incl.png new file mode 100644 index 0000000..da273d0 Binary files /dev/null and b/master/php__raphf__api_8h__incl.png differ diff --git a/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.map b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.map new file mode 100644 index 0000000..21d40c2 --- /dev/null +++ b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.md5 b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.md5 new file mode 100644 index 0000000..d3772be --- /dev/null +++ b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.md5 @@ -0,0 +1 @@ +3e4f4700015d0d38e216d39890539e97 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.png b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.png new file mode 100644 index 0000000..211b42b Binary files /dev/null and b/master/php__raphf__api_8h_a016b8a4159e698f915ab967711696847_icgraph.png differ diff --git a/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map new file mode 100644 index 0000000..0d72aa1 --- /dev/null +++ b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 new file mode 100644 index 0000000..3da95e8 --- /dev/null +++ b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.md5 @@ -0,0 +1 @@ +68af83b87ffe8c7e9eba0dcbf048a53e \ No newline at end of file diff --git a/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png new file mode 100644 index 0000000..7da03f9 Binary files /dev/null and b/master/php__raphf__api_8h_a08db5f3698f2d0bf3d2f20dcf4e7b2b4_icgraph.png differ diff --git a/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.map b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.map new file mode 100644 index 0000000..14ac716 --- /dev/null +++ b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.md5 b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.md5 new file mode 100644 index 0000000..ce9a2d8 --- /dev/null +++ b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.md5 @@ -0,0 +1 @@ +9a015ae9264ec8f744f4c4411fe02b65 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.png b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.png new file mode 100644 index 0000000..f3e8066 Binary files /dev/null and b/master/php__raphf__api_8h_a617d2cc656ab6427388b938597194ebb_cgraph.png differ diff --git a/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.map b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.map new file mode 100644 index 0000000..8804f88 --- /dev/null +++ b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 new file mode 100644 index 0000000..a582844 --- /dev/null +++ b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.md5 @@ -0,0 +1 @@ +6017419b30a21c8ce2157f841e619535 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.png b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.png new file mode 100644 index 0000000..296a729 Binary files /dev/null and b/master/php__raphf__api_8h_a7f012d685f5f7c08f50288b61232e689_cgraph.png differ diff --git a/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map new file mode 100644 index 0000000..a6f4cb2 --- /dev/null +++ b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 new file mode 100644 index 0000000..3aba7e1 --- /dev/null +++ b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.md5 @@ -0,0 +1 @@ +f4c96440a8ddba9baaa7b022bb13e9e1 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png new file mode 100644 index 0000000..9f4eb14 Binary files /dev/null and b/master/php__raphf__api_8h_a93458ab12d810f0fd545fb1464ba9eca_icgraph.png differ diff --git a/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.map b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.map new file mode 100644 index 0000000..edae73e --- /dev/null +++ b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 new file mode 100644 index 0000000..3206918 --- /dev/null +++ b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.md5 @@ -0,0 +1 @@ +1ed57715e98906ba277308cd13005f18 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.png b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.png new file mode 100644 index 0000000..8d22b79 Binary files /dev/null and b/master/php__raphf__api_8h_a97dbb9d342f33205b92374c586676bc6_icgraph.png differ diff --git a/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.map b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.map new file mode 100644 index 0000000..72386e7 --- /dev/null +++ b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.md5 b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.md5 new file mode 100644 index 0000000..476b9cc --- /dev/null +++ b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.md5 @@ -0,0 +1 @@ +26dd2addcf4d72c77d3f7535906db3b5 \ No newline at end of file diff --git a/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.png b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.png new file mode 100644 index 0000000..096ec75 Binary files /dev/null and b/master/php__raphf__api_8h_a98d02dc80dd83095b8f901954350840c_icgraph.png differ diff --git a/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map new file mode 100644 index 0000000..8282d1b --- /dev/null +++ b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 new file mode 100644 index 0000000..d161cd7 --- /dev/null +++ b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.md5 @@ -0,0 +1 @@ +a267b048cf533f926c5de047a57d8b52 \ No newline at end of file diff --git a/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png new file mode 100644 index 0000000..b253e5f Binary files /dev/null and b/master/php__raphf__api_8h_ab12ec2da7189e16fbed40a3b73bc9ee2_icgraph.png differ diff --git a/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map new file mode 100644 index 0000000..884fad2 --- /dev/null +++ b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 new file mode 100644 index 0000000..0deb12e --- /dev/null +++ b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.md5 @@ -0,0 +1 @@ +380617ffc9e23097f093417a5413e27d \ No newline at end of file diff --git a/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png new file mode 100644 index 0000000..a82e1ef Binary files /dev/null and b/master/php__raphf__api_8h_ab754f4d59dab5de0edf702a9ab2f4e03_cgraph.png differ diff --git a/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.map b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.map new file mode 100644 index 0000000..2a75185 --- /dev/null +++ b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 new file mode 100644 index 0000000..e8e32c2 --- /dev/null +++ b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.md5 @@ -0,0 +1 @@ +6943d4f2dc7a9314046a683b6170b9ab \ No newline at end of file diff --git a/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.png b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.png new file mode 100644 index 0000000..08612ef Binary files /dev/null and b/master/php__raphf__api_8h_ab7bc43582b0307526d80e83dba88c571_cgraph.png differ diff --git a/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.map b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.map new file mode 100644 index 0000000..0cea1a7 --- /dev/null +++ b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.map @@ -0,0 +1,4 @@ + + + + diff --git a/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.md5 b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.md5 new file mode 100644 index 0000000..60f71c0 --- /dev/null +++ b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.md5 @@ -0,0 +1 @@ +b2594cc70b5ab90f4561bedbafae01d4 \ No newline at end of file diff --git a/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.png b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.png new file mode 100644 index 0000000..6623c75 Binary files /dev/null and b/master/php__raphf__api_8h_ad20f10c53e3f33756638da98819367f0_icgraph.png differ diff --git a/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map new file mode 100644 index 0000000..618b2ce --- /dev/null +++ b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 new file mode 100644 index 0000000..4ea78c1 --- /dev/null +++ b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.md5 @@ -0,0 +1 @@ +60460ed804a56379297cfc5fb6652348 \ No newline at end of file diff --git a/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png new file mode 100644 index 0000000..770e0b1 Binary files /dev/null and b/master/php__raphf__api_8h_ae8124f3f73e96e2193ae03c5519d2763_cgraph.png differ diff --git a/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.map b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.map new file mode 100644 index 0000000..44ad7df --- /dev/null +++ b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.md5 b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.md5 new file mode 100644 index 0000000..07b82b9 --- /dev/null +++ b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.md5 @@ -0,0 +1 @@ +1b8ef30916e2782bfe8a01bcd1b3410e \ No newline at end of file diff --git a/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.png b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.png new file mode 100644 index 0000000..3b4967b Binary files /dev/null and b/master/php__raphf__api_8h_af08ee05c51d52200755d24f6f52df144_cgraph.png differ diff --git a/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.map b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.map new file mode 100644 index 0000000..834b0d8 --- /dev/null +++ b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 new file mode 100644 index 0000000..d3d1ec7 --- /dev/null +++ b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.md5 @@ -0,0 +1 @@ +40191b436267055b32d45413c95cec09 \ No newline at end of file diff --git a/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.png b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.png new file mode 100644 index 0000000..8632a25 Binary files /dev/null and b/master/php__raphf__api_8h_af6636e870497be0699d2781e5fc8a2a9_cgraph.png differ diff --git a/master/php__raphf__api_8h_source.html b/master/php__raphf__api_8h_source.html new file mode 100644 index 0000000..7a71bac --- /dev/null +++ b/master/php__raphf__api_8h_source.html @@ -0,0 +1,305 @@ + + + + + + +Resource and persistent handle factory API: src/php_raphf_api.h Source File + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
php_raphf_api.h
+
+
+Go to the documentation of this file.
1 /*
+
2  +--------------------------------------------------------------------+
+
3  | PECL :: raphf |
+
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_RAPHF_API_H
+
14 #define PHP_RAPHF_API_H
+
15 
+
16 #include "php_raphf.h"
+
17 
+
25 typedef void *(*php_resource_factory_handle_ctor_t)(void *opaque, void *init_arg);
+
26 
+
33 typedef void *(*php_resource_factory_handle_copy_t)(void *opaque, void *handle);
+
34 
+
41 typedef void (*php_resource_factory_handle_dtor_t)(void *opaque, void *handle);
+
42 
+
49 typedef struct php_resource_factory_ops {
+ + + + +
57 
+
61 typedef struct php_resource_factory {
+ +
65  void *data;
+
67  void (*dtor)(void *data);
+
69  unsigned refcount;
+ +
71 
+ + +
88  void (*dtor)(void *data));
+
89 
+ +
97 
+ +
106 
+ +
116 
+ +
125  void *init_arg);
+
126 
+ +
135  void *handle);
+
136 
+ +
144  void *handle);
+
145 
+ +
151  HashTable free;
+
153  ulong used;
+ +
155 
+ + +
167 
+ + +
174 
+ +
176 
+ +
181  php_persistent_handle_factory_t *f, void **handle);
+ +
186  php_persistent_handle_factory_t *f, void **handle);
+
187 
+ + + + +
202 
+
204  zend_string *ident;
+
205 
+
207  unsigned free_on_abandon:1;
+
208 };
+
209 
+ +
230  zend_string *name, php_resource_factory_ops_t *fops,
+
231  void *data, void (*dtor)(void *));
+
232 
+ + +
252  zend_string *name, zend_string *ident,
+ + +
255 
+ + +
267 
+ +
282  php_persistent_handle_factory_t *a, void *init_arg);
+
283 
+ +
298  php_persistent_handle_factory_t *a, void *handle);
+
299 
+ +
309  php_persistent_handle_factory_t *a, void *handle);
+
310 
+ + +
343 
+ + + +
356 
+ + +
364 
+
387 PHP_RAPHF_API void php_persistent_handle_cleanup(zend_string *name,
+
388  zend_string *ident);
+
389 
+
405 PHP_RAPHF_API HashTable *php_persistent_handle_statall(HashTable *ht);
+
406 
+
407 #endif /* PHP_RAPHF_API_H */
+
408 
+
409 
+
410 /*
+
411  * Local variables:
+
412  * tab-width: 4
+
413  * c-basic-offset: 4
+
414  * End:
+
415  * vim600: noet sw=4 ts=4 fdm=marker
+
416  * vim<600: noet sw=4 ts=4
+
417  */
+
void(* dtor)(void *data)
User data destructor.
Definition: php_raphf_api.h:67
+
void * data
Opaque user data.
Definition: php_raphf_api.h:65
+
php_resource_factory_handle_copy_t copy
The resource's copy constructor.
Definition: php_raphf_api.h:53
+
void php_resource_factory_free(php_resource_factory_t **f)
Destroy and free the resource factory.
Definition: php_raphf_api.c:84
+
void *(* php_resource_factory_handle_ctor_t)(void *opaque, void *init_arg)
A resource constructor.
Definition: php_raphf_api.h:25
+
void(* php_persistent_handle_wakeup_t)(php_persistent_handle_factory_t *f, void **handle)
Wakeup the persistent handle on re-acquisition.
Definition: php_raphf_api.h:180
+
php_persistent_handle_list_t list
The list of free handles.
Definition: php_raphf_api.h:166
+
HashTable * php_persistent_handle_statall(HashTable *ht)
Retrieve statistics about the current process/thread's persistent handles.
Definition: php_raphf_api.c:493
+
unsigned php_resource_factory_addref(php_resource_factory_t *rf)
Increase the refcount of the resource factory.
Definition: php_raphf_api.c:70
+
void(* php_persistent_handle_retire_t)(php_persistent_handle_factory_t *f, void **handle)
Retire the persistent handle on release.
Definition: php_raphf_api.h:185
+
void php_persistent_handle_cleanup(zend_string *name, zend_string *ident)
Clean persistent handles up.
Definition: php_raphf_api.c:463
+ +
Persistent handles storage.
Definition: php_raphf_api.h:149
+
struct php_persistent_handle_list php_persistent_handle_list_t
Persistent handles storage.
+
unsigned refcount
How often this factory is referenced.
Definition: php_raphf_api.h:69
+
php_resource_factory_handle_dtor_t dtor
The resource's destructor.
Definition: php_raphf_api.h:55
+
void php_persistent_handle_abandon(php_persistent_handle_factory_t *a)
Abandon the persistent handle factory.
Definition: php_raphf_api.c:374
+
Definition of a persistent handle factory.
Definition: php_raphf_api.h:195
+
php_persistent_handle_retire_t retire
The persistent handle retire routine; may be NULL.
Definition: php_raphf_api.h:201
+
unsigned free_on_abandon
Whether it has to be free'd on php_persistent_handle_abandon()
Definition: php_raphf_api.h:207
+
php_resource_factory_t rf
The resource factory.
Definition: php_raphf_api.h:172
+
void *(* php_resource_factory_handle_copy_t)(void *opaque, void *handle)
The copy constructor of a resource.
Definition: php_raphf_api.h:33
+
#define PHP_RAPHF_API
Definition: php_raphf.h:26
+
void * php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg)
Acquire a persistent handle.
Definition: php_raphf_api.c:389
+
php_resource_factory_handle_ctor_t ctor
The resource constructor.
Definition: php_raphf_api.h:51
+
void(* php_resource_factory_handle_dtor_t)(void *opaque, void *handle)
The destructor of a resource.
Definition: php_raphf_api.h:41
+
HashTable free
Storage of free resources.
Definition: php_raphf_api.h:151
+
The resource ops consisting of a ctor, a copy ctor and a dtor.
Definition: php_raphf_api.h:49
+
php_persistent_handle_provider_t * provider
The persistent handle provider.
Definition: php_raphf_api.h:197
+
ulong used
Count of acquired resources.
Definition: php_raphf_api.h:153
+
php_resource_factory_ops_t * php_persistent_handle_get_resource_factory_ops(void)
Retrieve persistent handle resource factory ops.
Definition: php_raphf_api.c:516
+
void php_resource_factory_dtor(php_resource_factory_t *f)
Destroy the resource factory.
Definition: php_raphf_api.c:75
+
php_resource_factory_t * php_persistent_handle_resource_factory_init(php_resource_factory_t *a, php_persistent_handle_factory_t *pf)
Create a resource factory for persistent handles.
Definition: php_raphf_api.c:118
+
struct php_resource_factory php_resource_factory_t
The resource factory.
+
void * php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg)
Construct a resource by the resource factory f.
Definition: php_raphf_api.c:95
+
Definition of a persistent handle provider.
Definition: php_raphf_api.h:160
+
zend_string * ident
The ident for which this factory manages resources.
Definition: php_raphf_api.h:204
+
The resource factory.
Definition: php_raphf_api.h:61
+
void php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle)
Release a persistent handle.
Definition: php_raphf_api.c:440
+
php_persistent_handle_factory_t * php_persistent_handle_concede(php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire)
Retrieve a persistent handle factory at runtime.
Definition: php_raphf_api.c:341
+
void php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle)
Destroy (and free) the resource.
Definition: php_raphf_api.c:111
+
void * php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle)
Create a copy of the resource handle.
Definition: php_raphf_api.c:103
+
struct php_persistent_handle_provider php_persistent_handle_provider_t
Definition of a persistent handle provider.
+
php_persistent_handle_wakeup_t wakeup
The persistent handle wakeup routine; may be NULL.
Definition: php_raphf_api.h:199
+
php_resource_factory_t * php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data))
Initialize a resource factory.
Definition: php_raphf_api.c:52
+
ZEND_RESULT_CODE php_persistent_handle_provide(zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *))
Register a persistent handle provider in MINIT.
Definition: php_raphf_api.c:311
+
zend_bool php_resource_factory_is_persistent(php_resource_factory_t *a)
Check whether a resource factory is a persistent handle resource factory.
Definition: php_raphf_api.c:126
+
struct php_resource_factory_ops php_resource_factory_ops_t
The resource ops consisting of a ctor, a copy ctor and a dtor.
+
php_resource_factory_ops_t fops
The resource ops.
Definition: php_raphf_api.h:63
+
void * php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle)
Copy a persistent handle.
Definition: php_raphf_api.c:423
+
+
+ + + + diff --git a/master/php__raphf__api_8h_structphp__persistent__handle__factory.js b/master/php__raphf__api_8h_structphp__persistent__handle__factory.js new file mode 100644 index 0000000..ca15402 --- /dev/null +++ b/master/php__raphf__api_8h_structphp__persistent__handle__factory.js @@ -0,0 +1,8 @@ +var php__raphf__api_8h_structphp__persistent__handle__factory = +[ + [ "free_on_abandon", "php__raphf__api_8h.html#a84ffa94401b9869e14c190be4bb1b6be", null ], + [ "ident", "php__raphf__api_8h.html#ab2446707ee5cb070fd3219e191b31769", null ], + [ "provider", "php__raphf__api_8h.html#a43aabcbe7ec4b5ff463f74cfcf788f51", null ], + [ "retire", "php__raphf__api_8h.html#a9299f3f0821061ad93d15c10cf735b6b", null ], + [ "wakeup", "php__raphf__api_8h.html#a6633b7c860e4538942e0367d64ed5af7", null ] +]; \ No newline at end of file diff --git a/master/php__raphf__api_8h_structphp__persistent__handle__list.js b/master/php__raphf__api_8h_structphp__persistent__handle__list.js new file mode 100644 index 0000000..d8dd9dc --- /dev/null +++ b/master/php__raphf__api_8h_structphp__persistent__handle__list.js @@ -0,0 +1,5 @@ +var php__raphf__api_8h_structphp__persistent__handle__list = +[ + [ "free", "php__raphf__api_8h.html#a653a4a0e9c39ad942e9573e197f62974", null ], + [ "used", "php__raphf__api_8h.html#a119a44fd9f5ae066b6d77e7a35a25cd0", null ] +]; \ No newline at end of file diff --git a/master/php__raphf__api_8h_structphp__persistent__handle__provider.js b/master/php__raphf__api_8h_structphp__persistent__handle__provider.js new file mode 100644 index 0000000..5213c8f --- /dev/null +++ b/master/php__raphf__api_8h_structphp__persistent__handle__provider.js @@ -0,0 +1,5 @@ +var php__raphf__api_8h_structphp__persistent__handle__provider = +[ + [ "list", "php__raphf__api_8h.html#a4935f6446b1d4a2feb7a22dfc4e5d6d0", null ], + [ "rf", "php__raphf__api_8h.html#a8204714f100b74b028652951ca40abd3", null ] +]; \ No newline at end of file diff --git a/master/php__raphf__api_8h_structphp__resource__factory__ops.js b/master/php__raphf__api_8h_structphp__resource__factory__ops.js new file mode 100644 index 0000000..c394cd2 --- /dev/null +++ b/master/php__raphf__api_8h_structphp__resource__factory__ops.js @@ -0,0 +1,6 @@ +var php__raphf__api_8h_structphp__resource__factory__ops = +[ + [ "copy", "php__raphf__api_8h.html#a8094f85df976aff73148bc579ae72e38", null ], + [ "ctor", "php__raphf__api_8h.html#a044b07071758dbc53f87bfd212400ac0", null ], + [ "dtor", "php__raphf__api_8h.html#acb8a7a04b86f08db41a2d6232676c65c", null ] +]; \ No newline at end of file diff --git a/master/raphf.png b/master/raphf.png new file mode 100644 index 0000000..2cb0df3 Binary files /dev/null and b/master/raphf.png differ diff --git a/master/resize.js b/master/resize.js new file mode 100644 index 0000000..304fcb6 --- /dev/null +++ b/master/resize.js @@ -0,0 +1,97 @@ +var cookie_namespace = 'doxygen'; +var sidenav,navtree,content,header; + +function readCookie(cookie) +{ + var myCookie = cookie_namespace+"_"+cookie+"="; + if (document.cookie) + { + var index = document.cookie.indexOf(myCookie); + if (index != -1) + { + var valStart = index + myCookie.length; + var valEnd = document.cookie.indexOf(";", valStart); + if (valEnd == -1) + { + valEnd = document.cookie.length; + } + var val = document.cookie.substring(valStart, valEnd); + return val; + } + } + return 0; +} + +function writeCookie(cookie, val, expiration) +{ + if (val==undefined) return; + if (expiration == null) + { + var date = new Date(); + date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week + expiration = date.toGMTString(); + } + document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/"; +} + +function resizeWidth() +{ + var windowWidth = $(window).width() + "px"; + var sidenavWidth = $(sidenav).outerWidth(); + content.css({marginLeft:parseInt(sidenavWidth)+"px"}); + writeCookie('width',sidenavWidth, null); +} + +function restoreWidth(navWidth) +{ + var windowWidth = $(window).width() + "px"; + content.css({marginLeft:parseInt(navWidth)+6+"px"}); + sidenav.css({width:navWidth + "px"}); +} + +function resizeHeight() +{ + var headerHeight = header.outerHeight(); + var footerHeight = footer.outerHeight(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + content.css({height:windowHeight + "px"}); + navtree.css({height:windowHeight + "px"}); + sidenav.css({height:windowHeight + "px",top: headerHeight+"px"}); +} + +function initResizable() +{ + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(window).resize(function() { resizeHeight(); }); + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(document).bind('touchmove',function(e){ + var device = navigator.userAgent.toLowerCase(); + var ios = device.match(/(iphone|ipod|ipad)/); + if (ios) { + try { + var target = e.target; + while (target) { + if ($(target).css('-webkit-overflow-scrolling')=='touch') return; + target = target.parentNode; + } + e.preventDefault(); + } catch(err) { + e.preventDefault(); + } + } + }); +} + + diff --git a/master/search/all_0.html b/master/search/all_0.html new file mode 100644 index 0000000..1d46950 --- /dev/null +++ b/master/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_0.js b/master/search/all_0.js new file mode 100644 index 0000000..a7e52c8 --- /dev/null +++ b/master/search/all_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['contributing_2emd',['CONTRIBUTING.md',['../CONTRIBUTING_8md.html',1,'']]], + ['copy',['copy',['../php__raphf__api_8h.html#a8094f85df976aff73148bc579ae72e38',1,'php_resource_factory_ops']]], + ['ctor',['ctor',['../php__raphf__api_8h.html#a044b07071758dbc53f87bfd212400ac0',1,'php_resource_factory_ops']]], + ['contributor_20code_20of_20conduct',['Contributor Code of Conduct',['../md_CONTRIBUTING.html',1,'']]] +]; diff --git a/master/search/all_1.html b/master/search/all_1.html new file mode 100644 index 0000000..1fbc509 --- /dev/null +++ b/master/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_1.js b/master/search/all_1.js new file mode 100644 index 0000000..e90008b --- /dev/null +++ b/master/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['data',['data',['../structphp__resource__factory.html#af2be7546c9d94eccc9350df812830d12',1,'php_resource_factory']]], + ['dtor',['dtor',['../php__raphf__api_8h.html#acb8a7a04b86f08db41a2d6232676c65c',1,'php_resource_factory_ops::dtor()'],['../structphp__resource__factory.html#a7d6c89f9c6035be8a5e166a6a86cd1c7',1,'php_resource_factory::dtor()']]] +]; diff --git a/master/search/all_2.html b/master/search/all_2.html new file mode 100644 index 0000000..93962b7 --- /dev/null +++ b/master/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_2.js b/master/search/all_2.js new file mode 100644 index 0000000..9811604 --- /dev/null +++ b/master/search/all_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fops',['fops',['../structphp__resource__factory.html#af46453098d0078f9015184549b363824',1,'php_resource_factory']]], + ['free',['free',['../php__raphf__api_8h.html#a653a4a0e9c39ad942e9573e197f62974',1,'php_persistent_handle_list']]], + ['free_5fon_5fabandon',['free_on_abandon',['../php__raphf__api_8h.html#a84ffa94401b9869e14c190be4bb1b6be',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/all_3.html b/master/search/all_3.html new file mode 100644 index 0000000..679f93c --- /dev/null +++ b/master/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_3.js b/master/search/all_3.js new file mode 100644 index 0000000..4b7b228 --- /dev/null +++ b/master/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ident',['ident',['../php__raphf__api_8h.html#ab2446707ee5cb070fd3219e191b31769',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/all_4.html b/master/search/all_4.html new file mode 100644 index 0000000..adc99fb --- /dev/null +++ b/master/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_4.js b/master/search/all_4.js new file mode 100644 index 0000000..333dde8 --- /dev/null +++ b/master/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['list',['list',['../php__raphf__api_8h.html#a4935f6446b1d4a2feb7a22dfc4e5d6d0',1,'php_persistent_handle_provider']]] +]; diff --git a/master/search/all_5.html b/master/search/all_5.html new file mode 100644 index 0000000..a9fcd17 --- /dev/null +++ b/master/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_5.js b/master/search/all_5.js new file mode 100644 index 0000000..c77b98d --- /dev/null +++ b/master/search/all_5.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['persistent_5fhandle',['persistent_handle',['../php__raphf__api_8c.html#a385b722141c96392a35d8b6dfc29b0d3',1,'php_raphf_api.c']]], + ['php_5fminfo_5ffunction',['PHP_MINFO_FUNCTION',['../php__raphf__api_8c.html#afe0b826f07940e0297395eb758b6dc63',1,'php_raphf_api.c']]], + ['php_5fminit_5ffunction',['PHP_MINIT_FUNCTION',['../php__raphf__api_8c.html#a98ef98eb514bf71723b22e93ef4fb099',1,'php_raphf_api.c']]], + ['php_5fmshutdown_5ffunction',['PHP_MSHUTDOWN_FUNCTION',['../php__raphf__api_8c.html#a9bdad7e7a27b1cce6be5ec842da0c921',1,'php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fabandon',['php_persistent_handle_abandon',['../php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2',1,'php_persistent_handle_abandon(php_persistent_handle_factory_t *a): php_raphf_api.c'],['../php__raphf__api_8h.html#ab12ec2da7189e16fbed40a3b73bc9ee2',1,'php_persistent_handle_abandon(php_persistent_handle_factory_t *a): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5faccrete',['php_persistent_handle_accrete',['../php__raphf__api_8c.html#ae8124f3f73e96e2193ae03c5519d2763',1,'php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763',1,'php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5facquire',['php_persistent_handle_acquire',['../php__raphf__api_8c.html#af6636e870497be0699d2781e5fc8a2a9',1,'php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg): php_raphf_api.c'],['../php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9',1,'php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fcleanup',['php_persistent_handle_cleanup',['../php__raphf__api_8c.html#a8368c07c20ecf1d4f06aa6a4e5849df8',1,'php_persistent_handle_cleanup(zend_string *name, zend_string *ident): php_raphf_api.c'],['../php__raphf__api_8h.html#a8368c07c20ecf1d4f06aa6a4e5849df8',1,'php_persistent_handle_cleanup(zend_string *name, zend_string *ident): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fconcede',['php_persistent_handle_concede',['../php__raphf__api_8c.html#ab7cc28d4d1dcf715dc05069a0dcac11f',1,'php_persistent_handle_concede(php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire): php_raphf_api.c'],['../php__raphf__api_8h.html#ab7cc28d4d1dcf715dc05069a0dcac11f',1,'php_persistent_handle_concede(php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5ffactory',['php_persistent_handle_factory',['../php__raphf__api_8h.html#structphp__persistent__handle__factory',1,'']]], + ['php_5fpersistent_5fhandle_5ffactory_5ft',['php_persistent_handle_factory_t',['../php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fget_5fresource_5ffactory_5fops',['php_persistent_handle_get_resource_factory_ops',['../php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca',1,'php_persistent_handle_get_resource_factory_ops(void): php_raphf_api.c'],['../php__raphf__api_8h.html#a93458ab12d810f0fd545fb1464ba9eca',1,'php_persistent_handle_get_resource_factory_ops(void): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5flist',['php_persistent_handle_list',['../php__raphf__api_8h.html#structphp__persistent__handle__list',1,'']]], + ['php_5fpersistent_5fhandle_5flist_5ft',['php_persistent_handle_list_t',['../php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fprovide',['php_persistent_handle_provide',['../php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571',1,'php_persistent_handle_provide(zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *)): php_raphf_api.c'],['../php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571',1,'php_persistent_handle_provide(zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *)): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fprovider',['php_persistent_handle_provider',['../php__raphf__api_8h.html#structphp__persistent__handle__provider',1,'']]], + ['php_5fpersistent_5fhandle_5fprovider_5ft',['php_persistent_handle_provider_t',['../php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5frelease',['php_persistent_handle_release',['../php__raphf__api_8c.html#af08ee05c51d52200755d24f6f52df144',1,'php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144',1,'php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fresource_5ffactory_5finit',['php_persistent_handle_resource_factory_init',['../php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03',1,'php_persistent_handle_resource_factory_init(php_resource_factory_t *a, php_persistent_handle_factory_t *pf): php_raphf_api.c'],['../php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03',1,'php_persistent_handle_resource_factory_init(php_resource_factory_t *a, php_persistent_handle_factory_t *pf): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fretire_5ft',['php_persistent_handle_retire_t',['../php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fstatall',['php_persistent_handle_statall',['../php__raphf__api_8c.html#ae174fbe124d4cb6010e218a68379bd18',1,'php_persistent_handle_statall(HashTable *ht): php_raphf_api.c'],['../php__raphf__api_8h.html#ae174fbe124d4cb6010e218a68379bd18',1,'php_persistent_handle_statall(HashTable *ht): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fwakeup_5ft',['php_persistent_handle_wakeup_t',['../php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142',1,'php_raphf_api.h']]], + ['php_5fraphf_2eh',['php_raphf.h',['../php__raphf_8h.html',1,'']]], + ['php_5fraphf_5fapi',['PHP_RAPHF_API',['../php__raphf_8h.html#a379b9663dc302070f84fafdc4c48d7eb',1,'php_raphf.h']]], + ['php_5fraphf_5fapi_2ec',['php_raphf_api.c',['../php__raphf__api_8c.html',1,'']]], + ['php_5fraphf_5fapi_2eh',['php_raphf_api.h',['../php__raphf__api_8h.html',1,'']]], + ['php_5fraphf_5fdebug_5fphandles',['PHP_RAPHF_DEBUG_PHANDLES',['../php__raphf__api_8c.html#a4ac4e8587a25a7617a3bb1b2b246fe7f',1,'php_raphf_api.c']]], + ['php_5fraphf_5fg',['PHP_RAPHF_G',['../php__raphf__api_8c.html#a5a6099bca8801bd4a502806ab49c1d1c',1,'php_raphf_api.c']]], + ['php_5fraphf_5ftest',['PHP_RAPHF_TEST',['../php__raphf__api_8c.html#a1a89ef4d87548194ddf4eba935ca72ea',1,'php_raphf_api.c']]], + ['php_5fraphf_5fversion',['PHP_RAPHF_VERSION',['../php__raphf_8h.html#ad71962d03ef6d7009f69765ad54f8857',1,'php_raphf.h']]], + ['php_5fresource_5ffactory',['php_resource_factory',['../structphp__resource__factory.html',1,'']]], + ['php_5fresource_5ffactory_5faddref',['php_resource_factory_addref',['../php__raphf__api_8c.html#ae8be369197905047ffbd05c0ca80f245',1,'php_resource_factory_addref(php_resource_factory_t *rf): php_raphf_api.c'],['../php__raphf__api_8h.html#ae8be369197905047ffbd05c0ca80f245',1,'php_resource_factory_addref(php_resource_factory_t *rf): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fdtor',['php_resource_factory_dtor',['../php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847',1,'php_resource_factory_dtor(php_resource_factory_t *f): php_raphf_api.c'],['../php__raphf__api_8h.html#a016b8a4159e698f915ab967711696847',1,'php_resource_factory_dtor(php_resource_factory_t *f): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5ffree',['php_resource_factory_free',['../php__raphf__api_8c.html#a7f012d685f5f7c08f50288b61232e689',1,'php_resource_factory_free(php_resource_factory_t **f): php_raphf_api.c'],['../php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689',1,'php_resource_factory_free(php_resource_factory_t **f): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fcopy',['php_resource_factory_handle_copy',['../php__raphf__api_8c.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4',1,'php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4',1,'php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fcopy_5ft',['php_resource_factory_handle_copy_t',['../php__raphf__api_8h.html#a23b073aa7b8b7dd182b336b07494288f',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fhandle_5fctor',['php_resource_factory_handle_ctor',['../php__raphf__api_8c.html#a98d02dc80dd83095b8f901954350840c',1,'php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg): php_raphf_api.c'],['../php__raphf__api_8h.html#a98d02dc80dd83095b8f901954350840c',1,'php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fctor_5ft',['php_resource_factory_handle_ctor_t',['../php__raphf__api_8h.html#abadff49d810f7ce220bd3537bdaecef7',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fhandle_5fdtor',['php_resource_factory_handle_dtor',['../php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6',1,'php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#a97dbb9d342f33205b92374c586676bc6',1,'php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fdtor_5ft',['php_resource_factory_handle_dtor_t',['../php__raphf__api_8h.html#a1b826c765392c93336db79bd6697e33d',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5finit',['php_resource_factory_init',['../php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0',1,'php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data)): php_raphf_api.c'],['../php__raphf__api_8h.html#ad20f10c53e3f33756638da98819367f0',1,'php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data)): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fis_5fpersistent',['php_resource_factory_is_persistent',['../php__raphf__api_8c.html#a617d2cc656ab6427388b938597194ebb',1,'php_resource_factory_is_persistent(php_resource_factory_t *a): php_raphf_api.c'],['../php__raphf__api_8h.html#a617d2cc656ab6427388b938597194ebb',1,'php_resource_factory_is_persistent(php_resource_factory_t *a): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fops',['php_resource_factory_ops',['../php__raphf__api_8h.html#structphp__resource__factory__ops',1,'']]], + ['php_5fresource_5ffactory_5fops_5ft',['php_resource_factory_ops_t',['../php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5ft',['php_resource_factory_t',['../php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4',1,'php_raphf_api.h']]], + ['phpext_5fraphf_5fptr',['phpext_raphf_ptr',['../php__raphf_8h.html#a41a94f99848b07699e3fde33180208c1',1,'php_raphf.h']]], + ['provider',['provider',['../php__raphf__api_8h.html#a43aabcbe7ec4b5ff463f74cfcf788f51',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/all_6.html b/master/search/all_6.html new file mode 100644 index 0000000..821c374 --- /dev/null +++ b/master/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_6.js b/master/search/all_6.js new file mode 100644 index 0000000..f120bec --- /dev/null +++ b/master/search/all_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['raphf_5fmodule_5fentry',['raphf_module_entry',['../php__raphf_8h.html#a42f904573a2c5b1eba6ccd6604269f99',1,'raphf_module_entry(): php_raphf_api.c'],['../php__raphf__api_8c.html#a42f904573a2c5b1eba6ccd6604269f99',1,'raphf_module_entry(): php_raphf_api.c']]], + ['readme_2emd',['README.md',['../README_8md.html',1,'']]], + ['refcount',['refcount',['../structphp__resource__factory.html#a00ebf2bd2227f5d4826751b3b475769f',1,'php_resource_factory']]], + ['retire',['retire',['../php__raphf__api_8h.html#a9299f3f0821061ad93d15c10cf735b6b',1,'php_persistent_handle_factory']]], + ['rf',['rf',['../php__raphf__api_8h.html#a8204714f100b74b028652951ca40abd3',1,'php_persistent_handle_provider']]] +]; diff --git a/master/search/all_7.html b/master/search/all_7.html new file mode 100644 index 0000000..38c6c00 --- /dev/null +++ b/master/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_7.js b/master/search/all_7.js new file mode 100644 index 0000000..73d7b60 --- /dev/null +++ b/master/search/all_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['std_5fphp_5fini_5fentry',['STD_PHP_INI_ENTRY',['../php__raphf__api_8c.html#ad2aba389e88a1e9e11b7dae021bfddfc',1,'php_raphf_api.c']]] +]; diff --git a/master/search/all_8.html b/master/search/all_8.html new file mode 100644 index 0000000..2a22cd5 --- /dev/null +++ b/master/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_8.js b/master/search/all_8.js new file mode 100644 index 0000000..7d1887b --- /dev/null +++ b/master/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['used',['used',['../php__raphf__api_8h.html#a119a44fd9f5ae066b6d77e7a35a25cd0',1,'php_persistent_handle_list']]] +]; diff --git a/master/search/all_9.html b/master/search/all_9.html new file mode 100644 index 0000000..bd9b05c --- /dev/null +++ b/master/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_9.js b/master/search/all_9.js new file mode 100644 index 0000000..ffac862 --- /dev/null +++ b/master/search/all_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wakeup',['wakeup',['../php__raphf__api_8h.html#a6633b7c860e4538942e0367d64ed5af7',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/all_a.html b/master/search/all_a.html new file mode 100644 index 0000000..4a25af1 --- /dev/null +++ b/master/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/all_a.js b/master/search/all_a.js new file mode 100644 index 0000000..0a572f0 --- /dev/null +++ b/master/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zend_5fend_5farg_5finfo',['ZEND_END_ARG_INFO',['../php__raphf__api_8c.html#a9337bda6793399d5917999063e1aa636',1,'php_raphf_api.c']]] +]; diff --git a/master/search/classes_0.html b/master/search/classes_0.html new file mode 100644 index 0000000..523591f --- /dev/null +++ b/master/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/classes_0.js b/master/search/classes_0.js new file mode 100644 index 0000000..7318c8d --- /dev/null +++ b/master/search/classes_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['php_5fpersistent_5fhandle_5ffactory',['php_persistent_handle_factory',['../php__raphf__api_8h.html#structphp__persistent__handle__factory',1,'']]], + ['php_5fpersistent_5fhandle_5flist',['php_persistent_handle_list',['../php__raphf__api_8h.html#structphp__persistent__handle__list',1,'']]], + ['php_5fpersistent_5fhandle_5fprovider',['php_persistent_handle_provider',['../php__raphf__api_8h.html#structphp__persistent__handle__provider',1,'']]], + ['php_5fresource_5ffactory',['php_resource_factory',['../structphp__resource__factory.html',1,'']]], + ['php_5fresource_5ffactory_5fops',['php_resource_factory_ops',['../php__raphf__api_8h.html#structphp__resource__factory__ops',1,'']]] +]; diff --git a/master/search/close.png b/master/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/master/search/close.png differ diff --git a/master/search/defines_0.html b/master/search/defines_0.html new file mode 100644 index 0000000..c3b3619 --- /dev/null +++ b/master/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/defines_0.js b/master/search/defines_0.js new file mode 100644 index 0000000..164d489 --- /dev/null +++ b/master/search/defines_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['php_5fraphf_5fapi',['PHP_RAPHF_API',['../php__raphf_8h.html#a379b9663dc302070f84fafdc4c48d7eb',1,'php_raphf.h']]], + ['php_5fraphf_5fdebug_5fphandles',['PHP_RAPHF_DEBUG_PHANDLES',['../php__raphf__api_8c.html#a4ac4e8587a25a7617a3bb1b2b246fe7f',1,'php_raphf_api.c']]], + ['php_5fraphf_5fg',['PHP_RAPHF_G',['../php__raphf__api_8c.html#a5a6099bca8801bd4a502806ab49c1d1c',1,'php_raphf_api.c']]], + ['php_5fraphf_5ftest',['PHP_RAPHF_TEST',['../php__raphf__api_8c.html#a1a89ef4d87548194ddf4eba935ca72ea',1,'php_raphf_api.c']]], + ['php_5fraphf_5fversion',['PHP_RAPHF_VERSION',['../php__raphf_8h.html#ad71962d03ef6d7009f69765ad54f8857',1,'php_raphf.h']]], + ['phpext_5fraphf_5fptr',['phpext_raphf_ptr',['../php__raphf_8h.html#a41a94f99848b07699e3fde33180208c1',1,'php_raphf.h']]] +]; diff --git a/master/search/files_0.html b/master/search/files_0.html new file mode 100644 index 0000000..a2ec540 --- /dev/null +++ b/master/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/files_0.js b/master/search/files_0.js new file mode 100644 index 0000000..9990ab6 --- /dev/null +++ b/master/search/files_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['contributing_2emd',['CONTRIBUTING.md',['../CONTRIBUTING_8md.html',1,'']]] +]; diff --git a/master/search/files_1.html b/master/search/files_1.html new file mode 100644 index 0000000..9e974da --- /dev/null +++ b/master/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/files_1.js b/master/search/files_1.js new file mode 100644 index 0000000..e553310 --- /dev/null +++ b/master/search/files_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['php_5fraphf_2eh',['php_raphf.h',['../php__raphf_8h.html',1,'']]], + ['php_5fraphf_5fapi_2ec',['php_raphf_api.c',['../php__raphf__api_8c.html',1,'']]], + ['php_5fraphf_5fapi_2eh',['php_raphf_api.h',['../php__raphf__api_8h.html',1,'']]] +]; diff --git a/master/search/files_2.html b/master/search/files_2.html new file mode 100644 index 0000000..04348f9 --- /dev/null +++ b/master/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/files_2.js b/master/search/files_2.js new file mode 100644 index 0000000..f1a1f84 --- /dev/null +++ b/master/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['readme_2emd',['README.md',['../README_8md.html',1,'']]] +]; diff --git a/master/search/functions_0.html b/master/search/functions_0.html new file mode 100644 index 0000000..246d167 --- /dev/null +++ b/master/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/functions_0.js b/master/search/functions_0.js new file mode 100644 index 0000000..01ea881 --- /dev/null +++ b/master/search/functions_0.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['php_5fminfo_5ffunction',['PHP_MINFO_FUNCTION',['../php__raphf__api_8c.html#afe0b826f07940e0297395eb758b6dc63',1,'php_raphf_api.c']]], + ['php_5fminit_5ffunction',['PHP_MINIT_FUNCTION',['../php__raphf__api_8c.html#a98ef98eb514bf71723b22e93ef4fb099',1,'php_raphf_api.c']]], + ['php_5fmshutdown_5ffunction',['PHP_MSHUTDOWN_FUNCTION',['../php__raphf__api_8c.html#a9bdad7e7a27b1cce6be5ec842da0c921',1,'php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fabandon',['php_persistent_handle_abandon',['../php__raphf__api_8c.html#ab12ec2da7189e16fbed40a3b73bc9ee2',1,'php_persistent_handle_abandon(php_persistent_handle_factory_t *a): php_raphf_api.c'],['../php__raphf__api_8h.html#ab12ec2da7189e16fbed40a3b73bc9ee2',1,'php_persistent_handle_abandon(php_persistent_handle_factory_t *a): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5faccrete',['php_persistent_handle_accrete',['../php__raphf__api_8c.html#ae8124f3f73e96e2193ae03c5519d2763',1,'php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#ae8124f3f73e96e2193ae03c5519d2763',1,'php_persistent_handle_accrete(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5facquire',['php_persistent_handle_acquire',['../php__raphf__api_8c.html#af6636e870497be0699d2781e5fc8a2a9',1,'php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg): php_raphf_api.c'],['../php__raphf__api_8h.html#af6636e870497be0699d2781e5fc8a2a9',1,'php_persistent_handle_acquire(php_persistent_handle_factory_t *a, void *init_arg): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fcleanup',['php_persistent_handle_cleanup',['../php__raphf__api_8c.html#a8368c07c20ecf1d4f06aa6a4e5849df8',1,'php_persistent_handle_cleanup(zend_string *name, zend_string *ident): php_raphf_api.c'],['../php__raphf__api_8h.html#a8368c07c20ecf1d4f06aa6a4e5849df8',1,'php_persistent_handle_cleanup(zend_string *name, zend_string *ident): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fconcede',['php_persistent_handle_concede',['../php__raphf__api_8c.html#ab7cc28d4d1dcf715dc05069a0dcac11f',1,'php_persistent_handle_concede(php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire): php_raphf_api.c'],['../php__raphf__api_8h.html#ab7cc28d4d1dcf715dc05069a0dcac11f',1,'php_persistent_handle_concede(php_persistent_handle_factory_t *a, zend_string *name, zend_string *ident, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fget_5fresource_5ffactory_5fops',['php_persistent_handle_get_resource_factory_ops',['../php__raphf__api_8c.html#a93458ab12d810f0fd545fb1464ba9eca',1,'php_persistent_handle_get_resource_factory_ops(void): php_raphf_api.c'],['../php__raphf__api_8h.html#a93458ab12d810f0fd545fb1464ba9eca',1,'php_persistent_handle_get_resource_factory_ops(void): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fprovide',['php_persistent_handle_provide',['../php__raphf__api_8c.html#ab7bc43582b0307526d80e83dba88c571',1,'php_persistent_handle_provide(zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *)): php_raphf_api.c'],['../php__raphf__api_8h.html#ab7bc43582b0307526d80e83dba88c571',1,'php_persistent_handle_provide(zend_string *name, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *)): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5frelease',['php_persistent_handle_release',['../php__raphf__api_8c.html#af08ee05c51d52200755d24f6f52df144',1,'php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#af08ee05c51d52200755d24f6f52df144',1,'php_persistent_handle_release(php_persistent_handle_factory_t *a, void *handle): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fresource_5ffactory_5finit',['php_persistent_handle_resource_factory_init',['../php__raphf__api_8c.html#ab754f4d59dab5de0edf702a9ab2f4e03',1,'php_persistent_handle_resource_factory_init(php_resource_factory_t *a, php_persistent_handle_factory_t *pf): php_raphf_api.c'],['../php__raphf__api_8h.html#ab754f4d59dab5de0edf702a9ab2f4e03',1,'php_persistent_handle_resource_factory_init(php_resource_factory_t *a, php_persistent_handle_factory_t *pf): php_raphf_api.c']]], + ['php_5fpersistent_5fhandle_5fstatall',['php_persistent_handle_statall',['../php__raphf__api_8c.html#ae174fbe124d4cb6010e218a68379bd18',1,'php_persistent_handle_statall(HashTable *ht): php_raphf_api.c'],['../php__raphf__api_8h.html#ae174fbe124d4cb6010e218a68379bd18',1,'php_persistent_handle_statall(HashTable *ht): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5faddref',['php_resource_factory_addref',['../php__raphf__api_8c.html#ae8be369197905047ffbd05c0ca80f245',1,'php_resource_factory_addref(php_resource_factory_t *rf): php_raphf_api.c'],['../php__raphf__api_8h.html#ae8be369197905047ffbd05c0ca80f245',1,'php_resource_factory_addref(php_resource_factory_t *rf): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fdtor',['php_resource_factory_dtor',['../php__raphf__api_8c.html#a016b8a4159e698f915ab967711696847',1,'php_resource_factory_dtor(php_resource_factory_t *f): php_raphf_api.c'],['../php__raphf__api_8h.html#a016b8a4159e698f915ab967711696847',1,'php_resource_factory_dtor(php_resource_factory_t *f): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5ffree',['php_resource_factory_free',['../php__raphf__api_8c.html#a7f012d685f5f7c08f50288b61232e689',1,'php_resource_factory_free(php_resource_factory_t **f): php_raphf_api.c'],['../php__raphf__api_8h.html#a7f012d685f5f7c08f50288b61232e689',1,'php_resource_factory_free(php_resource_factory_t **f): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fcopy',['php_resource_factory_handle_copy',['../php__raphf__api_8c.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4',1,'php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#a08db5f3698f2d0bf3d2f20dcf4e7b2b4',1,'php_resource_factory_handle_copy(php_resource_factory_t *f, void *handle): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fctor',['php_resource_factory_handle_ctor',['../php__raphf__api_8c.html#a98d02dc80dd83095b8f901954350840c',1,'php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg): php_raphf_api.c'],['../php__raphf__api_8h.html#a98d02dc80dd83095b8f901954350840c',1,'php_resource_factory_handle_ctor(php_resource_factory_t *f, void *init_arg): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fhandle_5fdtor',['php_resource_factory_handle_dtor',['../php__raphf__api_8c.html#a97dbb9d342f33205b92374c586676bc6',1,'php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle): php_raphf_api.c'],['../php__raphf__api_8h.html#a97dbb9d342f33205b92374c586676bc6',1,'php_resource_factory_handle_dtor(php_resource_factory_t *f, void *handle): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5finit',['php_resource_factory_init',['../php__raphf__api_8c.html#ad20f10c53e3f33756638da98819367f0',1,'php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data)): php_raphf_api.c'],['../php__raphf__api_8h.html#ad20f10c53e3f33756638da98819367f0',1,'php_resource_factory_init(php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data)): php_raphf_api.c']]], + ['php_5fresource_5ffactory_5fis_5fpersistent',['php_resource_factory_is_persistent',['../php__raphf__api_8c.html#a617d2cc656ab6427388b938597194ebb',1,'php_resource_factory_is_persistent(php_resource_factory_t *a): php_raphf_api.c'],['../php__raphf__api_8h.html#a617d2cc656ab6427388b938597194ebb',1,'php_resource_factory_is_persistent(php_resource_factory_t *a): php_raphf_api.c']]] +]; diff --git a/master/search/functions_1.html b/master/search/functions_1.html new file mode 100644 index 0000000..5f14d67 --- /dev/null +++ b/master/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/functions_1.js b/master/search/functions_1.js new file mode 100644 index 0000000..73d7b60 --- /dev/null +++ b/master/search/functions_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['std_5fphp_5fini_5fentry',['STD_PHP_INI_ENTRY',['../php__raphf__api_8c.html#ad2aba389e88a1e9e11b7dae021bfddfc',1,'php_raphf_api.c']]] +]; diff --git a/master/search/functions_2.html b/master/search/functions_2.html new file mode 100644 index 0000000..3995cf8 --- /dev/null +++ b/master/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/functions_2.js b/master/search/functions_2.js new file mode 100644 index 0000000..0a572f0 --- /dev/null +++ b/master/search/functions_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zend_5fend_5farg_5finfo',['ZEND_END_ARG_INFO',['../php__raphf__api_8c.html#a9337bda6793399d5917999063e1aa636',1,'php_raphf_api.c']]] +]; diff --git a/master/search/mag_sel.png b/master/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/master/search/mag_sel.png differ diff --git a/master/search/nomatches.html b/master/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/master/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/master/search/pages_0.html b/master/search/pages_0.html new file mode 100644 index 0000000..75d203d --- /dev/null +++ b/master/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/pages_0.js b/master/search/pages_0.js new file mode 100644 index 0000000..2349abf --- /dev/null +++ b/master/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['contributor_20code_20of_20conduct',['Contributor Code of Conduct',['../md_CONTRIBUTING.html',1,'']]] +]; diff --git a/master/search/search.css b/master/search/search.css new file mode 100644 index 0000000..4d7612f --- /dev/null +++ b/master/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/master/search/search.js b/master/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/master/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/typedefs_0.js b/master/search/typedefs_0.js new file mode 100644 index 0000000..1ad3f73 --- /dev/null +++ b/master/search/typedefs_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['php_5fpersistent_5fhandle_5ffactory_5ft',['php_persistent_handle_factory_t',['../php__raphf__api_8h.html#a833eaa62ffcc217e5749c26c18885b17',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5flist_5ft',['php_persistent_handle_list_t',['../php__raphf__api_8h.html#a07f599598d2b87b188f39871d026c177',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fprovider_5ft',['php_persistent_handle_provider_t',['../php__raphf__api_8h.html#a31f0595f4f726f762790cef844568fc4',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fretire_5ft',['php_persistent_handle_retire_t',['../php__raphf__api_8h.html#a85e9e715d308dc5d98b980c9c57d02bf',1,'php_raphf_api.h']]], + ['php_5fpersistent_5fhandle_5fwakeup_5ft',['php_persistent_handle_wakeup_t',['../php__raphf__api_8h.html#a59f5566ecc4c76e048ad53469eb20142',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fhandle_5fcopy_5ft',['php_resource_factory_handle_copy_t',['../php__raphf__api_8h.html#a23b073aa7b8b7dd182b336b07494288f',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fhandle_5fctor_5ft',['php_resource_factory_handle_ctor_t',['../php__raphf__api_8h.html#abadff49d810f7ce220bd3537bdaecef7',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fhandle_5fdtor_5ft',['php_resource_factory_handle_dtor_t',['../php__raphf__api_8h.html#a1b826c765392c93336db79bd6697e33d',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5fops_5ft',['php_resource_factory_ops_t',['../php__raphf__api_8h.html#a29e0d7a66e441a5265ddf2f0adbbb3af',1,'php_raphf_api.h']]], + ['php_5fresource_5ffactory_5ft',['php_resource_factory_t',['../php__raphf__api_8h.html#a4817c4b3d4077c48dff36376487ba8d4',1,'php_raphf_api.h']]] +]; diff --git a/master/search/variables_0.html b/master/search/variables_0.html new file mode 100644 index 0000000..c98c046 --- /dev/null +++ b/master/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_0.js b/master/search/variables_0.js new file mode 100644 index 0000000..b91c1b5 --- /dev/null +++ b/master/search/variables_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['copy',['copy',['../php__raphf__api_8h.html#a8094f85df976aff73148bc579ae72e38',1,'php_resource_factory_ops']]], + ['ctor',['ctor',['../php__raphf__api_8h.html#a044b07071758dbc53f87bfd212400ac0',1,'php_resource_factory_ops']]] +]; diff --git a/master/search/variables_1.html b/master/search/variables_1.html new file mode 100644 index 0000000..3eab7ea --- /dev/null +++ b/master/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_1.js b/master/search/variables_1.js new file mode 100644 index 0000000..e90008b --- /dev/null +++ b/master/search/variables_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['data',['data',['../structphp__resource__factory.html#af2be7546c9d94eccc9350df812830d12',1,'php_resource_factory']]], + ['dtor',['dtor',['../php__raphf__api_8h.html#acb8a7a04b86f08db41a2d6232676c65c',1,'php_resource_factory_ops::dtor()'],['../structphp__resource__factory.html#a7d6c89f9c6035be8a5e166a6a86cd1c7',1,'php_resource_factory::dtor()']]] +]; diff --git a/master/search/variables_2.html b/master/search/variables_2.html new file mode 100644 index 0000000..282f35b --- /dev/null +++ b/master/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_2.js b/master/search/variables_2.js new file mode 100644 index 0000000..9811604 --- /dev/null +++ b/master/search/variables_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['fops',['fops',['../structphp__resource__factory.html#af46453098d0078f9015184549b363824',1,'php_resource_factory']]], + ['free',['free',['../php__raphf__api_8h.html#a653a4a0e9c39ad942e9573e197f62974',1,'php_persistent_handle_list']]], + ['free_5fon_5fabandon',['free_on_abandon',['../php__raphf__api_8h.html#a84ffa94401b9869e14c190be4bb1b6be',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/variables_3.html b/master/search/variables_3.html new file mode 100644 index 0000000..36e31b1 --- /dev/null +++ b/master/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_3.js b/master/search/variables_3.js new file mode 100644 index 0000000..4b7b228 --- /dev/null +++ b/master/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ident',['ident',['../php__raphf__api_8h.html#ab2446707ee5cb070fd3219e191b31769',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/variables_4.html b/master/search/variables_4.html new file mode 100644 index 0000000..c736635 --- /dev/null +++ b/master/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_4.js b/master/search/variables_4.js new file mode 100644 index 0000000..333dde8 --- /dev/null +++ b/master/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['list',['list',['../php__raphf__api_8h.html#a4935f6446b1d4a2feb7a22dfc4e5d6d0',1,'php_persistent_handle_provider']]] +]; diff --git a/master/search/variables_5.html b/master/search/variables_5.html new file mode 100644 index 0000000..4e9e673 --- /dev/null +++ b/master/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_5.js b/master/search/variables_5.js new file mode 100644 index 0000000..1fc02d0 --- /dev/null +++ b/master/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['persistent_5fhandle',['persistent_handle',['../php__raphf__api_8c.html#a385b722141c96392a35d8b6dfc29b0d3',1,'php_raphf_api.c']]], + ['provider',['provider',['../php__raphf__api_8h.html#a43aabcbe7ec4b5ff463f74cfcf788f51',1,'php_persistent_handle_factory']]] +]; diff --git a/master/search/variables_6.html b/master/search/variables_6.html new file mode 100644 index 0000000..3460c61 --- /dev/null +++ b/master/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_6.js b/master/search/variables_6.js new file mode 100644 index 0000000..405729b --- /dev/null +++ b/master/search/variables_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['raphf_5fmodule_5fentry',['raphf_module_entry',['../php__raphf_8h.html#a42f904573a2c5b1eba6ccd6604269f99',1,'raphf_module_entry(): php_raphf_api.c'],['../php__raphf__api_8c.html#a42f904573a2c5b1eba6ccd6604269f99',1,'raphf_module_entry(): php_raphf_api.c']]], + ['refcount',['refcount',['../structphp__resource__factory.html#a00ebf2bd2227f5d4826751b3b475769f',1,'php_resource_factory']]], + ['retire',['retire',['../php__raphf__api_8h.html#a9299f3f0821061ad93d15c10cf735b6b',1,'php_persistent_handle_factory']]], + ['rf',['rf',['../php__raphf__api_8h.html#a8204714f100b74b028652951ca40abd3',1,'php_persistent_handle_provider']]] +]; diff --git a/master/search/variables_7.html b/master/search/variables_7.html new file mode 100644 index 0000000..34e7f98 --- /dev/null +++ b/master/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_7.js b/master/search/variables_7.js new file mode 100644 index 0000000..7d1887b --- /dev/null +++ b/master/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['used',['used',['../php__raphf__api_8h.html#a119a44fd9f5ae066b6d77e7a35a25cd0',1,'php_persistent_handle_list']]] +]; diff --git a/master/search/variables_8.html b/master/search/variables_8.html new file mode 100644 index 0000000..1c5802c --- /dev/null +++ b/master/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/master/search/variables_8.js b/master/search/variables_8.js new file mode 100644 index 0000000..ffac862 --- /dev/null +++ b/master/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wakeup',['wakeup',['../php__raphf__api_8h.html#a6633b7c860e4538942e0367d64ed5af7',1,'php_persistent_handle_factory']]] +]; diff --git a/master/splitbar.png b/master/splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/master/splitbar.png differ diff --git a/master/structphp__persistent__handle__factory__coll__graph.map b/master/structphp__persistent__handle__factory__coll__graph.map new file mode 100644 index 0000000..eee6b9d --- /dev/null +++ b/master/structphp__persistent__handle__factory__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/master/structphp__persistent__handle__factory__coll__graph.md5 b/master/structphp__persistent__handle__factory__coll__graph.md5 new file mode 100644 index 0000000..8d05fea --- /dev/null +++ b/master/structphp__persistent__handle__factory__coll__graph.md5 @@ -0,0 +1 @@ +070da1b38a773f8503e7dc56a2197ac0 \ No newline at end of file diff --git a/master/structphp__persistent__handle__factory__coll__graph.png b/master/structphp__persistent__handle__factory__coll__graph.png new file mode 100644 index 0000000..877cdc9 Binary files /dev/null and b/master/structphp__persistent__handle__factory__coll__graph.png differ diff --git a/master/structphp__persistent__handle__provider__coll__graph.map b/master/structphp__persistent__handle__provider__coll__graph.map new file mode 100644 index 0000000..ac7dea7 --- /dev/null +++ b/master/structphp__persistent__handle__provider__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/master/structphp__persistent__handle__provider__coll__graph.md5 b/master/structphp__persistent__handle__provider__coll__graph.md5 new file mode 100644 index 0000000..eefa215 --- /dev/null +++ b/master/structphp__persistent__handle__provider__coll__graph.md5 @@ -0,0 +1 @@ +bdbfce3ff34319e460e65b357d9c6c6a \ No newline at end of file diff --git a/master/structphp__persistent__handle__provider__coll__graph.png b/master/structphp__persistent__handle__provider__coll__graph.png new file mode 100644 index 0000000..f283a27 Binary files /dev/null and b/master/structphp__persistent__handle__provider__coll__graph.png differ diff --git a/master/structphp__resource__factory.html b/master/structphp__resource__factory.html new file mode 100644 index 0000000..82a1963 --- /dev/null +++ b/master/structphp__resource__factory.html @@ -0,0 +1,226 @@ + + + + + + +Resource and persistent handle factory API: php_resource_factory Struct Reference + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Resource and persistent handle factory API +
+
A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
+
+
+ + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
php_resource_factory Struct Reference
+
+
+ +

The resource factory. + More...

+ +

#include <php_raphf_api.h>

+
+Collaboration diagram for php_resource_factory:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + + + + + + + + + + + +

+Data Fields

php_resource_factory_ops_t fops
 The resource ops. More...
 
void * data
 Opaque user data. More...
 
void(* dtor )(void *data)
 User data destructor. More...
 
unsigned refcount
 How often this factory is referenced. More...
 
+

Detailed Description

+

The resource factory.

+

Field Documentation

+ +
+
+ + + + +
void* php_resource_factory::data
+
+
+ +
+
+ + + + +
void(* php_resource_factory::dtor) (void *data)
+
+
+ + + +
+
+ + + + +
unsigned php_resource_factory::refcount
+
+ +

How often this factory is referenced.

+ +

Referenced by php_resource_factory_addref(), php_resource_factory_dtor(), and php_resource_factory_init().

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/master/structphp__resource__factory.js b/master/structphp__resource__factory.js new file mode 100644 index 0000000..d655a56 --- /dev/null +++ b/master/structphp__resource__factory.js @@ -0,0 +1,7 @@ +var structphp__resource__factory = +[ + [ "data", "structphp__resource__factory.html#af2be7546c9d94eccc9350df812830d12", null ], + [ "dtor", "structphp__resource__factory.html#a7d6c89f9c6035be8a5e166a6a86cd1c7", null ], + [ "fops", "structphp__resource__factory.html#af46453098d0078f9015184549b363824", null ], + [ "refcount", "structphp__resource__factory.html#a00ebf2bd2227f5d4826751b3b475769f", null ] +]; \ No newline at end of file diff --git a/master/structphp__resource__factory__coll__graph.map b/master/structphp__resource__factory__coll__graph.map new file mode 100644 index 0000000..76eae3a --- /dev/null +++ b/master/structphp__resource__factory__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/master/structphp__resource__factory__coll__graph.md5 b/master/structphp__resource__factory__coll__graph.md5 new file mode 100644 index 0000000..2aeb0b1 --- /dev/null +++ b/master/structphp__resource__factory__coll__graph.md5 @@ -0,0 +1 @@ +1718c21b2d94cad05b332c687ddf2a56 \ No newline at end of file diff --git a/master/structphp__resource__factory__coll__graph.png b/master/structphp__resource__factory__coll__graph.png new file mode 100644 index 0000000..e2afa66 Binary files /dev/null and b/master/structphp__resource__factory__coll__graph.png differ diff --git a/master/sync_off.png b/master/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/master/sync_off.png differ diff --git a/master/sync_on.png b/master/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/master/sync_on.png differ diff --git a/master/tab_a.png b/master/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/master/tab_a.png differ diff --git a/master/tab_b.png b/master/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/master/tab_b.png differ diff --git a/master/tab_h.png b/master/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/master/tab_h.png differ diff --git a/master/tab_s.png b/master/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/master/tab_s.png differ diff --git a/master/tabs.css b/master/tabs.css new file mode 100644 index 0000000..9cf578f --- /dev/null +++ b/master/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +}