import CommonBase from './CommonBase.mjs';
import * as bindings from '../bindings.mjs'
-import * as InternalUtils from '../InternalUtils.mjs'
+/** An implementation of MessageSendEventsProvider */
export interface MessageSendEventsProviderInterface {
+ /**Gets the list of pending events which were generated by previous actions, clearing the list
+ * in the process.
+ */
get_and_clear_pending_msg_events(): MessageSendEvent[];
}
held: MessageSendEventsProvider;
}
+/**
+ * A trait indicating an object may generate message send events
+ */
export class MessageSendEventsProvider extends CommonBase {
/* @internal */
public bindings_instance?: bindings.LDKMessageSendEventsProvider;
this.bindings_instance = null;
}
- static new_impl(arg: MessageSendEventsProviderInterface): MessageSendEventsProvider {
+ /** Creates a new instance of MessageSendEventsProvider from a given implementation */
+ public static new_impl(arg: MessageSendEventsProviderInterface): MessageSendEventsProvider {
const impl_holder: LDKMessageSendEventsProviderHolder = new LDKMessageSendEventsProviderHolder();
let structImplementation = {
- get_and_clear_pending_msg_events (): number[] {
+ get_and_clear_pending_msg_events (): number {
const ret: MessageSendEvent[] = arg.get_and_clear_pending_msg_events();
- const result: number[] = ret != null ? ret.map(ret_conv_18 => ret_conv_18 == null ? 0 : ret_conv_18.clone_ptr()) : null;
+ const result: number = bindings.encodeUint32Array(ret != null ? ret.map(ret_conv_18 => ret_conv_18 == null ? 0 : ret_conv_18.clone_ptr()) : null);
return result;
},
} as bindings.LDKMessageSendEventsProvider;
impl_holder.held.bindings_instance = structImplementation;
return impl_holder.held;
}
+
+ /**
+ * Gets the list of pending events which were generated by previous actions, clearing the list
+ * in the process.
+ */
public get_and_clear_pending_msg_events(): MessageSendEvent[] {
- const ret: number[] = bindings.MessageSendEventsProvider_get_and_clear_pending_msg_events(this.ptr);
- const ret_conv_18_arr: MessageSendEvent[] = new Array(ret.length).fill(null);
- for (var s = 0; s < ret.length; s++) {
- const ret_conv_18: number = ret[s];
+ const ret: number = bindings.MessageSendEventsProvider_get_and_clear_pending_msg_events(this.ptr);
+ const ret_conv_18_len: number = bindings.getArrayLength(ret);
+ const ret_conv_18_arr: MessageSendEvent[] = new Array(ret_conv_18_len).fill(null);
+ for (var s = 0; s < ret_conv_18_len; s++) {
+ const ret_conv_18: number = bindings.getU32ArrayElem(ret, s);
const ret_conv_18_hu_conv: MessageSendEvent = MessageSendEvent.constr_from_ptr(ret_conv_18);
CommonBase.add_ref_from(ret_conv_18_hu_conv, this);
ret_conv_18_arr[s] = ret_conv_18_hu_conv;
}
+ bindings.freeWasmMemory(ret)
return ret_conv_18_arr;
}