Mono.Terminal.MainLoop.html 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. <!DOCTYPE html>
  2. <!--[if IE]><![endif]-->
  3. <html>
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  7. <title>Class MainLoop
  8. </title>
  9. <meta name="viewport" content="width=device-width">
  10. <meta name="title" content="Class MainLoop
  11. ">
  12. <meta name="generator" content="docfx 2.18.2.0">
  13. <link rel="shortcut icon" href="../../favicon.ico">
  14. <link rel="stylesheet" href="../../styles/docfx.vendor.css">
  15. <link rel="stylesheet" href="../../styles/docfx.css">
  16. <link rel="stylesheet" href="../../styles/main.css">
  17. <meta property="docfx:navrel" content="">
  18. <meta property="docfx:tocrel" content="../toc.html">
  19. </head>
  20. <body data-spy="scroll" data-target="#affix">
  21. <div id="wrapper">
  22. <header>
  23. <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
  24. <div class="container">
  25. <div class="navbar-header">
  26. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
  27. <span class="sr-only">Toggle navigation</span>
  28. <span class="icon-bar"></span>
  29. <span class="icon-bar"></span>
  30. <span class="icon-bar"></span>
  31. </button>
  32. <a class="navbar-brand" href="../../index.html">
  33. <img id="logo" class="svg" src="../../logo.svg" alt="">
  34. </a>
  35. </div>
  36. <div class="collapse navbar-collapse" id="navbar">
  37. <form class="navbar-form navbar-right" role="search" id="search">
  38. <div class="form-group">
  39. <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
  40. </div>
  41. </form>
  42. </div>
  43. </div>
  44. </nav>
  45. <div class="subnav navbar navbar-default">
  46. <div class="container hide-when-search" id="breadcrumb">
  47. <ul class="breadcrumb">
  48. <li></li>
  49. </ul>
  50. </div>
  51. </div>
  52. </header>
  53. <div role="main" class="container body-content hide-when-search">
  54. <div class="sidenav hide-when-search">
  55. <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
  56. <div class="sidetoggle collapse" id="sidetoggle">
  57. <div id="sidetoc"></div>
  58. </div>
  59. </div>
  60. <div class="article row grid-right">
  61. <div class="col-md-10">
  62. <article class="content wrap" id="_content" data-uid="Mono.Terminal.MainLoop">
  63. <h1 id="Mono_Terminal_MainLoop" data-uid="Mono.Terminal.MainLoop">Class MainLoop
  64. </h1>
  65. <div class="markdown level0 summary"><p>Simple main loop implementation that can be used to monitor
  66. file descriptor, run timers and idle handlers.</p>
  67. </div>
  68. <div class="markdown level0 conceptual"></div>
  69. <div class="inheritance">
  70. <h5>Inheritance</h5>
  71. <div class="level0"><span class="xref">System.Object</span></div>
  72. <div class="level1"><span class="xref">MainLoop</span></div>
  73. </div>
  74. <h6><strong>Namespace</strong>: <a class="xref" href="../Mono.Terminal.html">Mono.Terminal</a></h6>
  75. <h6><strong>Assembly</strong>: Terminal.Gui.dll</h6>
  76. <h5 id="Mono_Terminal_MainLoop_syntax">Syntax</h5>
  77. <div class="codewrapper">
  78. <pre><code class="lang-csharp hljs">public class MainLoop</code></pre>
  79. </div>
  80. <h5 id="Mono_Terminal_MainLoop_remarks"><strong>Remarks</strong></h5>
  81. <div class="markdown level0 remarks"><p>Monitoring of file descriptors is only available on Unix, there
  82. does not seem to be a way of supporting this on Windows.</p>
  83. </div>
  84. <h3 id="constructors">Constructors
  85. </h3>
  86. <a id="Mono_Terminal_MainLoop__ctor_" data-uid="Mono.Terminal.MainLoop.#ctor*"></a>
  87. <h4 id="Mono_Terminal_MainLoop__ctor" data-uid="Mono.Terminal.MainLoop.#ctor">MainLoop()</h4>
  88. <div class="markdown level1 summary"><p>Default constructor</p>
  89. </div>
  90. <div class="markdown level1 conceptual"></div>
  91. <h5 class="decalaration">Declaration</h5>
  92. <div class="codewrapper">
  93. <pre><code class="lang-csharp hljs">public MainLoop ();</code></pre>
  94. </div>
  95. <h3 id="methods">Methods
  96. </h3>
  97. <a id="Mono_Terminal_MainLoop_AddIdle_" data-uid="Mono.Terminal.MainLoop.AddIdle*"></a>
  98. <h4 id="Mono_Terminal_MainLoop_AddIdle_System_Func_System_Boolean__" data-uid="Mono.Terminal.MainLoop.AddIdle(System.Func{System.Boolean})">AddIdle(Func&lt;Boolean&gt;)</h4>
  99. <div class="markdown level1 summary"><p>Executes the specified @idleHandler on the idle loop. The return value is a token to remove it.</p>
  100. </div>
  101. <div class="markdown level1 conceptual"></div>
  102. <h5 class="decalaration">Declaration</h5>
  103. <div class="codewrapper">
  104. <pre><code class="lang-csharp hljs">public Func&lt;bool&gt; AddIdle (Func&lt;bool&gt; idleHandler);</code></pre>
  105. </div>
  106. <h5 class="parameters">Parameters</h5>
  107. <table class="table table-bordered table-striped table-condensed">
  108. <thead>
  109. <tr>
  110. <th>Type</th>
  111. <th>Name</th>
  112. <th>Description</th>
  113. </tr>
  114. </thead>
  115. <tbody>
  116. <tr>
  117. <td><span class="xref">System.Func</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
  118. <td><span class="parametername">idleHandler</span></td>
  119. <td><p>To be added.</p>
  120. </td>
  121. </tr>
  122. </tbody>
  123. </table>
  124. <h5 class="returns">Returns</h5>
  125. <table class="table table-bordered table-striped table-condensed">
  126. <thead>
  127. <tr>
  128. <th>Type</th>
  129. <th>Description</th>
  130. </tr>
  131. </thead>
  132. <tbody>
  133. <tr>
  134. <td><span class="xref">System.Func</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
  135. <td><p>To be added.</p>
  136. </td>
  137. </tr>
  138. </tbody>
  139. </table>
  140. <a id="Mono_Terminal_MainLoop_AddTimeout_" data-uid="Mono.Terminal.MainLoop.AddTimeout*"></a>
  141. <h4 id="Mono_Terminal_MainLoop_AddTimeout_System_TimeSpan_System_Func_Mono_Terminal_MainLoop_System_Boolean__" data-uid="Mono.Terminal.MainLoop.AddTimeout(System.TimeSpan,System.Func{Mono.Terminal.MainLoop,System.Boolean})">AddTimeout(TimeSpan, Func&lt;MainLoop,Boolean&gt;)</h4>
  142. <div class="markdown level1 summary"><p>Adds a timeout to the mainloop.</p>
  143. </div>
  144. <div class="markdown level1 conceptual"></div>
  145. <h5 class="decalaration">Declaration</h5>
  146. <div class="codewrapper">
  147. <pre><code class="lang-csharp hljs">public object AddTimeout (TimeSpan time, Func&lt;Mono.Terminal.MainLoop,bool&gt; callback);</code></pre>
  148. </div>
  149. <h5 class="parameters">Parameters</h5>
  150. <table class="table table-bordered table-striped table-condensed">
  151. <thead>
  152. <tr>
  153. <th>Type</th>
  154. <th>Name</th>
  155. <th>Description</th>
  156. </tr>
  157. </thead>
  158. <tbody>
  159. <tr>
  160. <td><span class="xref">System.TimeSpan</span></td>
  161. <td><span class="parametername">time</span></td>
  162. <td><p>To be added.</p>
  163. </td>
  164. </tr>
  165. <tr>
  166. <td><span class="xref">System.Func</span>&lt;<a class="xref" href="Mono.Terminal.MainLoop.html">MainLoop</a>,<span class="xref">System.Boolean</span>&gt;</td>
  167. <td><span class="parametername">callback</span></td>
  168. <td><p>To be added.</p>
  169. </td>
  170. </tr>
  171. </tbody>
  172. </table>
  173. <h5 class="returns">Returns</h5>
  174. <table class="table table-bordered table-striped table-condensed">
  175. <thead>
  176. <tr>
  177. <th>Type</th>
  178. <th>Description</th>
  179. </tr>
  180. </thead>
  181. <tbody>
  182. <tr>
  183. <td><span class="xref">System.Object</span></td>
  184. <td><p>To be added.</p>
  185. </td>
  186. </tr>
  187. </tbody>
  188. </table>
  189. <h5 id="Mono_Terminal_MainLoop_AddTimeout_System_TimeSpan_System_Func_Mono_Terminal_MainLoop_System_Boolean___remarks">Remarks</h5>
  190. <div class="markdown level1 remarks"><p>When time time specified passes, the callback will be invoked.
  191. If the callback returns true, the timeout will be reset, repeating
  192. the invocation. If it returns false, the timeout will stop.</p>
  193. <pre><code> The returned value is a token that can be used to stop the timeout
  194. by calling RemoveTimeout.
  195. </code></pre></div>
  196. <a id="Mono_Terminal_MainLoop_AddWatch_" data-uid="Mono.Terminal.MainLoop.AddWatch*"></a>
  197. <h4 id="Mono_Terminal_MainLoop_AddWatch_System_Int32_Mono_Terminal_MainLoop_Condition_System_Func_Mono_Terminal_MainLoop_System_Boolean__" data-uid="Mono.Terminal.MainLoop.AddWatch(System.Int32,Mono.Terminal.MainLoop.Condition,System.Func{Mono.Terminal.MainLoop,System.Boolean})">AddWatch(Int32, MainLoop+Condition, Func&lt;MainLoop,Boolean&gt;)</h4>
  198. <div class="markdown level1 summary"><p>Watches a file descriptor for activity.</p>
  199. </div>
  200. <div class="markdown level1 conceptual"></div>
  201. <h5 class="decalaration">Declaration</h5>
  202. <div class="codewrapper">
  203. <pre><code class="lang-csharp hljs">public object AddWatch (int fileDescriptor, Mono.Terminal.MainLoop.Condition condition, Func&lt;Mono.Terminal.MainLoop,bool&gt; callback);</code></pre>
  204. </div>
  205. <h5 class="parameters">Parameters</h5>
  206. <table class="table table-bordered table-striped table-condensed">
  207. <thead>
  208. <tr>
  209. <th>Type</th>
  210. <th>Name</th>
  211. <th>Description</th>
  212. </tr>
  213. </thead>
  214. <tbody>
  215. <tr>
  216. <td><span class="xref">System.Int32</span></td>
  217. <td><span class="parametername">fileDescriptor</span></td>
  218. <td><p>To be added.</p>
  219. </td>
  220. </tr>
  221. <tr>
  222. <td></td>
  223. <td><span class="parametername">condition</span></td>
  224. <td><p>To be added.</p>
  225. </td>
  226. </tr>
  227. <tr>
  228. <td><span class="xref">System.Func</span>&lt;<a class="xref" href="Mono.Terminal.MainLoop.html">MainLoop</a>,<span class="xref">System.Boolean</span>&gt;</td>
  229. <td><span class="parametername">callback</span></td>
  230. <td><p>To be added.</p>
  231. </td>
  232. </tr>
  233. </tbody>
  234. </table>
  235. <h5 class="returns">Returns</h5>
  236. <table class="table table-bordered table-striped table-condensed">
  237. <thead>
  238. <tr>
  239. <th>Type</th>
  240. <th>Description</th>
  241. </tr>
  242. </thead>
  243. <tbody>
  244. <tr>
  245. <td><span class="xref">System.Object</span></td>
  246. <td><p>To be added.</p>
  247. </td>
  248. </tr>
  249. </tbody>
  250. </table>
  251. <h5 id="Mono_Terminal_MainLoop_AddWatch_System_Int32_Mono_Terminal_MainLoop_Condition_System_Func_Mono_Terminal_MainLoop_System_Boolean___remarks">Remarks</h5>
  252. <div class="markdown level1 remarks"><p>When the condition is met, the provided callback
  253. is invoked. If the callback returns false, the
  254. watch is automatically removed.</p>
  255. <pre><code> The return value is a token that represents this watch, you can
  256. use this token to remove the watch by calling RemoveWatch.
  257. </code></pre></div>
  258. <a id="Mono_Terminal_MainLoop_EventsPending_" data-uid="Mono.Terminal.MainLoop.EventsPending*"></a>
  259. <h4 id="Mono_Terminal_MainLoop_EventsPending_System_Boolean_" data-uid="Mono.Terminal.MainLoop.EventsPending(System.Boolean)">EventsPending(Boolean)</h4>
  260. <div class="markdown level1 summary"><p>Determines whether there are pending events to be processed.</p>
  261. </div>
  262. <div class="markdown level1 conceptual"></div>
  263. <h5 class="decalaration">Declaration</h5>
  264. <div class="codewrapper">
  265. <pre><code class="lang-csharp hljs">public bool EventsPending (bool wait = false);</code></pre>
  266. </div>
  267. <h5 class="parameters">Parameters</h5>
  268. <table class="table table-bordered table-striped table-condensed">
  269. <thead>
  270. <tr>
  271. <th>Type</th>
  272. <th>Name</th>
  273. <th>Description</th>
  274. </tr>
  275. </thead>
  276. <tbody>
  277. <tr>
  278. <td><span class="xref">System.Boolean</span></td>
  279. <td><span class="parametername">wait</span></td>
  280. <td><p>To be added.</p>
  281. </td>
  282. </tr>
  283. </tbody>
  284. </table>
  285. <h5 class="returns">Returns</h5>
  286. <table class="table table-bordered table-striped table-condensed">
  287. <thead>
  288. <tr>
  289. <th>Type</th>
  290. <th>Description</th>
  291. </tr>
  292. </thead>
  293. <tbody>
  294. <tr>
  295. <td><span class="xref">System.Boolean</span></td>
  296. <td><p>To be added.</p>
  297. </td>
  298. </tr>
  299. </tbody>
  300. </table>
  301. <h5 id="Mono_Terminal_MainLoop_EventsPending_System_Boolean__remarks">Remarks</h5>
  302. <div class="markdown level1 remarks"><p>You can use this method if you want to probe if events are pending.
  303. Typically used if you need to flush the input queue while still
  304. running some of your own code in your main thread.</p>
  305. </div>
  306. <a id="Mono_Terminal_MainLoop_Invoke_" data-uid="Mono.Terminal.MainLoop.Invoke*"></a>
  307. <h4 id="Mono_Terminal_MainLoop_Invoke_System_Action_" data-uid="Mono.Terminal.MainLoop.Invoke(System.Action)">Invoke(Action)</h4>
  308. <div class="markdown level1 summary"><p>Runs @action on the thread that is processing events</p>
  309. </div>
  310. <div class="markdown level1 conceptual"></div>
  311. <h5 class="decalaration">Declaration</h5>
  312. <div class="codewrapper">
  313. <pre><code class="lang-csharp hljs">public void Invoke (Action action);</code></pre>
  314. </div>
  315. <h5 class="parameters">Parameters</h5>
  316. <table class="table table-bordered table-striped table-condensed">
  317. <thead>
  318. <tr>
  319. <th>Type</th>
  320. <th>Name</th>
  321. <th>Description</th>
  322. </tr>
  323. </thead>
  324. <tbody>
  325. <tr>
  326. <td><span class="xref">System.Action</span></td>
  327. <td><span class="parametername">action</span></td>
  328. <td><p>To be added.</p>
  329. </td>
  330. </tr>
  331. </tbody>
  332. </table>
  333. <a id="Mono_Terminal_MainLoop_MainIteration_" data-uid="Mono.Terminal.MainLoop.MainIteration*"></a>
  334. <h4 id="Mono_Terminal_MainLoop_MainIteration" data-uid="Mono.Terminal.MainLoop.MainIteration">MainIteration()</h4>
  335. <div class="markdown level1 summary"><p>Runs one iteration of timers and file watches</p>
  336. </div>
  337. <div class="markdown level1 conceptual"></div>
  338. <h5 class="decalaration">Declaration</h5>
  339. <div class="codewrapper">
  340. <pre><code class="lang-csharp hljs">public void MainIteration ();</code></pre>
  341. </div>
  342. <h5 id="Mono_Terminal_MainLoop_MainIteration_remarks">Remarks</h5>
  343. <div class="markdown level1 remarks"><p>You use this to process all pending events (timers, idle handlers and file watches).</p>
  344. <pre><code> You can use it like this:
  345. while (main.EvensPending ()) MainIteration ();
  346. </code></pre></div>
  347. <a id="Mono_Terminal_MainLoop_RemoveIdle_" data-uid="Mono.Terminal.MainLoop.RemoveIdle*"></a>
  348. <h4 id="Mono_Terminal_MainLoop_RemoveIdle_System_Func_System_Boolean__" data-uid="Mono.Terminal.MainLoop.RemoveIdle(System.Func{System.Boolean})">RemoveIdle(Func&lt;Boolean&gt;)</h4>
  349. <div class="markdown level1 summary"><p>Removes the specified idleHandler from processing.</p>
  350. </div>
  351. <div class="markdown level1 conceptual"></div>
  352. <h5 class="decalaration">Declaration</h5>
  353. <div class="codewrapper">
  354. <pre><code class="lang-csharp hljs">public void RemoveIdle (Func&lt;bool&gt; idleHandler);</code></pre>
  355. </div>
  356. <h5 class="parameters">Parameters</h5>
  357. <table class="table table-bordered table-striped table-condensed">
  358. <thead>
  359. <tr>
  360. <th>Type</th>
  361. <th>Name</th>
  362. <th>Description</th>
  363. </tr>
  364. </thead>
  365. <tbody>
  366. <tr>
  367. <td><span class="xref">System.Func</span>&lt;<span class="xref">System.Boolean</span>&gt;</td>
  368. <td><span class="parametername">idleHandler</span></td>
  369. <td><p>To be added.</p>
  370. </td>
  371. </tr>
  372. </tbody>
  373. </table>
  374. <a id="Mono_Terminal_MainLoop_RemoveTimeout_" data-uid="Mono.Terminal.MainLoop.RemoveTimeout*"></a>
  375. <h4 id="Mono_Terminal_MainLoop_RemoveTimeout_System_Object_" data-uid="Mono.Terminal.MainLoop.RemoveTimeout(System.Object)">RemoveTimeout(Object)</h4>
  376. <div class="markdown level1 summary"><p>Removes a previously scheduled timeout</p>
  377. </div>
  378. <div class="markdown level1 conceptual"></div>
  379. <h5 class="decalaration">Declaration</h5>
  380. <div class="codewrapper">
  381. <pre><code class="lang-csharp hljs">public void RemoveTimeout (object token);</code></pre>
  382. </div>
  383. <h5 class="parameters">Parameters</h5>
  384. <table class="table table-bordered table-striped table-condensed">
  385. <thead>
  386. <tr>
  387. <th>Type</th>
  388. <th>Name</th>
  389. <th>Description</th>
  390. </tr>
  391. </thead>
  392. <tbody>
  393. <tr>
  394. <td><span class="xref">System.Object</span></td>
  395. <td><span class="parametername">token</span></td>
  396. <td><p>To be added.</p>
  397. </td>
  398. </tr>
  399. </tbody>
  400. </table>
  401. <h5 id="Mono_Terminal_MainLoop_RemoveTimeout_System_Object__remarks">Remarks</h5>
  402. <div class="markdown level1 remarks"><p>The token parameter is the value returned by AddTimeout.</p>
  403. </div>
  404. <a id="Mono_Terminal_MainLoop_RemoveWatch_" data-uid="Mono.Terminal.MainLoop.RemoveWatch*"></a>
  405. <h4 id="Mono_Terminal_MainLoop_RemoveWatch_System_Object_" data-uid="Mono.Terminal.MainLoop.RemoveWatch(System.Object)">RemoveWatch(Object)</h4>
  406. <div class="markdown level1 summary"><p>Removes an active watch from the mainloop.</p>
  407. </div>
  408. <div class="markdown level1 conceptual"></div>
  409. <h5 class="decalaration">Declaration</h5>
  410. <div class="codewrapper">
  411. <pre><code class="lang-csharp hljs">public void RemoveWatch (object token);</code></pre>
  412. </div>
  413. <h5 class="parameters">Parameters</h5>
  414. <table class="table table-bordered table-striped table-condensed">
  415. <thead>
  416. <tr>
  417. <th>Type</th>
  418. <th>Name</th>
  419. <th>Description</th>
  420. </tr>
  421. </thead>
  422. <tbody>
  423. <tr>
  424. <td><span class="xref">System.Object</span></td>
  425. <td><span class="parametername">token</span></td>
  426. <td><p>To be added.</p>
  427. </td>
  428. </tr>
  429. </tbody>
  430. </table>
  431. <h5 id="Mono_Terminal_MainLoop_RemoveWatch_System_Object__remarks">Remarks</h5>
  432. <div class="markdown level1 remarks"><p>The token parameter is the value returned from AddWatch</p>
  433. </div>
  434. <a id="Mono_Terminal_MainLoop_Run_" data-uid="Mono.Terminal.MainLoop.Run*"></a>
  435. <h4 id="Mono_Terminal_MainLoop_Run" data-uid="Mono.Terminal.MainLoop.Run">Run()</h4>
  436. <div class="markdown level1 summary"><p>Runs the mainloop.</p>
  437. </div>
  438. <div class="markdown level1 conceptual"></div>
  439. <h5 class="decalaration">Declaration</h5>
  440. <div class="codewrapper">
  441. <pre><code class="lang-csharp hljs">public void Run ();</code></pre>
  442. </div>
  443. <a id="Mono_Terminal_MainLoop_Stop_" data-uid="Mono.Terminal.MainLoop.Stop*"></a>
  444. <h4 id="Mono_Terminal_MainLoop_Stop" data-uid="Mono.Terminal.MainLoop.Stop">Stop()</h4>
  445. <div class="markdown level1 summary"><p>Stops the mainloop.</p>
  446. </div>
  447. <div class="markdown level1 conceptual"></div>
  448. <h5 class="decalaration">Declaration</h5>
  449. <div class="codewrapper">
  450. <pre><code class="lang-csharp hljs">public void Stop ();</code></pre>
  451. </div>
  452. </article>
  453. </div>
  454. <div class="hidden-sm col-md-2" role="complementary">
  455. <div class="sideaffix">
  456. <div class="contribution">
  457. <ul class="nav">
  458. </ul>
  459. </div>
  460. <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
  461. <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
  462. </nav>
  463. </div>
  464. </div>
  465. </div>
  466. </div>
  467. <footer>
  468. <div class="grad-bottom"></div>
  469. <div class="footer">
  470. <div class="container">
  471. <span class="pull-right">
  472. <a href="#top">Back to top</a>
  473. </span>
  474. <span>Copyright © 2015-2017 Microsoft<br>Generated by <strong>DocFX</strong></span>
  475. </div>
  476. </div>
  477. </footer>
  478. </div>
  479. <script type="text/javascript" src="../../styles/docfx.vendor.js"></script>
  480. <script type="text/javascript" src="../../styles/docfx.js"></script>
  481. <script type="text/javascript" src="../../styles/main.js"></script>
  482. </body>
  483. </html>