/usr/share/doc/libucommon-dev/a00185.html is in libucommon-doc 3.2.0-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>UCommon: ucommon/access.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="main.html"><span>Main Page</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="examples.html"><span>Examples</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>ucommon/access.h File Reference</h1>
<p>Locking classes for member function automatic operations.
<a href="#_details">More...</a></p>
<code>#include <<a class="el" href="a00185_source.html">ucommon/platform.h</a>></code><br/>
<code>#include <pthread.h></code><br/>
<code>#include <signal.h></code><br/>
<code>#include <sys/stat.h></code><br/>
<code>#include <sys/types.h></code><br/>
<code>#include <stdint.h></code><br/>
<code>#include <unistd.h></code><br/>
<code>#include <stdlib.h></code><br/>
<code>#include <errno.h></code><br/>
<code>#include <assert.h></code><br/>
<code>#include <<a class="el" href="a00201_source.html">ucommon/platform.h</a>></code><br/>
<div class="dynheader">
Include dependency graph for access.h:</div>
<div class="dynsection">
<div class="center"><img src="a00229.png" border="0" usemap="#ucommon_2access_8h_map" alt=""/></div>
<map name="ucommon_2access_8h_map" id="ucommon_2access_8h">
<area shape="rect" id="node22" href="a00201.html" title="Various miscelanous platform specific headers and defines." alt="" coords="459,83,616,112"/></map>
</div>
<div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dynsection">
<div class="center"><img src="a00230.png" border="0" usemap="#ucommon_2access_8hdep_map" alt=""/></div>
<map name="ucommon_2access_8hdep_map" id="ucommon_2access_8hdep">
<area shape="rect" id="node4" href="a00187.html" title="This is the GNU telephonic audio library for the GNU uCommon C++ framework." alt="" coords="37,392,176,421"/><area shape="rect" id="node7" href="a00208.html" title="Thread classes and sychronization objects." alt="" coords="460,83,604,112"/><area shape="rect" id="node19" href="a00210.html" title="Top level include file for the GNU uCommon C++ core library." alt="" coords="405,392,573,421"/><area shape="rect" id="node10" href="a00193.html" title="Thread-aware file system manipulation class." alt="" coords="272,160,400,189"/><area shape="rect" id="node26" href="a00206.html" title="Any ucommon streaming classes that are built from std::streamio facilities and that..." alt="" coords="373,237,523,267"/><area shape="rect" id="node30" href="a00196.html" title="Support for memory mapped objects." alt="" coords="552,315,707,344"/><area shape="rect" id="node35" href="a00212.html" title="Basic array and reusable object factory heap support." alt="" coords="648,160,789,189"/><area shape="rect" id="node13" href="a00189.html" title="A common buffered I/O class is used to stream character data without need for stdlib..." alt="" coords="160,237,299,267"/><area shape="rect" id="node16" href="a00204.html" title="Generic shell parsing and application services." alt="" coords="195,315,325,344"/><area shape="rect" id="node21" href="a00202.html" title="This library holds the ucommon scripting engine code." alt="" coords="336,469,475,499"/><area shape="rect" id="node23" href="a00203.html" title="This library holds basic crytographic functions and secure socket support for use..." alt="" coords="499,469,645,499"/></map>
</div>
<p><a href="a00185_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00052.html">ucc::Exclusive</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">An exclusive locking protocol interface base. <a href="a00052.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00053.html">ucc::exclusive_lock</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A kind of smart pointer object to support exclusive locking protocol. <a href="a00053.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00135.html">ucc::Shared</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">An exclusive locking protocol interface base. <a href="a00135.html#_details">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00137.html">ucc::shared_lock</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">A kind of smart pointer object to support shared locking protocol. <a href="a00137.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html">ucc</a></td></tr>
<p><tr><td class="mdescLeft"> </td><td class="mdescRight"><p>Common namespace for all ucommon objects. </p>
<br/></td></tr>
</p>
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab95a56da814a661362e1bc6b1ccc20a4"></a><!-- doxytag: member="access.h::_UCOMMON_ACCESS_H_" ref="ab95a56da814a661362e1bc6b1ccc20a4" args="" -->
#define </td><td class="memItemRight" valign="bottom"><b>_UCOMMON_ACCESS_H_</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4dc13224ae0606c24a3952d0119d6d63"></a><!-- doxytag: member="access.h::exclusive_access" ref="a4dc13224ae0606c24a3952d0119d6d63" args="(x)" -->
#define </td><td class="memItemRight" valign="bottom"><b>exclusive_access</b>(x) exlock_t __autolock__ = &x</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdb46d649c8fb6b11b555117b1ef4b48"></a><!-- doxytag: member="access.h::exclusive_object" ref="afdb46d649c8fb6b11b555117b1ef4b48" args="()" -->
#define </td><td class="memItemRight" valign="bottom"><b>exclusive_object</b>() exlock_t __autolock__ = this</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a42648abdfb15d8abaf8c308d6b6a6e25"></a><!-- doxytag: member="access.h::protected_access" ref="a42648abdfb15d8abaf8c308d6b6a6e25" args="(x)" -->
#define </td><td class="memItemRight" valign="bottom"><b>protected_access</b>(x) shlock_t __autolock__ = &x</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a453defe2c5de62cbe51af2ce4f7843b4"></a><!-- doxytag: member="access.h::protected_object" ref="a453defe2c5de62cbe51af2ce4f7843b4" args="()" -->
#define </td><td class="memItemRight" valign="bottom"><b>protected_object</b>() shlock_t __autolock__ = this</td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89b82ac3392a4ce37a59fd816977b312"></a><!-- doxytag: member="access.h::exlock_t" ref="a89b82ac3392a4ce37a59fd816977b312" args="" -->
typedef exclusive_lock </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a89b82ac3392a4ce37a59fd816977b312">ucc::exlock_t</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience type to use for object referencing an exclusive object. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a947ea3a9e507dbf59617dbf1d900b824"></a><!-- doxytag: member="access.h::shlock_t" ref="a947ea3a9e507dbf59617dbf1d900b824" args="" -->
typedef shared_lock </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a947ea3a9e507dbf59617dbf1d900b824">ucc::shlock_t</a></td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience type to use for object referencing a shared object. <br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#ad6378c2aa4e17197d8e936674e5b2687">ucc::access</a> (Shared *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to access (lock) shared object through it's protocol. <a href="#ad6378c2aa4e17197d8e936674e5b2687"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#aeaed52a287086b5ba39effca9e7b037d">ucc::exclusive</a> (Shared *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to exclusive lock shared object through it's protocol. <a href="#aeaed52a287086b5ba39effca9e7b037d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a72818707e51af1a21b83b8ea39b95daa">ucc::lock</a> (Exclusive *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to exclusively lock an object through it's protocol. <a href="#a72818707e51af1a21b83b8ea39b95daa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a96aa4f7571c754153b37a31dda7faebe">ucc::release</a> (shlock_t &reference)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to release a reference to a shared lock. <a href="#a96aa4f7571c754153b37a31dda7faebe"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#aa16279b91913c6501623301eb287cfed">ucc::release</a> (exlock_t &reference)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to release a reference to an exclusive lock. <a href="#aa16279b91913c6501623301eb287cfed"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#ab7bef2898e731474a9c3dfa805a6f56d">ucc::release</a> (Shared *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to unlock shared object through it's protocol. <a href="#ab7bef2898e731474a9c3dfa805a6f56d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a5ece1dc7970bcebf162c214d349292b2">ucc::share</a> (Shared *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to restore shared locking for object through it's protocol. <a href="#a5ece1dc7970bcebf162c214d349292b2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00214.html#a140946704e1b4c4e9c3b14081c1d300d">ucc::unlock</a> (Exclusive *object)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Convenience function to unlock an exclusive object through it's protocol. <a href="#a140946704e1b4c4e9c3b14081c1d300d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Locking classes for member function automatic operations. </p>
<p>This header covers ucommon access related classes. These are used to provide automatic management of locks and sychronization objects through common virtual base classes which can be used with automatic objects. These classes are intended to be used much like "protocols" in conjunction with smart pointer/referencing classes. This protocol interface supports member functions to aquire a lock when entered and automatically release the lock when the member function returns that are used in conjunction with special referencing smart pointers. </p>
<p>Definition in file <a class="el" href="a00185_source.html">access.h</a>.</p>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Tue Jul 6 08:22:01 2010 for UCommon by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
|