This file is indexed.

/usr/share/doc/libjuce/apiref/classAsyncUpdater.html is in libjuce-doc 4.3.0~repack-1.

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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JUCE: AsyncUpdater Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JUCE
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classAsyncUpdater-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">AsyncUpdater Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Has a callback method that is triggered asynchronously.  
 <a href="classAsyncUpdater.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for AsyncUpdater:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classAsyncUpdater.png" usemap="#AsyncUpdater_map" alt=""/>
  <map id="AsyncUpdater_map" name="AsyncUpdater_map">
<area href="classApplicationCommandManager.html" title="One of these objects holds a list of all the commands your app can perform, and despatches these comm..." alt="ApplicationCommandManager" shape="rect" coords="191,56,372,80"/>
<area href="classAudioProcessorGraph.html" title="A type of AudioProcessor which plays back a graph of other AudioProcessors. " alt="AudioProcessorGraph" shape="rect" coords="191,112,372,136"/>
<area href="classComboBox.html" title="A component that lets the user choose from a drop-down list of choices. " alt="ComboBox" shape="rect" coords="191,168,372,192"/>
<area href="classDesktop.html" title="Describes and controls aspects of the computer&#39;s desktop. " alt="Desktop" shape="rect" coords="191,224,372,248"/>
<area href="classFilenameComponent.html" title="Shows a filename as an editable text box, with a &#39;browse&#39; button and a drop-down list for recently se..." alt="FilenameComponent" shape="rect" coords="191,280,372,304"/>
<area href="classMenuBarModel.html" title="A class for controlling MenuBar components. " alt="MenuBarModel" shape="rect" coords="191,336,372,360"/>
<area href="classModalComponentManager.html" title="Manages the system&#39;s stack of modal components. " alt="ModalComponentManager" shape="rect" coords="191,392,372,416"/>
<area href="classScrollBar.html" title="A scrollbar component. " alt="ScrollBar" shape="rect" coords="191,448,372,472"/>
<area href="classTableHeaderComponent.html" title="A component that displays a strip of column headings for a table, and allows these to be resized..." alt="TableHeaderComponent" shape="rect" coords="191,504,372,528"/>
<area href="classValue_1_1ValueSource.html" title="Used internally by the Value class as the base class for its shared value objects. " alt="Value::ValueSource" shape="rect" coords="191,560,372,584"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5cb530c31e68d13bbdf078ed54911e0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a5cb530c31e68d13bbdf078ed54911e0c">AsyncUpdater</a> ()</td></tr>
<tr class="memdesc:a5cb530c31e68d13bbdf078ed54911e0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an <a class="el" href="classAsyncUpdater.html" title="Has a callback method that is triggered asynchronously. ">AsyncUpdater</a> object.  <a href="#a5cb530c31e68d13bbdf078ed54911e0c">More...</a><br /></td></tr>
<tr class="separator:a5cb530c31e68d13bbdf078ed54911e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af28a6da5c2adf73e2c18286574939d4b"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#af28a6da5c2adf73e2c18286574939d4b">~AsyncUpdater</a> ()</td></tr>
<tr class="memdesc:af28a6da5c2adf73e2c18286574939d4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#af28a6da5c2adf73e2c18286574939d4b">More...</a><br /></td></tr>
<tr class="separator:af28a6da5c2adf73e2c18286574939d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eece806c6ba9f591382fed54c5983b2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a4eece806c6ba9f591382fed54c5983b2">triggerAsyncUpdate</a> ()</td></tr>
<tr class="memdesc:a4eece806c6ba9f591382fed54c5983b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Causes the callback to be triggered at a later time.  <a href="#a4eece806c6ba9f591382fed54c5983b2">More...</a><br /></td></tr>
<tr class="separator:a4eece806c6ba9f591382fed54c5983b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e71a3b3172abca3567d2d2b75564323"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a2e71a3b3172abca3567d2d2b75564323">cancelPendingUpdate</a> () noexcept</td></tr>
<tr class="memdesc:a2e71a3b3172abca3567d2d2b75564323"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will stop any pending updates from happening.  <a href="#a2e71a3b3172abca3567d2d2b75564323">More...</a><br /></td></tr>
<tr class="separator:a2e71a3b3172abca3567d2d2b75564323"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f65e2ad091e96ce4e3979d2b701bc85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a5f65e2ad091e96ce4e3979d2b701bc85">handleUpdateNowIfNeeded</a> ()</td></tr>
<tr class="memdesc:a5f65e2ad091e96ce4e3979d2b701bc85"><td class="mdescLeft">&#160;</td><td class="mdescRight">If an update has been triggered and is pending, this will invoke it synchronously.  <a href="#a5f65e2ad091e96ce4e3979d2b701bc85">More...</a><br /></td></tr>
<tr class="separator:a5f65e2ad091e96ce4e3979d2b701bc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93c63f13659fc5acd41c3ec9b252bf01"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a93c63f13659fc5acd41c3ec9b252bf01">isUpdatePending</a> () const noexcept</td></tr>
<tr class="memdesc:a93c63f13659fc5acd41c3ec9b252bf01"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if there's an update callback in the pipeline.  <a href="#a93c63f13659fc5acd41c3ec9b252bf01">More...</a><br /></td></tr>
<tr class="separator:a93c63f13659fc5acd41c3ec9b252bf01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a446f3af793131f8772329f1f8b526578"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578">handleAsyncUpdate</a> ()=0</td></tr>
<tr class="memdesc:a446f3af793131f8772329f1f8b526578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called back to do whatever your class needs to do.  <a href="#a446f3af793131f8772329f1f8b526578">More...</a><br /></td></tr>
<tr class="separator:a446f3af793131f8772329f1f8b526578"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Has a callback method that is triggered asynchronously. </p>
<p>This object allows an asynchronous callback function to be triggered, for tasks such as coalescing multiple updates into a single callback later on.</p>
<p>Basically, one or more calls to the <a class="el" href="classAsyncUpdater.html#a4eece806c6ba9f591382fed54c5983b2" title="Causes the callback to be triggered at a later time. ">triggerAsyncUpdate()</a> will result in the message thread calling <a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578" title="Called back to do whatever your class needs to do. ">handleAsyncUpdate()</a> as soon as it can. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a5cb530c31e68d13bbdf078ed54911e0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cb530c31e68d13bbdf078ed54911e0c">&sect;&nbsp;</a></span>AsyncUpdater()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AsyncUpdater::AsyncUpdater </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates an <a class="el" href="classAsyncUpdater.html" title="Has a callback method that is triggered asynchronously. ">AsyncUpdater</a> object. </p>

