shaka-packager/docs/dc/df0/classshaka_1_1media_1_1Clos...

188 lines
11 KiB
HTML

<!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.6"/>
<title>DASH Media Packaging SDK: shaka::media::ClosureThread 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/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
<div id="projectname">DASH Media Packaging SDK
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="../../index.html"><span>Main&#160;Page</span></a></li>
<li><a href="../../namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="../../annotated.html"><span>Classes</span></a></li>
<li><a href="../../files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="../../search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="../../search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="../../annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="../../classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="../../hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="../../functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="../../d8/daf/namespaceshaka.html">shaka</a></li><li class="navelem"><b>media</b></li><li class="navelem"><a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="../../d9/d81/classshaka_1_1media_1_1ClosureThread-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">shaka::media::ClosureThread Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="../../dc/df8/closure__thread_8h_source.html">closure_thread.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for shaka::media::ClosureThread:</div>
<div class="dyncontent">
<div class="center">
<img src="../../dc/df0/classshaka_1_1media_1_1ClosureThread.png" usemap="#shaka::media::ClosureThread_map" alt=""/>
<map id="shaka::media::ClosureThread_map" name="shaka::media::ClosureThread_map">
</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:a480ff10ca3ff9de7f9ed9582d305281f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html#a480ff10ca3ff9de7f9ed9582d305281f">ClosureThread</a> (const std::string &amp;name_prefix, const base::Closure &amp;task)</td></tr>
<tr class="separator:a480ff10ca3ff9de7f9ed9582d305281f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811ad9bb9367c0ff74093c4a337d1398"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a811ad9bb9367c0ff74093c4a337d1398"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html#a811ad9bb9367c0ff74093c4a337d1398">~ClosureThread</a> () override</td></tr>
<tr class="memdesc:a811ad9bb9367c0ff74093c4a337d1398"><td class="mdescLeft">&#160;</td><td class="mdescRight">The destructor calls Join automatically if it is not yet joined. <br/></td></tr>
<tr class="separator:a811ad9bb9367c0ff74093c4a337d1398"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a2c95d317c0b83b66ac7991c3506dc4e7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c95d317c0b83b66ac7991c3506dc4e7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html#a2c95d317c0b83b66ac7991c3506dc4e7">Run</a> () override</td></tr>
<tr class="memdesc:a2c95d317c0b83b66ac7991c3506dc4e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">SimpleThread implementation overrides. <br/></td></tr>
<tr class="separator:a2c95d317c0b83b66ac7991c3506dc4e7"><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>Class for creating a thread which invokes a closure. Start() starts the thread and invokes the given closure inside the thread.</p>
<p>NOTE: It is invalid to destroy a <a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a> without Start() having been called (and a thread never created).</p>
<p>Thread Safety: A <a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a> is not completely thread safe. It is safe to access it from the creating thread or from the newly created thread. This implies that the creator thread should be the thread that calls Join. </p>
<p>Definition at line <a class="el" href="../../dc/df8/closure__thread_8h_source.html#l00025">25</a> of file <a class="el" href="../../dc/df8/closure__thread_8h_source.html">closure_thread.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a480ff10ca3ff9de7f9ed9582d305281f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">shaka::media::ClosureThread::ClosureThread </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>name_prefix</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const base::Closure &amp;&#160;</td>
<td class="paramname"><em>task</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create a <a class="el" href="../../dc/df0/classshaka_1_1media_1_1ClosureThread.html">ClosureThread</a>. The thread will not be created until Start() is called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">name_prefix</td><td>is the thread name prefix. Every thread has a name, in the form of <em>name_prefix/TID</em>, for example "my_thread/321". </td></tr>
<tr><td class="paramname">task</td><td>is the Closure to run in the thread. </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="../../dc/d7b/closure__thread_8cc_source.html#l00012">12</a> of file <a class="el" href="../../dc/d7b/closure__thread_8cc_source.html">closure_thread.cc</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>media/base/<a class="el" href="../../dc/df8/closure__thread_8h_source.html">closure_thread.h</a></li>
<li>media/base/<a class="el" href="../../dc/d7b/closure__thread_8cc_source.html">closure_thread.cc</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jun 23 2016 17:58:16 for DASH Media Packaging SDK by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>