X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMessageSendEvent.java;fp=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMessageSendEvent.java;h=86d9490d9a5009eda18481c95e392b86f58a5fc6;hb=eab9331afd014558a982441138e222999a9955d1;hp=28ba63a5954662ded52df1ee53803ed2a373ff63;hpb=397201c278ded558e45d406967f153770784ff88;p=ldk-java diff --git a/src/main/java/org/ldk/structs/MessageSendEvent.java b/src/main/java/org/ldk/structs/MessageSendEvent.java index 28ba63a5..86d9490d 100644 --- a/src/main/java/org/ldk/structs/MessageSendEvent.java +++ b/src/main/java/org/ldk/structs/MessageSendEvent.java @@ -65,6 +65,9 @@ public class MessageSendEvent extends CommonBase { if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) { return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val); } + if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement.class) { + return new BroadcastNodeAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement)raw_val); + } if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelUpdate.class) { return new SendChannelUpdate(ptr, (bindings.LDKMessageSendEvent.SendChannelUpdate)raw_val); } @@ -369,8 +372,10 @@ public class MessageSendEvent extends CommonBase { public final org.ldk.structs.ChannelAnnouncement msg; /** * The followup channel_update which should be sent. + * + * Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None */ - public final org.ldk.structs.ChannelUpdate update_msg; + @Nullable public final org.ldk.structs.ChannelUpdate update_msg; private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) { super(null, ptr); long msg = obj.msg; @@ -399,6 +404,22 @@ public class MessageSendEvent extends CommonBase { this.msg = msg_hu_conv; } } + /** + * Used to indicate that a node_announcement should be broadcast to all peers. + */ + public final static class BroadcastNodeAnnouncement extends MessageSendEvent { + /** + * The node_announcement which should be sent. + */ + public final org.ldk.structs.NodeAnnouncement msg; + private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) { + super(null, ptr); + long msg = obj.msg; + org.ldk.structs.NodeAnnouncement msg_hu_conv = null; if (msg < 0 || msg > 4096) { msg_hu_conv = new org.ldk.structs.NodeAnnouncement(null, msg); } + if (msg_hu_conv != null) { msg_hu_conv.ptrs_to.add(this); }; + this.msg = msg_hu_conv; + } + } /** * Used to indicate that a channel_update should be sent to a single peer. * In contrast to [`Self::BroadcastChannelUpdate`], this is used when the channel is a @@ -746,6 +767,19 @@ public class MessageSendEvent extends CommonBase { return ret_hu_conv; } + /** + * Utility method to constructs a new BroadcastNodeAnnouncement-variant MessageSendEvent + */ + public static MessageSendEvent broadcast_node_announcement(org.ldk.structs.NodeAnnouncement msg) { + long ret = bindings.MessageSendEvent_broadcast_node_announcement(msg == null ? 0 : msg.ptr); + Reference.reachabilityFence(msg); + if (ret >= 0 && ret <= 4096) { return null; } + org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); }; + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(msg); }; + return ret_hu_conv; + } + /** * Utility method to constructs a new SendChannelUpdate-variant MessageSendEvent */ @@ -770,6 +804,7 @@ public class MessageSendEvent extends CommonBase { if (ret >= 0 && ret <= 4096) { return null; } org.ldk.structs.MessageSendEvent ret_hu_conv = org.ldk.structs.MessageSendEvent.constr_from_ptr(ret); if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); }; + if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(action); }; return ret_hu_conv; }