mojo_core.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. /**
  2. * @fileoverview Closure definitions of Mojo core IDL objects only.
  3. */
  4. const Mojo = {};
  5. /**
  6. * @param {string} name
  7. * @param {MojoHandle} handle
  8. * @param {string=} scope
  9. */
  10. Mojo.bindInterface = function(name, handle, scope) {};
  11. /** @typedef {number} */
  12. let MojoResult;
  13. /** @type {!MojoResult} */
  14. Mojo.RESULT_OK;
  15. /** @type {!MojoResult} */
  16. Mojo.RESULT_CANCELLED;
  17. /** @type {!MojoResult} */
  18. Mojo.RESULT_FAILED_PRECONDITION;
  19. /** @type {!MojoResult} */
  20. Mojo.RESULT_SHOULD_WAIT;
  21. /**
  22. * @typedef {{
  23. * result: MojoResult,
  24. * buffer: !ArrayBuffer,
  25. * handles: !Array<MojoHandle>
  26. * }}
  27. */
  28. let MojoReadMessageResult;
  29. class MojoWatcher {
  30. /** @return {MojoResult} */
  31. cancel() {}
  32. }
  33. /**
  34. * @typedef {{
  35. * readable: (?boolean|undefined),
  36. * writable: (?boolean|undefined),
  37. * peerClosed: (?boolean|undefined)
  38. * }}
  39. */
  40. let MojoHandleSignals;
  41. class MojoHandle {
  42. close() {}
  43. /**
  44. * @return {!MojoReadMessageResult}
  45. */
  46. readMessage() {}
  47. /**
  48. * @param {!ArrayBuffer} buffer
  49. * @param {!Array<MojoHandle>} handles
  50. * @return {MojoResult}
  51. */
  52. writeMessage(buffer, handles) {}
  53. /**
  54. * @param {!MojoHandleSignals} signals
  55. * @param {function(MojoResult)} handler
  56. * @return {!MojoWatcher}
  57. */
  58. watch(signals, handler) {}
  59. };
  60. /**
  61. * @typedef {{
  62. * result: !MojoResult,
  63. * handle0: !MojoHandle,
  64. * handle1: !MojoHandle,
  65. * }}
  66. */
  67. let MojoCreateMessagePipeResult;
  68. /**
  69. * @return {!MojoCreateMessagePipeResult}
  70. */
  71. Mojo.createMessagePipe = function() {}