MainLoop.xml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. <Type Name="MainLoop" FullName="Mono.Terminal.MainLoop">
  2. <TypeSignature Language="C#" Value="public class MainLoop" />
  3. <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MainLoop extends System.Object" />
  4. <AssemblyInfo>
  5. <AssemblyName>Terminal.Gui</AssemblyName>
  6. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  7. </AssemblyInfo>
  8. <Base>
  9. <BaseTypeName>System.Object</BaseTypeName>
  10. </Base>
  11. <Interfaces />
  12. <Docs>
  13. <summary>
  14. Simple main loop implementation that can be used to monitor
  15. file descriptor, run timers and idle handlers.
  16. </summary>
  17. <remarks>
  18. Monitoring of file descriptors is only available on Unix, there
  19. does not seem to be a way of supporting this on Windows.
  20. </remarks>
  21. </Docs>
  22. <Members>
  23. <Member MemberName=".ctor">
  24. <MemberSignature Language="C#" Value="public MainLoop ();" />
  25. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
  26. <MemberType>Constructor</MemberType>
  27. <AssemblyInfo>
  28. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  29. </AssemblyInfo>
  30. <Parameters />
  31. <Docs>
  32. <summary>
  33. Default constructor
  34. </summary>
  35. <remarks>To be added.</remarks>
  36. </Docs>
  37. </Member>
  38. <Member MemberName=".ctor">
  39. <MemberSignature Language="C#" Value="public MainLoop (bool useUnix);" />
  40. <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(bool useUnix) cil managed" />
  41. <MemberType>Constructor</MemberType>
  42. <AssemblyInfo>
  43. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  44. </AssemblyInfo>
  45. <Parameters>
  46. <Parameter Name="useUnix" Type="System.Boolean" />
  47. </Parameters>
  48. <Docs>
  49. <param name="useUnix">To be added.</param>
  50. <summary>To be added.</summary>
  51. <remarks>To be added.</remarks>
  52. </Docs>
  53. </Member>
  54. <Member MemberName="AddIdle">
  55. <MemberSignature Language="C#" Value="public Func&lt;bool&gt; AddIdle (Func&lt;bool&gt; idleHandler);" />
  56. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`1&lt;bool&gt; AddIdle(class System.Func`1&lt;bool&gt; idleHandler) cil managed" />
  57. <MemberType>Method</MemberType>
  58. <AssemblyInfo>
  59. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  60. </AssemblyInfo>
  61. <ReturnValue>
  62. <ReturnType>System.Func&lt;System.Boolean&gt;</ReturnType>
  63. </ReturnValue>
  64. <Parameters>
  65. <Parameter Name="idleHandler" Type="System.Func&lt;System.Boolean&gt;" />
  66. </Parameters>
  67. <Docs>
  68. <param name="idleHandler">To be added.</param>
  69. <summary>
  70. Executes the specified @idleHandler on the idle loop. The return value is a token to remove it.
  71. </summary>
  72. <returns>To be added.</returns>
  73. <remarks>To be added.</remarks>
  74. </Docs>
  75. </Member>
  76. <Member MemberName="AddTimeout">
  77. <MemberSignature Language="C#" Value="public object AddTimeout (TimeSpan time, Func&lt;Mono.Terminal.MainLoop,bool&gt; callback);" />
  78. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object AddTimeout(valuetype System.TimeSpan time, class System.Func`2&lt;class Mono.Terminal.MainLoop, bool&gt; callback) cil managed" />
  79. <MemberType>Method</MemberType>
  80. <AssemblyInfo>
  81. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  82. </AssemblyInfo>
  83. <ReturnValue>
  84. <ReturnType>System.Object</ReturnType>
  85. </ReturnValue>
  86. <Parameters>
  87. <Parameter Name="time" Type="System.TimeSpan" />
  88. <Parameter Name="callback" Type="System.Func&lt;Mono.Terminal.MainLoop,System.Boolean&gt;" />
  89. </Parameters>
  90. <Docs>
  91. <param name="time">To be added.</param>
  92. <param name="callback">To be added.</param>
  93. <summary>
  94. Adds a timeout to the mainloop.
  95. </summary>
  96. <returns>To be added.</returns>
  97. <remarks>
  98. When time time specified passes, the callback will be invoked.
  99. If the callback returns true, the timeout will be reset, repeating
  100. the invocation. If it returns false, the timeout will stop.
  101. The returned value is a token that can be used to stop the timeout
  102. by calling RemoveTimeout.
  103. </remarks>
  104. </Docs>
  105. </Member>
  106. <Member MemberName="AddWatch">
  107. <MemberSignature Language="C#" Value="public object AddWatch (int fileDescriptor, Mono.Terminal.MainLoop.Condition condition, Func&lt;Mono.Terminal.MainLoop,bool&gt; callback);" />
  108. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object AddWatch(int32 fileDescriptor, valuetype Mono.Terminal.MainLoop/Condition condition, class System.Func`2&lt;class Mono.Terminal.MainLoop, bool&gt; callback) cil managed" />
  109. <MemberType>Method</MemberType>
  110. <AssemblyInfo>
  111. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  112. </AssemblyInfo>
  113. <ReturnValue>
  114. <ReturnType>System.Object</ReturnType>
  115. </ReturnValue>
  116. <Parameters>
  117. <Parameter Name="fileDescriptor" Type="System.Int32" />
  118. <Parameter Name="condition" Type="Mono.Terminal.MainLoop+Condition" />
  119. <Parameter Name="callback" Type="System.Func&lt;Mono.Terminal.MainLoop,System.Boolean&gt;" />
  120. </Parameters>
  121. <Docs>
  122. <param name="fileDescriptor">To be added.</param>
  123. <param name="condition">To be added.</param>
  124. <param name="callback">To be added.</param>
  125. <summary>
  126. Watches a file descriptor for activity.
  127. </summary>
  128. <returns>To be added.</returns>
  129. <remarks>
  130. When the condition is met, the provided callback
  131. is invoked. If the callback returns false, the
  132. watch is automatically removed.
  133. The return value is a token that represents this watch, you can
  134. use this token to remove the watch by calling RemoveWatch.
  135. </remarks>
  136. </Docs>
  137. </Member>
  138. <Member MemberName="EventsPending">
  139. <MemberSignature Language="C#" Value="public bool EventsPending (bool wait = false);" />
  140. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance bool EventsPending(bool wait) cil managed" />
  141. <MemberType>Method</MemberType>
  142. <AssemblyInfo>
  143. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  144. </AssemblyInfo>
  145. <ReturnValue>
  146. <ReturnType>System.Boolean</ReturnType>
  147. </ReturnValue>
  148. <Parameters>
  149. <Parameter Name="wait" Type="System.Boolean" />
  150. </Parameters>
  151. <Docs>
  152. <param name="wait">To be added.</param>
  153. <summary>
  154. Determines whether there are pending events to be processed.
  155. </summary>
  156. <returns>To be added.</returns>
  157. <remarks>
  158. You can use this method if you want to probe if events are pending.
  159. Typically used if you need to flush the input queue while still
  160. running some of your own code in your main thread.
  161. </remarks>
  162. </Docs>
  163. </Member>
  164. <Member MemberName="Invoke">
  165. <MemberSignature Language="C#" Value="public void Invoke (Action action);" />
  166. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Invoke(class System.Action action) cil managed" />
  167. <MemberType>Method</MemberType>
  168. <AssemblyInfo>
  169. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  170. </AssemblyInfo>
  171. <ReturnValue>
  172. <ReturnType>System.Void</ReturnType>
  173. </ReturnValue>
  174. <Parameters>
  175. <Parameter Name="action" Type="System.Action" />
  176. </Parameters>
  177. <Docs>
  178. <param name="action">To be added.</param>
  179. <summary>
  180. Runs @action on the thread that is processing events
  181. </summary>
  182. <remarks>To be added.</remarks>
  183. </Docs>
  184. </Member>
  185. <Member MemberName="MainIteration">
  186. <MemberSignature Language="C#" Value="public void MainIteration ();" />
  187. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void MainIteration() cil managed" />
  188. <MemberType>Method</MemberType>
  189. <AssemblyInfo>
  190. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  191. </AssemblyInfo>
  192. <ReturnValue>
  193. <ReturnType>System.Void</ReturnType>
  194. </ReturnValue>
  195. <Parameters />
  196. <Docs>
  197. <summary>
  198. Runs one iteration of timers and file watches
  199. </summary>
  200. <remarks>
  201. You use this to process all pending events (timers, idle handlers and file watches).
  202. You can use it like this:
  203. while (main.EvensPending ()) MainIteration ();
  204. </remarks>
  205. </Docs>
  206. </Member>
  207. <Member MemberName="RemoveIdle">
  208. <MemberSignature Language="C#" Value="public void RemoveIdle (Func&lt;bool&gt; idleHandler);" />
  209. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveIdle(class System.Func`1&lt;bool&gt; idleHandler) cil managed" />
  210. <MemberType>Method</MemberType>
  211. <AssemblyInfo>
  212. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  213. </AssemblyInfo>
  214. <ReturnValue>
  215. <ReturnType>System.Void</ReturnType>
  216. </ReturnValue>
  217. <Parameters>
  218. <Parameter Name="idleHandler" Type="System.Func&lt;System.Boolean&gt;" />
  219. </Parameters>
  220. <Docs>
  221. <param name="idleHandler">To be added.</param>
  222. <summary>
  223. Removes the specified idleHandler from processing.
  224. </summary>
  225. <remarks>To be added.</remarks>
  226. </Docs>
  227. </Member>
  228. <Member MemberName="RemoveTimeout">
  229. <MemberSignature Language="C#" Value="public void RemoveTimeout (object token);" />
  230. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveTimeout(object token) cil managed" />
  231. <MemberType>Method</MemberType>
  232. <AssemblyInfo>
  233. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  234. </AssemblyInfo>
  235. <ReturnValue>
  236. <ReturnType>System.Void</ReturnType>
  237. </ReturnValue>
  238. <Parameters>
  239. <Parameter Name="token" Type="System.Object" />
  240. </Parameters>
  241. <Docs>
  242. <param name="token">To be added.</param>
  243. <summary>
  244. Removes a previously scheduled timeout
  245. </summary>
  246. <remarks>
  247. The token parameter is the value returned by AddTimeout.
  248. </remarks>
  249. </Docs>
  250. </Member>
  251. <Member MemberName="RemoveWatch">
  252. <MemberSignature Language="C#" Value="public void RemoveWatch (object token);" />
  253. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RemoveWatch(object token) cil managed" />
  254. <MemberType>Method</MemberType>
  255. <AssemblyInfo>
  256. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  257. </AssemblyInfo>
  258. <ReturnValue>
  259. <ReturnType>System.Void</ReturnType>
  260. </ReturnValue>
  261. <Parameters>
  262. <Parameter Name="token" Type="System.Object" />
  263. </Parameters>
  264. <Docs>
  265. <param name="token">To be added.</param>
  266. <summary>
  267. Removes an active watch from the mainloop.
  268. </summary>
  269. <remarks>
  270. The token parameter is the value returned from AddWatch
  271. </remarks>
  272. </Docs>
  273. </Member>
  274. <Member MemberName="Run">
  275. <MemberSignature Language="C#" Value="public void Run ();" />
  276. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Run() cil managed" />
  277. <MemberType>Method</MemberType>
  278. <AssemblyInfo>
  279. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  280. </AssemblyInfo>
  281. <ReturnValue>
  282. <ReturnType>System.Void</ReturnType>
  283. </ReturnValue>
  284. <Parameters />
  285. <Docs>
  286. <summary>
  287. Runs the mainloop.
  288. </summary>
  289. <remarks>To be added.</remarks>
  290. </Docs>
  291. </Member>
  292. <Member MemberName="Stop">
  293. <MemberSignature Language="C#" Value="public void Stop ();" />
  294. <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Stop() cil managed" />
  295. <MemberType>Method</MemberType>
  296. <AssemblyInfo>
  297. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  298. </AssemblyInfo>
  299. <ReturnValue>
  300. <ReturnType>System.Void</ReturnType>
  301. </ReturnValue>
  302. <Parameters />
  303. <Docs>
  304. <summary>
  305. Stops the mainloop.
  306. </summary>
  307. <remarks>To be added.</remarks>
  308. </Docs>
  309. </Member>
  310. <Member MemberName="WindowsKeyPressed">
  311. <MemberSignature Language="C#" Value="public Action&lt;ConsoleKeyInfo&gt; WindowsKeyPressed;" />
  312. <MemberSignature Language="ILAsm" Value=".field public class System.Action`1&lt;valuetype System.ConsoleKeyInfo&gt; WindowsKeyPressed" />
  313. <MemberType>Field</MemberType>
  314. <AssemblyInfo>
  315. <AssemblyVersion>1.0.0.0</AssemblyVersion>
  316. </AssemblyInfo>
  317. <ReturnValue>
  318. <ReturnType>System.Action&lt;System.ConsoleKeyInfo&gt;</ReturnType>
  319. </ReturnValue>
  320. <Docs>
  321. <summary>
  322. This event is raised when a key is pressed when using the Windows driver.
  323. </summary>
  324. <remarks>To be added.</remarks>
  325. </Docs>
  326. </Member>
  327. </Members>
  328. </Type>