</div>
</div>
<a id="af28a6da5c2adf73e2c18286574939d4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af28a6da5c2adf73e2c18286574939d4b">&sect;&nbsp;</a></span>~AsyncUpdater()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual AsyncUpdater::~AsyncUpdater </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>
<p>If there are any pending callbacks when the object is deleted, these are lost. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a4eece806c6ba9f591382fed54c5983b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4eece806c6ba9f591382fed54c5983b2">&sect;&nbsp;</a></span>triggerAsyncUpdate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AsyncUpdater::triggerAsyncUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Causes the callback to be triggered at a later time. </p>
<p>This method returns immediately, having made sure that a callback to the <a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578" title="Called back to do whatever your class needs to do. ">handleAsyncUpdate()</a> method will occur as soon as possible.</p>
<p>If an update callback is already pending but hasn't happened yet, calls to this method will be ignored.</p>
<p>It's thread-safe to call this method from any number of threads without needing to worry about locking. </p>

</div>
</div>
<a id="a2e71a3b3172abca3567d2d2b75564323"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e71a3b3172abca3567d2d2b75564323">&sect;&nbsp;</a></span>cancelPendingUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void AsyncUpdater::cancelPendingUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will stop any pending updates from happening. </p>
<p>If called after <a class="el" href="classAsyncUpdater.html#a4eece806c6ba9f591382fed54c5983b2" title="Causes the callback to be triggered at a later time. ">triggerAsyncUpdate()</a> and before the <a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578" title="Called back to do whatever your class needs to do. ">handleAsyncUpdate()</a> callback happens, this will cancel the <a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578" title="Called back to do whatever your class needs to do. ">handleAsyncUpdate()</a> callback.</p>
<p>Note that this method simply cancels the next callback - if a callback is already in progress on a different thread, this won't block until the callback finishes, so there's no guarantee that the callback isn't still running when the method returns. </p>

</div>
</div>
<a id="a5f65e2ad091e96ce4e3979d2b701bc85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f65e2ad091e96ce4e3979d2b701bc85">&sect;&nbsp;</a></span>handleUpdateNowIfNeeded()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AsyncUpdater::handleUpdateNowIfNeeded </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If an update has been triggered and is pending, this will invoke it synchronously. </p>
<p>Use this as a kind of "flush" operation - if an update is pending, the <a class="el" href="classAsyncUpdater.html#a446f3af793131f8772329f1f8b526578" title="Called back to do whatever your class needs to do. ">handleAsyncUpdate()</a> method will be called immediately; if no update is pending, then nothing will be done.</p>
<p>Because this may invoke the callback, this method must only be called on the main event thread. </p>

</div>
</div>
<a id="a93c63f13659fc5acd41c3ec9b252bf01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93c63f13659fc5acd41c3ec9b252bf01">&sect;&nbsp;</a></span>isUpdatePending()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool AsyncUpdater::isUpdatePending </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true if there's an update callback in the pipeline. </p>

</div>
</div>
<a id="a446f3af793131f8772329f1f8b526578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a446f3af793131f8772329f1f8b526578">&sect;&nbsp;</a></span>handleAsyncUpdate()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void AsyncUpdater::handleAsyncUpdate </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called back to do whatever your class needs to do. </p>
<p>This method is called by the message thread at the next convenient time after the <a class="el" href="classAsyncUpdater.html#a4eece806c6ba9f591382fed54c5983b2" title="Causes the callback to be triggered at a later time. ">triggerAsyncUpdate()</a> method has been called. </p>

<p>Implemented in <a class="el" href="classComboBox.html#a773b7375c6a370db67ed6fd16b4535a7">ComboBox</a>, <a class="el" href="classMenuBarModel.html#a0dddd32a4b5bd42c1313751bb13f882e">MenuBarModel</a>, and <a class="el" href="classModalComponentManager.html#a47d303fb64f3ae02deb986d58bfeb893">ModalComponentManager</a>.</p>

<p>Referenced by <a class="el" href="classApplicationCommandManager.html#a5fea4f129e149062866c0313b29ba976">ApplicationCommandManager::getKeyMappings()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="juce__AsyncUpdater_8h.html">juce_AsyncUpdater.h</a></li>
</ul>
</div><!-- contents -->
<hr class="footer"/>
<address class="footer"><small>All content &copy ROLI Ltd.</small></address><br/>
</body>
</html>